lib/std/builtin.zig | 8 +- src/AstGen.zig | 10 +- src/Module.zig | 119 ++++++- src/Sema.zig | 576 ++++++++++++++++++++++++++------ src/codegen/llvm.zig | 4 + src/target.zig | 9 + src/type.zig | 229 +++---------- src/value.zig | 12 +- test/behavior.zig | 21 +- test/behavior/align.zig | 20 ++ test/behavior/align_stage1.zig | 17 - test/behavior/basic.zig | 4 +- test/behavior/basic_llvm.zig | 4 +- test/behavior/bugs/1500.zig | 2 +- test/behavior/bugs/3112.zig | 5 +- test/behavior/cast_llvm.zig | 6 +- test/behavior/comptime_memory.zig | 99 +++++- test/behavior/error.zig | 1 + test/behavior/fn.zig | 12 +- test/behavior/inttoptr.zig | 12 +- test/behavior/member_func.zig | 10 +- test/behavior/slice.zig | 13 + test/behavior/slice_stage2.zig | 12 - test/behavior/union.zig | 5 +- 24 files changed, 856 insertions(+), 354 deletions(-)