README.md | 4 +- doc/langref.html.in | 6 +- src/all_types.hpp | 11 +- src/analyze.cpp | 92 ++--- src/analyze.hpp | 1 + src/ast_render.cpp | 28 +- src/codegen.cpp | 10 - src/ir.cpp | 172 +++++---- src/parser.cpp | 49 ++- src/parser.hpp | 2 + src/target.cpp | 2 +- src/translate_c.cpp | 593 ++++++++++++++++++++++++++------ std/buf_map.zig | 4 +- std/buf_set.zig | 4 +- std/os/index.zig | 2 +- std/special/compiler_rt/udivmod.zig | 4 +- std/unicode.zig | 20 +- test/cases/cast.zig | 2 +- test/cases/misc.zig | 12 +- test/compare_output.zig | 4 +- test/compile_errors.zig | 41 ++- test/translate_c.zig | 198 +++++++++-- 22 files changed, 909 insertions(+), 352 deletions(-)