CMakeLists.txt | 2 +- README.md | 11 +- build.zig | 59 +- doc/docgen.zig | 182 +- doc/langref.html.in | 173 +- example/guess_number/main.zig | 2 +- example/hello_world/hello_libc.zig | 5 +- example/mix_o_files/build.zig | 4 +- example/shared_library/build.zig | 4 +- src-self-hosted/arg.zig | 74 +- src-self-hosted/introspect.zig | 4 +- src-self-hosted/ir.zig | 1 - src-self-hosted/main.zig | 171 +- src-self-hosted/module.zig | 18 +- src-self-hosted/target.zig | 4 +- src/all_types.hpp | 14 +- src/analyze.cpp | 12 +- src/analyze.hpp | 2 +- src/ast_render.cpp | 10 +- src/codegen.cpp | 105 +- src/ir.cpp | 177 +- src/parser.cpp | 43 +- src/target.cpp | 64 +- src/target.hpp | 2 + src/translate_c.cpp | 83 +- std/array_list.zig | 63 +- std/atomic/queue.zig | 14 +- std/atomic/stack.zig | 16 +- std/base64.zig | 118 +- std/buf_map.zig | 4 +- std/buf_set.zig | 4 +- std/buffer.zig | 11 +- std/build.zig | 208 +-- std/c/darwin.zig | 2 +- std/c/index.zig | 12 +- std/crypto/blake2.zig | 507 +++--- std/crypto/hmac.zig | 4 +- std/crypto/md5.zig | 138 +- std/crypto/sha1.zig | 86 +- std/crypto/sha2.zig | 861 +++++----- std/crypto/sha3.zig | 281 ++-- std/crypto/test.zig | 3 +- std/crypto/throughput_test.zig | 2 +- std/cstr.zig | 4 +- std/debug/failing_allocator.zig | 4 +- std/debug/index.zig | 235 ++- std/dwarf.zig | 2 - std/elf.zig | 42 +- std/event.zig | 66 +- std/fmt/errol/enum3.zig | 7 +- std/fmt/errol/index.zig | 57 +- std/fmt/errol/lookup.zig | 1200 ++++++------- std/fmt/index.zig | 238 ++- std/hash/adler.zig | 17 +- std/hash/crc.zig | 35 +- std/hash/fnv.zig | 6 +- std/hash/siphash.zig | 6 +- std/hash_map.zig | 102 +- std/heap.zig | 96 +- std/io.zig | 65 +- std/io_test.zig | 2 +- std/json.zig | 173 +- std/json_test.zig | 96 +- std/linked_list.zig | 95 +- std/macho.zig | 20 +- std/math/acos.zig | 14 +- std/math/asin.zig | 18 +- std/math/atan.zig | 32 +- std/math/atan2.zig | 64 +- std/math/cbrt.zig | 10 +- std/math/ceil.zig | 4 +- std/math/complex/exp.zig | 28 +- std/math/complex/index.zig | 22 +- std/math/complex/ldexp.zig | 17 +- std/math/complex/tanh.zig | 4 +- std/math/cos.zig | 12 +- std/math/exp.zig | 30 +- std/math/exp2.zig | 280 +-- std/math/expm1.zig | 24 +- std/math/floor.zig | 4 +- std/math/fma.zig | 7 +- std/math/hypot.zig | 8 +- std/math/index.zig | 77 +- std/math/ln.zig | 6 +- std/math/log10.zig | 18 +- std/math/log1p.zig | 3 +- std/math/log2.zig | 7 +- std/math/pow.zig | 1 - std/math/round.zig | 8 +- std/math/sin.zig | 12 +- std/math/tan.zig | 6 +- std/mem.zig | 207 ++- std/net.zig | 18 +- std/os/child_process.zig | 191 ++- std/os/darwin.zig | 346 ++-- std/os/darwin_errno.zig | 402 +++-- std/os/epoch.zig | 46 +- std/os/file.zig | 59 +- std/os/get_user_id.zig | 6 +- std/os/index.zig | 268 ++- std/os/linux/errno.zig | 569 +++++-- std/os/linux/index.zig | 376 ++--- std/os/linux/test.zig | 12 +- std/os/linux/vdso.zig | 20 +- std/os/linux/x86_64.zig | 114 +- std/os/path.zig | 95 +- std/os/test.zig | 2 +- std/os/time.zig | 71 +- std/os/windows/error.zig | 1188 +++++++++++++ std/os/windows/index.zig | 178 +- std/os/windows/util.zig | 37 +- std/os/zen.zig | 138 +- std/rand/index.zig | 92 +- std/rand/ziggurat.zig | 30 +- std/segmented_list.zig | 76 +- std/sort.zig | 563 +++++-- std/special/bootstrap.zig | 12 +- std/special/bootstrap_lib.zig | 8 +- std/special/build_runner.zig | 6 +- std/special/builtin.zig | 60 +- std/special/compiler_rt/comparetf2.zig | 61 +- 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/fixunsdfti_test.zig | 1 - std/special/compiler_rt/fixunssfti.zig | 1 - std/special/compiler_rt/fixunstfti.zig | 1 - std/special/compiler_rt/index.zig | 826 +++++++-- std/special/compiler_rt/udivmod.zig | 43 +- std/special/compiler_rt/udivmodti4.zig | 2 +- std/special/compiler_rt/umodti3.zig | 2 +- std/unicode.zig | 22 +- std/zig/ast.zig | 263 +-- std/zig/parse.zig | 2529 +++++++++++++--------------- std/zig/parser_test.zig | 740 +++++++- std/zig/render.zig | 2899 +++++++++++++++++++------------- std/zig/tokenizer.zig | 305 ++-- test/behavior.zig | 6 +- test/build_examples.zig | 2 +- test/cases/align.zig | 86 +- test/cases/alignof.zig | 6 +- test/cases/array.zig | 39 +- test/cases/bitcast.zig | 8 +- test/cases/bugs/394.zig | 15 +- test/cases/bugs/655.zig | 2 +- test/cases/bugs/656.zig | 9 +- test/cases/bugs/828.zig | 18 +- test/cases/bugs/920.zig | 19 +- test/cases/cast.zig | 55 +- test/cases/const_slice_child.zig | 2 +- test/cases/coroutines.zig | 29 +- test/cases/defer.zig | 15 +- test/cases/enum.zig | 600 ++++++- test/cases/enum_with_members.zig | 6 +- test/cases/error.zig | 52 +- test/cases/eval.zig | 156 +- test/cases/field_parent_ptr.zig | 2 +- test/cases/fn.zig | 44 +- test/cases/fn_in_struct_in_comptime.zig | 2 +- test/cases/for.zig | 44 +- test/cases/generics.zig | 44 +- test/cases/if.zig | 1 - test/cases/import/a_namespace.zig | 4 +- test/cases/incomplete_struct_param_tld.zig | 8 +- test/cases/ir_block_deps.zig | 4 +- test/cases/math.zig | 94 +- test/cases/misc.zig | 213 ++- test/cases/namespace_depends_on_compile_var/index.zig | 2 +- test/cases/new_stack_call.zig | 26 + test/cases/null.zig | 31 +- test/cases/pointers.zig | 14 + test/cases/ref_var_in_if_after_if_2nd_switch_prong.zig | 2 +- test/cases/reflection.zig | 7 +- test/cases/slice.zig | 8 +- test/cases/struct.zig | 79 +- test/cases/struct_contains_null_ptr_itself.zig | 1 - test/cases/struct_contains_slice_of_itself.zig | 14 +- test/cases/switch.zig | 31 +- test/cases/switch_prong_err_enum.zig | 6 +- test/cases/switch_prong_implicit_cast.zig | 4 +- test/cases/syntax.zig | 7 - test/cases/this.zig | 2 +- test/cases/try.zig | 5 +- test/cases/type_info.zig | 326 ++-- test/cases/undefined.zig | 4 +- test/cases/union.zig | 91 +- test/cases/var_args.zig | 25 +- test/cases/void.zig | 2 +- test/cases/while.zig | 65 +- test/compare_output.zig | 12 +- test/compile_errors.zig | 2244 ++++++++++++++++-------- test/gen_h.zig | 1 - test/standalone/brace_expansion/main.zig | 30 +- test/standalone/issue_339/test.zig | 5 +- test/standalone/pkg_import/pkg.zig | 4 +- test/standalone/use_alias/main.zig | 2 +- test/tests.zig | 190 +-- test/translate_c.zig | 149 +- 198 files changed, 15364 insertions(+), 9347 deletions(-)