Andrew Kelley 581edd643f
backport copy elision changes
This commit contains everything from the copy-elision-2
branch that does not have to do with copy elision directly,
but is generally useful for master branch.

 * All const values know their parents, when applicable, not
   just structs and unions.
 * Null pointers in const values are represented explicitly,
   rather than as a HardCodedAddr value of 0.
 * Rename "maybe" to "optional" in various code locations.
 * Separate DeclVarSrc and DeclVarGen
 * Separate PtrCastSrc and PtrCastGen
 * Separate CmpxchgSrc and CmpxchgGen
 * Represent optional error set as an integer, using the 0 value.
   In a const value, it uses nullptr.
 * Introduce type_has_one_possible_value and use it where applicable.
 * Fix debug builds not setting memory to 0xaa when storing
   undefined.
 * Separate the type of a variable from the const value of a variable.
 * Use copy_const_val where appropriate.
 * Rearrange structs to pack data more efficiently.
 * Move test/cases/* to test/behavior/*
 * Use `std.debug.assertOrPanic` in behavior tests instead of
   `std.debug.assert`.
 * Fix outdated slice syntax in docs.
2019-01-29 22:30:30 -05:00
..
2018-11-18 19:43:13 -05:00
2019-01-04 16:31:57 -05:00
2019-01-29 22:30:30 -05:00
2018-12-02 18:36:18 -05:00
2018-11-25 11:48:11 -05:00
2018-11-17 01:38:35 -05:00
2018-12-20 22:53:54 +09:00
2018-11-16 14:03:39 -05:00
2018-12-13 17:13:10 -05:00
2018-11-13 05:08:37 -08:00
2018-11-13 05:08:37 -08:00
2018-12-05 14:10:09 +01:00
2018-11-13 05:08:37 -08:00
2018-09-30 17:28:35 -04:00
2018-11-13 05:08:37 -08:00
2018-11-27 00:52:32 -05:00
2018-11-13 05:08:37 -08:00
2018-11-29 09:44:24 -05:00
2018-11-13 05:08:37 -08:00
2018-11-13 05:08:37 -08:00
2018-11-19 10:53:25 -05:00
2018-11-13 05:08:37 -08:00
2018-11-13 05:08:37 -08:00