doc/docgen.zig | 1 + doc/langref.html.in | 67 +++- src-self-hosted/codegen.zig | 42 +-- src-self-hosted/compilation.zig | 22 +- src-self-hosted/ir.zig | 20 +- src-self-hosted/libc_installation.zig | 20 +- src-self-hosted/llvm.zig | 181 +++++++--- src-self-hosted/scope.zig | 2 +- src-self-hosted/target.zig | 4 +- src-self-hosted/type.zig | 44 +-- src-self-hosted/value.zig | 18 +- src/all_types.hpp | 16 +- src/analyze.cpp | 97 ++++- src/analyze.hpp | 5 +- src/ast_render.cpp | 27 +- src/ast_render.hpp | 3 - src/codegen.cpp | 43 ++- src/ir.cpp | 617 +++++++++++++++++++++++--------- src/parser.cpp | 10 +- src/target.cpp | 4 + src/target.hpp | 1 + src/tokenizer.cpp | 19 +- src/tokenizer.hpp | 1 + src/translate_c.cpp | 40 ++- std/fmt/index.zig | 3 + std/hash_map.zig | 2 + std/meta/index.zig | 9 +- std/os/darwin.zig | 2 +- std/testing.zig | 3 +- std/zig/parse.zig | 7 +- std/zig/parser_test.zig | 7 + std/zig/tokenizer.zig | 23 +- test/compile_errors.zig | 226 +++++++++--- test/runtime_safety.zig | 10 + test/stage1/behavior/pointers.zig | 82 +++++ test/stage1/behavior/type_info.zig | 15 + test/translate_c.zig | 62 ++-- 37 files changed, 1308 insertions(+), 447 deletions(-)