doc/docgen.zig | 1 + doc/langref.html.in | 2 +- lib/std/builtin.zig | 31 +++-- lib/std/debug.zig | 2 +- lib/std/fs.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 | 4 +- lib/std/zig/render.zig | 25 +++- lib/std/zig/tokenizer.zig | 3 + src-self-hosted/translate_c.zig | 5 +- src-self-hosted/type.zig | 3 +- src/all_types.hpp | 34 ++++-- src/analyze.cpp | 154 +++++++++++++++--------- src/analyze.hpp | 3 +- src/ast_render.cpp | 5 + src/codegen.cpp | 57 +++++++-- src/ir.cpp | 57 +++++++-- src/parser.cpp | 33 ++++-- src/tokenizer.cpp | 2 + src/tokenizer.hpp | 1 + test/compile_errors.zig | 30 ++--- test/stage1/behavior/type_info.zig | 4 +- 50 files changed, 572 insertions(+), 358 deletions(-)