CMakeLists.txt | 13 +- README.md | 10 +- build.zig | 2 +- doc/langref.html.in | 6 +- src-self-hosted/c.zig | 1 + src-self-hosted/c_int.zig | 68 ++ src-self-hosted/codegen.zig | 100 +- src-self-hosted/compilation.zig | 948 ++++++++++++----- src-self-hosted/decl.zig | 14 +- src-self-hosted/errmsg.zig | 269 +++-- src-self-hosted/ir.zig | 1765 ++++++++++++++++++++++++++++---- src-self-hosted/libc_installation.zig | 462 +++++++++ src-self-hosted/link.zig | 724 +++++++++++++ src-self-hosted/llvm.zig | 115 ++- src-self-hosted/main.zig | 147 +-- src-self-hosted/package.zig | 29 + src-self-hosted/parsed_file.zig | 6 - src-self-hosted/scope.zig | 153 ++- src-self-hosted/target.zig | 556 +++++++++- src-self-hosted/test.zig | 105 +- src-self-hosted/type.zig | 511 +++++++-- src-self-hosted/value.zig | 413 +++++++- src/analyze.cpp | 11 +- src/codegen.cpp | 112 +- src/ir.cpp | 89 +- src/link.cpp | 2 +- src/os.cpp | 248 +---- src/os.hpp | 10 +- src/tokenizer.cpp | 21 +- src/windows_sdk.cpp | 352 +++++++ src/windows_sdk.h | 47 + src/zig_llvm.cpp | 5 + src/zig_llvm.h | 6 +- std/array_list.zig | 49 +- std/atomic/int.zig | 4 + std/atomic/queue.zig | 14 + std/buffer.zig | 13 + std/c/darwin.zig | 2 +- std/dwarf.zig | 37 + std/event/future.zig | 39 +- std/event/group.zig | 16 +- std/event/loop.zig | 209 ++-- std/event/tcp.zig | 3 +- std/fmt/index.zig | 8 +- std/index.zig | 3 + std/lazy_init.zig | 85 ++ std/macho.zig | 2 +- std/math/big/int.zig | 165 ++- std/mem.zig | 12 +- std/os/darwin.zig | 88 +- std/os/darwin/errno.zig | 328 ++++++ std/os/darwin_errno.zig | 328 ------ std/os/file.zig | 63 +- std/os/get_app_data_dir.zig | 69 ++ std/os/index.zig | 9 +- std/os/test.zig | 6 +- std/os/windows/advapi32.zig | 30 + std/os/windows/index.zig | 269 ++--- std/os/windows/kernel32.zig | 162 +++ std/os/windows/ole32.zig | 18 + std/os/windows/shell32.zig | 4 + std/os/windows/shlwapi.zig | 4 + std/os/windows/user32.zig | 4 + std/special/test_runner.zig | 20 +- std/unicode.zig | 89 ++ std/zig/index.zig | 3 + std/zig/parse.zig | 2 +- std/zig/parse_string_literal.zig | 76 ++ std/zig/tokenizer.zig | 1 + test/cases/cast.zig | 17 + test/cases/defer.zig | 15 + test/cases/eval.zig | 10 + test/gen_h.zig | 47 + test/stage2/compare_output.zig | 12 + test/stage2/compile_errors.zig | 18 + test/tests.zig | 11 +- 76 files changed, 7872 insertions(+), 1812 deletions(-)