lib/std/zig/Ast.zig | 32 +++++++++ lib/std/zig/parse.zig | 8 +++ lib/std/zig/render.zig | 8 +++ lib/std/zig/tokenizer.zig | 79 ++++++++++++++++++++ src/Air.zig | 22 ++++++ src/AstGen.zig | 124 +++++++++++++++++++++++++++++++- src/Liveness.zig | 4 ++ src/codegen.zig | 12 ++++ src/codegen/c.zig | 3 + src/codegen/llvm.zig | 66 ++++++++++++----- src/codegen/llvm/bindings.zig | 24 +++++++ src/print_air.zig | 4 ++ src/stage1/all_types.hpp | 16 +++-- src/stage1/astgen.cpp | 24 +++++-- src/stage1/codegen.cpp | 8 +-- src/stage1/ir.cpp | 24 +++---- src/stage1/ir_print.cpp | 8 +-- src/stage1/parser.cpp | 16 +++++ src/stage1/tokenizer.cpp | 85 ++++++++++++++++++++++ src/stage1/tokenizer.hpp | 8 +++ test/behavior/saturating_arithmetic.zig | 35 +++++++-- 21 files changed, 556 insertions(+), 54 deletions(-)