doc/docgen.zig | 1 + lib/std/builtin.zig | 10 ++ lib/std/mem.zig | 2 + lib/std/meta.zig | 3 + lib/std/zig/Ast.zig | 54 +++++- lib/std/zig/c_translation.zig | 1 + lib/std/zig/parse.zig | 107 ++++++++--- lib/std/zig/parser_test.zig | 34 ++-- lib/std/zig/render.zig | 48 ++++- lib/std/zig/tokenizer.zig | 3 + src/AstGen.zig | 51 +++++- src/Module.zig | 145 ++++++++++----- src/Sema.zig | 303 +++++++++++++++++++++++++------- src/Zir.zig | 47 +++-- src/codegen.zig | 2 +- src/codegen/c.zig | 2 +- src/codegen/llvm.zig | 38 +++- src/codegen/llvm/bindings.zig | 68 +++++++ src/print_zir.zig | 14 +- src/stage1/all_types.hpp | 8 + src/stage1/analyze.cpp | 10 ++ src/stage1/analyze.hpp | 2 + src/stage1/ir.cpp | 67 ++++--- src/target.zig | 18 ++ src/translate_c/ast.zig | 3 + src/type.zig | 128 ++++++++++++-- src/value.zig | 5 + src/zig_llvm.cpp | 5 + src/zig_llvm.h | 3 + test/behavior/type.zig | 1 + test/cases.zig | 12 ++ test/compile_errors.zig | 18 ++ test/stage2/llvm.zig | 180 +++++++++++++++++++ 33 files changed, 1173 insertions(+), 220 deletions(-)