CMakeLists.txt | 16 +- build.zig | 3 +- doc/docgen.zig | 4 +- src-self-hosted/arg.zig | 4 +- src-self-hosted/compilation.zig | 2 +- src-self-hosted/decl.zig | 2 +- src-self-hosted/main.zig | 2 +- src-self-hosted/package.zig | 2 +- src-self-hosted/stage1.zig | 4 +- src/all_types.hpp | 2 + src/analyze.cpp | 15 +- src/analyze.hpp | 2 + src/codegen.cpp | 47 +++++- src/ir.cpp | 98 +++++++----- src/link.cpp | 6 + src/main.cpp | 9 ++ src/zig_llvm.cpp | 1 + std/buf_map.zig | 4 +- std/buf_set.zig | 4 +- std/build.zig | 53 +++--- std/fmt/parse_float.zig | 14 +- std/hash_map.zig | 4 +- std/json.zig | 4 +- std/mem.zig | 38 ++--- std/special/build_runner.zig | 2 + std/zig/parser_test.zig | 88 ++++++++++ std/zig/render.zig | 43 +++-- test/compile_errors.zig | 9 ++ test/stack_traces.zig | 274 ++++++++++++++++++++++++++++++++ test/stage1/behavior.zig | 1 + test/stage1/behavior/async_fn.zig | 61 +++++++ test/stage1/behavior/bugs/2692.zig | 6 + test/stage1/behavior/if.zig | 11 ++ test/stage1/behavior/struct.zig | 33 ++++ test/stage1/behavior/union.zig | 10 ++ test/tests.zig | 210 ++++++++++++++++++++++++ 36 files changed, 964 insertions(+), 124 deletions(-)