CMakeLists.txt | 1 - build.zig | 17 +- ci/drone/linux_script | 3 +- ci/srht/freebsd_script | 3 +- doc/docgen.zig | 22 +- doc/langref.html.in | 47 +- lib/libc/glibc/abi.txt | 135 + lib/libc/glibc/fns.txt | 9 + lib/std/build.zig | 58 +- lib/std/build/run.zig | 4 +- lib/std/build/write_file.zig | 2 +- lib/std/c.zig | 1 + lib/std/crypto/aes.zig | 38 +- lib/std/crypto/blake2.zig | 11 +- lib/std/crypto/chacha20.zig | 61 +- lib/std/crypto/md5.zig | 3 +- lib/std/crypto/poly1305.zig | 29 +- lib/std/crypto/sha1.zig | 3 +- lib/std/crypto/sha2.zig | 6 +- lib/std/crypto/sha3.zig | 5 +- lib/std/crypto/x25519.zig | 41 +- lib/std/debug.zig | 55 +- lib/std/dwarf.zig | 3 +- lib/std/fmt.zig | 3 +- lib/std/fs.zig | 544 ++- lib/std/fs/watch.zig | 2 +- lib/std/hash/auto_hash.zig | 12 +- lib/std/hash/siphash.zig | 6 +- lib/std/hash/wyhash.zig | 2 +- lib/std/io/serialization.zig | 6 +- lib/std/json.zig | 23 +- lib/std/math/big/int.zig | 29 +- lib/std/mem.zig | 212 +- lib/std/meta.zig | 65 +- lib/std/meta/trait.zig | 12 +- lib/std/net.zig | 10 +- lib/std/os.zig | 166 +- lib/std/os/bits/dragonfly.zig | 2 + lib/std/os/bits/freebsd.zig | 2 + lib/std/os/bits/linux.zig | 2 + lib/std/os/bits/netbsd.zig | 2 + lib/std/os/linux.zig | 16 +- lib/std/os/test.zig | 56 +- lib/std/os/windows.zig | 86 +- lib/std/os/windows/bits.zig | 7 + lib/std/rand.zig | 2 +- lib/std/special/compiler_rt/floatundisf.zig | 38 +- lib/std/start.zig | 4 + lib/std/thread.zig | 51 +- lib/std/unicode.zig | 20 +- lib/std/zig/ast.zig | 157 +- lib/std/zig/parse.zig | 694 ++-- lib/std/zig/parser_test.zig | 84 + lib/std/zig/render.zig | 62 +- lib/std/zig/system.zig | 5 +- lib/std/zig/tokenizer.zig | 495 ++- src-self-hosted/c_int.zig | 8 +- src-self-hosted/clang_options.zig | 126 + src-self-hosted/clang_options_data.zig | 5702 ++++++++++++++++++++++++++++++++ src-self-hosted/compilation.zig | 33 +- src-self-hosted/errmsg.zig | 11 +- src-self-hosted/ir.zig | 17 +- src-self-hosted/libc_installation.zig | 10 +- src-self-hosted/link.zig | 112 +- src-self-hosted/main.zig | 103 +- src-self-hosted/print_targets.zig | 2 +- src-self-hosted/stage2.zig | 189 +- src-self-hosted/test.zig | 4 +- src-self-hosted/translate_c.zig | 26 +- src-self-hosted/util.zig | 15 +- src/all_types.hpp | 10 + src/analyze.cpp | 56 +- src/analyze.hpp | 2 +- src/codegen.cpp | 183 +- src/error.cpp | 4 + src/glibc.cpp | 10 + src/ir.cpp | 628 +++- src/link.cpp | 11 +- src/main.cpp | 315 +- src/os.cpp | 24 + src/os.hpp | 1 + src/parse_f128.c | 79 +- src/parser.cpp | 11 +- src/stage2.cpp | 12 + src/stage2.h | 47 + src/tokenizer.cpp | 145 +- test/cli.zig | 2 +- test/compare_output.zig | 2 +- test/compile_errors.zig | 193 +- test/runtime_safety.zig | 2 +- test/stage1/behavior/align.zig | 36 +- test/stage1/behavior/array.zig | 38 + test/stage1/behavior/cast.zig | 3 +- test/stage1/behavior/defer.zig | 21 +- test/stage1/behavior/eval.zig | 2 +- test/stage1/behavior/math.zig | 28 + test/stage1/behavior/misc.zig | 14 +- test/stage1/behavior/pointers.zig | 9 +- test/stage1/behavior/ptrcast.zig | 2 +- test/stage1/behavior/slice.zig | 181 +- test/stage1/behavior/struct.zig | 4 +- test/stage1/behavior/union.zig | 28 + test/standalone/mix_o_files/test.c | 8 +- test/standalone/shared_library/test.c | 8 +- tools/process_headers.zig | 22 +- tools/update_clang_options.zig | 460 +++ tools/update_glibc.zig | 29 +- 107 files changed, 10674 insertions(+), 1748 deletions(-)