build.zig | 59 +- doc/langref.html.in | 66 +- src-self-hosted/arg.zig | 74 +- src-self-hosted/module.zig | 18 +- src-self-hosted/target.zig | 7 +- src/all_types.hpp | 7 +- src/analyze.cpp | 1 + src/ast_render.cpp | 10 +- src/ir.cpp | 14 +- src/parser.cpp | 43 +- src/translate_c.cpp | 83 +- std/array_list.zig | 54 +- std/atomic/queue.zig | 12 +- std/atomic/stack.zig | 16 +- std/buffer.zig | 11 +- std/build.zig | 207 ++-- std/crypto/blake2.zig | 711 +++++++---- std/crypto/hmac.zig | 4 +- std/crypto/sha3.zig | 281 +++-- std/crypto/test.zig | 3 +- std/debug/index.zig | 233 ++-- std/event.zig | 53 +- std/fmt/errol/index.zig | 54 +- std/fmt/index.zig | 88 +- std/hash/crc.zig | 32 +- std/hash_map.zig | 102 +- std/heap.zig | 106 +- std/io.zig | 65 +- std/json.zig | 207 ++-- std/linked_list.zig | 95 +- std/math/acos.zig | 14 +- std/math/asin.zig | 18 +- std/math/atan2.zig | 66 +- std/math/cbrt.zig | 10 +- std/math/ceil.zig | 4 +- std/math/complex/exp.zig | 28 +- std/math/complex/ldexp.zig | 17 +- std/math/cos.zig | 12 +- std/math/floor.zig | 4 +- std/math/fma.zig | 7 +- std/math/hypot.zig | 8 +- std/math/index.zig | 75 +- std/math/ln.zig | 6 +- std/math/log10.zig | 18 +- std/math/log2.zig | 7 +- std/math/round.zig | 8 +- std/math/sin.zig | 12 +- std/math/tan.zig | 6 +- std/mem.zig | 197 +-- std/net.zig | 40 +- std/os/child_process.zig | 192 +-- std/os/darwin.zig | 282 +++-- std/os/index.zig | 80 +- std/os/linux/index.zig | 379 +++--- std/segmented_list.zig | 54 +- std/sort.zig | 562 ++++++--- std/special/bootstrap.zig | 8 +- std/special/compiler_rt/fixuint.zig | 6 +- std/special/compiler_rt/fixunsdfdi.zig | 1 - std/special/compiler_rt/fixunsdfsi.zig | 1 - std/special/compiler_rt/fixunssfti.zig | 1 - std/special/compiler_rt/fixunstfti.zig | 1 - std/special/compiler_rt/index.zig | 818 ++++++++++--- std/special/compiler_rt/udivmod.zig | 43 +- std/special/compiler_rt/udivmodti4.zig | 2 +- std/special/compiler_rt/umodti3.zig | 2 +- std/zig/ast.zig | 75 +- std/zig/parse.zig | 2091 ++++++++++++++------------------ std/zig/render.zig | 93 +- test/behavior.zig | 1 + test/cases/align.zig | 86 +- test/cases/alignof.zig | 6 +- test/cases/array.zig | 41 +- test/cases/bitcast.zig | 8 +- test/cases/bugs/394.zig | 17 +- test/cases/bugs/655.zig | 2 +- test/cases/bugs/656.zig | 11 +- test/cases/bugs/828.zig | 10 +- test/cases/bugs/920.zig | 19 +- test/cases/cast.zig | 70 +- test/cases/coroutines.zig | 18 +- test/cases/defer.zig | 15 +- test/cases/enum.zig | 606 ++++++++- test/cases/enum_with_members.zig | 10 +- test/cases/error.zig | 56 +- test/cases/eval.zig | 143 ++- test/cases/fn.zig | 44 +- test/cases/for.zig | 44 +- test/cases/generics.zig | 42 +- test/cases/if.zig | 1 - test/cases/import/a_namespace.zig | 4 +- test/cases/ir_block_deps.zig | 4 +- test/cases/math.zig | 92 +- test/cases/misc.zig | 225 ++-- test/cases/namespace_depends_on_compile_var/index.zig | 2 +- test/cases/new_stack_call.zig | 2 +- test/cases/null.zig | 27 +- test/cases/pointers.zig | 14 + test/cases/ref_var_in_if_after_if_2nd_switch_prong.zig | 2 +- test/cases/reflection.zig | 5 +- test/cases/slice.zig | 8 +- test/cases/struct.zig | 83 +- test/cases/struct_contains_null_ptr_itself.zig | 1 - test/cases/struct_contains_slice_of_itself.zig | 2 +- test/cases/switch.zig | 49 +- test/cases/switch_prong_err_enum.zig | 8 +- test/cases/switch_prong_implicit_cast.zig | 8 +- test/cases/try.zig | 8 +- test/cases/undefined.zig | 4 +- test/cases/union.zig | 86 +- test/cases/var_args.zig | 25 +- test/cases/while.zig | 65 +- test/compare_output.zig | 4 +- test/compile_errors.zig | 30 +- test/standalone/brace_expansion/main.zig | 43 +- test/tests.zig | 190 ++- test/translate_c.zig | 100 +- 117 files changed, 6037 insertions(+), 4268 deletions(-)