README.md | 2 +- doc/langref.html.in | 16 + lib/libc/include/aarch64-linux-musl/bits/alltypes.h | 406 ++++++++++++++++ lib/libc/include/aarch64-linux-musl/bits/syscall.h | 567 +++++++++++++++++++++ lib/libc/include/arm-linux-musl/bits/alltypes.h | 390 +++++++++++++++ lib/libc/include/arm-linux-musl/bits/syscall.h | 774 +++++++++++++++++++++++++++++ lib/libc/include/generic-musl/bits/alltypes.h | 406 ---------------- lib/libc/include/generic-musl/bits/syscall.h | 567 --------------------- lib/libc/include/i386-linux-musl/bits/alltypes.h | 438 +++++++++++++++++ lib/libc/include/i386-linux-musl/bits/syscall.h | 839 ++++++++++++++++++++++++++++++++ lib/libc/include/mips-linux-musl/bits/alltypes.h | 390 +++++++++++++++ lib/libc/include/mips-linux-musl/bits/syscall.h | 805 ++++++++++++++++++++++++++++++ lib/libc/include/mips64-linux-musl/bits/alltypes.h | 396 +++++++++++++++ lib/libc/include/mips64-linux-musl/bits/syscall.h | 665 +++++++++++++++++++++++++ lib/libc/include/powerpc-linux-musl/bits/alltypes.h | 390 +++++++++++++++ lib/libc/include/powerpc-linux-musl/bits/syscall.h | 819 +++++++++++++++++++++++++++++++ lib/libc/include/powerpc64-linux-musl/bits/alltypes.h | 390 +++++++++++++++ lib/libc/include/powerpc64-linux-musl/bits/syscall.h | 763 +++++++++++++++++++++++++++++ lib/libc/include/riscv64-linux-musl/bits/alltypes.h | 401 +++++++++++++++ lib/libc/include/riscv64-linux-musl/bits/syscall.h | 554 +++++++++++++++++++++ lib/libc/include/s390x-linux-musl/bits/alltypes.h | 390 +++++++++++++++ lib/libc/include/s390x-linux-musl/bits/syscall.h | 693 ++++++++++++++++++++++++++ lib/libc/include/x86_64-linux-musl/bits/alltypes.h | 403 +++++++++++++++ lib/libc/include/x86_64-linux-musl/bits/syscall.h | 679 ++++++++++++++++++++++++++ src/all_types.hpp | 25 +- src/analyze.cpp | 216 ++++++-- src/analyze.hpp | 6 + src/ast_render.cpp | 2 +- src/codegen.cpp | 168 +++++-- src/error.cpp | 2 + src/ir.cpp | 700 ++++++++++++++++++-------- src/ir_print.cpp | 385 ++++++++++++++- src/ir_print.hpp | 4 +- src/link.cpp | 6 + src/main.cpp | 9 + src/os.cpp | 30 +- src/os.hpp | 8 - src/parser.cpp | 2 +- src/target.cpp | 15 +- src/userland.h | 2 + std/array_list.zig | 5 + std/build.zig | 15 +- std/mem.zig | 35 +- std/os/windows.zig | 7 +- std/special/compiler_rt/comparetf2.zig | 13 +- std/zig/parser_test.zig | 21 + std/zig/render.zig | 6 +- test/compile_errors.zig | 26 +- test/stage1/behavior.zig | 1 + test/stage1/behavior/align.zig | 25 +- test/stage1/behavior/async_fn.zig | 252 +++++++++- test/stage1/behavior/bugs/2692.zig | 6 + test/stage1/behavior/if.zig | 11 + test/stage1/behavior/sizeof_and_typeof.zig | 41 ++ tools/process_headers.zig | 4 +- 55 files changed, 12843 insertions(+), 1348 deletions(-)