doc/docgen.zig | 1 + doc/langref.html.in | 2 +- lib/std/build/translate_c.zig | 32 +++-- lib/std/builtin.zig | 32 +++-- lib/std/debug.zig | 2 +- lib/std/mutex.zig | 27 ++--- lib/std/net.zig | 6 +- lib/std/os/linux/arm-eabi.zig | 4 +- lib/std/os/linux/arm64.zig | 2 +- lib/std/os/linux/i386.zig | 4 +- lib/std/os/linux/mipsel.zig | 4 +- lib/std/os/linux/riscv64.zig | 2 +- lib/std/os/linux/x86_64.zig | 2 +- lib/std/os/test.zig | 2 +- lib/std/os/uefi/protocols/simple_text_input_protocol.zig | 1 - lib/std/os/windows/advapi32.zig | 10 +- lib/std/os/windows/bits.zig | 2 +- lib/std/os/windows/kernel32.zig | 200 ++++++++++++++++---------------- lib/std/os/windows/ntdll.zig | 38 +++--- lib/std/os/windows/ole32.zig | 8 +- lib/std/os/windows/shell32.zig | 2 +- lib/std/os/windows/ws2_32.zig | 46 ++++---- lib/std/reset_event.zig | 26 ++--- lib/std/special/c.zig | 2 +- lib/std/special/compiler_rt.zig | 10 +- lib/std/special/compiler_rt/arm/aeabi_dcmp.zig | 10 +- lib/std/special/compiler_rt/arm/aeabi_fcmp.zig | 10 +- lib/std/special/compiler_rt/aulldiv.zig | 4 +- lib/std/special/compiler_rt/aullrem.zig | 4 +- lib/std/special/compiler_rt/stack_probe.zig | 12 +- lib/std/spinlock.zig | 12 +- lib/std/start.zig | 8 +- lib/std/zig/ast.zig | 1 + lib/std/zig/parse.zig | 13 +++ lib/std/zig/parser_test.zig | 16 ++- lib/std/zig/render.zig | 25 +++- lib/std/zig/tokenizer.zig | 3 + src-self-hosted/translate_c.zig | 21 +++- src-self-hosted/type.zig | 3 +- src/all_types.hpp | 35 ++++-- src/analyze.cpp | 173 +++++++++++++++++---------- src/analyze.hpp | 3 +- src/ast_render.cpp | 5 + src/codegen.cpp | 116 ++++++++++++------ src/ir.cpp | 58 +++++++-- src/parser.cpp | 33 ++++-- src/tokenizer.cpp | 2 + src/tokenizer.hpp | 1 + src/zig_llvm.cpp | 53 ++++++++- src/zig_llvm.h | 51 +++++++- test/compile_errors.zig | 30 ++--- test/src/translate_c.zig | 14 +++ test/stage1/behavior/type_info.zig | 4 +- test/translate_c.zig | 48 ++++++-- 54 files changed, 822 insertions(+), 413 deletions(-)