CMakeLists.txt | 17 +- README.md | 2 +- build.zig | 36 +- doc/docgen.zig | 41 +- doc/langref.html.in | 92 +- example/mix_o_files/build.zig | 2 +- example/shared_library/build.zig | 2 +- libc/process_headers.zig | 3 +- src-self-hosted/arg.zig | 8 +- src-self-hosted/c_int.zig | 2 +- src-self-hosted/compilation.zig | 26 +- src-self-hosted/dep_tokenizer.zig | 11 +- src-self-hosted/introspect.zig | 4 +- src-self-hosted/libc_installation.zig | 16 +- src-self-hosted/link.zig | 4 +- src-self-hosted/main.zig | 20 +- src-self-hosted/stage1.zig | 2 +- src-self-hosted/value.zig | 4 +- src/all_types.hpp | 22 +- src/analyze.cpp | 42 +- src/analyze.hpp | 1 + src/ast_render.cpp | 8 + src/buffer.hpp | 2 + src/codegen.cpp | 81 +- src/ir.cpp | 96 +- src/libc_installation.cpp | 6 +- src/link.cpp | 3 +- src/main.cpp | 29 +- src/os.cpp | 56 +- src/os.hpp | 4 +- src/parser.cpp | 58 +- src/target.cpp | 4 + src/target.hpp | 1 + src/tokenizer.cpp | 21 + src/tokenizer.hpp | 1 + std/array_list.zig | 10 +- std/ascii.zig | 16 +- std/atomic/queue.zig | 30 +- std/atomic/stack.zig | 7 +- std/base64.zig | 6 +- std/buf_map.zig | 5 +- std/buf_set.zig | 5 +- std/build.zig | 34 +- std/c/darwin.zig | 2 +- std/child_process.zig | 45 +- std/coff.zig | 2 +- std/crypto.zig | 3 + std/crypto/blake2.zig | 52 +- std/crypto/chacha20.zig | 50 +- std/crypto/gimli.zig | 168 + std/crypto/md5.zig | 12 +- std/crypto/sha1.zig | 14 +- std/crypto/sha2.zig | 12 +- std/crypto/sha3.zig | 18 +- std/crypto/x25519.zig | 2 +- std/debug.zig | 24 +- std/event/channel.zig | 5 +- std/event/fs.zig | 9 +- std/event/future.zig | 5 +- std/event/group.zig | 5 +- std/event/lock.zig | 5 +- std/event/loop.zig | 12 +- std/event/net.zig | 2 +- std/event/rwlock.zig | 5 +- std/fmt.zig | 463 +- std/fmt/errol.zig | 2 +- std/fmt/errol/enum3.zig | 4 +- std/fmt/errol/lookup.zig | 2 +- std/fmt/parse_float.zig | 2 +- std/fs.zig | 8 +- std/fs/get_app_data_dir.zig | 6 +- std/fs/path.zig | 126 +- std/hash/adler.zig | 6 +- std/hash/siphash.zig | 4 +- std/hash_map.zig | 63 +- std/heap.zig | 41 +- std/io.zig | 20 +- std/io/test.zig | 12 +- std/linked_list.zig | 198 +- std/math.zig | 32 +- std/math/atan.zig | 12 +- std/math/big/int.zig | 8 +- std/math/big/rational.zig | 4 +- std/math/exp.zig | 4 +- std/math/exp2.zig | 4 +- std/mem.zig | 127 +- std/meta.zig | 4 +- std/meta/trait.zig | 10 +- std/mutex.zig | 7 +- std/net.zig | 2 +- std/os.zig | 8 +- std/os/bits/linux.zig | 149 +- std/os/linux.zig | 20 + std/os/linux/test.zig | 2 +- std/os/windows.zig | 13 +- std/packed_int_array.zig | 21 +- std/priority_queue.zig | 16 +- std/process.zig | 18 +- std/rand.zig | 120 +- std/segmented_list.zig | 14 +- std/sort.zig | 106 +- std/special/build_runner.zig | 5 +- std/special/compiler_rt.zig | 660 +- std/special/compiler_rt/comparedf2_test.zig | 2 +- std/special/compiler_rt/comparesf2_test.zig | 2 +- std/special/compiler_rt/udivmoddi4_test.zig | 41186 +++++----- std/special/compiler_rt/udivmodti4_test.zig | 130562 ++++++++++++++++---------------- std/statically_initialized_mutex.zig | 7 +- std/std.zig | 3 +- std/testing.zig | 6 +- std/zig/tokenizer.zig | 84 +- test/cli.zig | 25 +- test/compare_output.zig | 6 +- test/compile_errors.zig | 114 +- test/runtime_safety.zig | 20 +- test/stage1/behavior/align.zig | 12 +- test/stage1/behavior/array.zig | 46 +- test/stage1/behavior/bit_shifting.zig | 2 +- test/stage1/behavior/bugs/1381.zig | 2 +- test/stage1/behavior/bugs/1607.zig | 2 +- test/stage1/behavior/bugs/1914.zig | 4 +- test/stage1/behavior/cancel.zig | 10 +- test/stage1/behavior/cast.zig | 14 +- test/stage1/behavior/const_slice_child.zig | 2 +- test/stage1/behavior/coroutine_await_struct.zig | 7 +- test/stage1/behavior/coroutines.zig | 48 +- test/stage1/behavior/enum.zig | 2 +- test/stage1/behavior/eval.zig | 22 +- test/stage1/behavior/fn.zig | 2 +- test/stage1/behavior/for.zig | 6 +- test/stage1/behavior/generics.zig | 6 +- test/stage1/behavior/math.zig | 10 +- test/stage1/behavior/misc.zig | 16 +- test/stage1/behavior/ptrcast.zig | 4 +- test/stage1/behavior/slice.zig | 19 +- test/stage1/behavior/struct.zig | 8 +- test/stage1/behavior/struct_contains_slice_of_itself.zig | 24 +- test/stage1/behavior/type_info.zig | 27 +- test/stage1/behavior/underscore.zig | 4 +- test/stage1/behavior/union.zig | 6 +- test/stage1/behavior/var_args.zig | 2 +- test/stage1/c_abi/build.zig | 2 +- test/standalone/brace_expansion/main.zig | 5 +- test/standalone/static_c_lib/build.zig | 2 +- test/tests.zig | 36 +- 145 files changed, 88413 insertions(+), 87571 deletions(-)