build.zig | 12 +- doc/langref.html.in | 8 ++ example/mix_o_files/build.zig | 2 +- example/shared_library/build.zig | 2 +- src/all_types.hpp | 13 ++ src/analyze.cpp | 59 ++++++-- src/analyze.hpp | 5 + src/codegen.cpp | 247 +++++++++++++++++++++++++++++--- src/ir.cpp | 57 ++++++-- src/ir_print.cpp | 7 + std/build.zig | 10 +- std/debug/index.zig | 212 +++++++++++++++++++-------- std/io.zig | 2 +- std/os/index.zig | 11 +- std/special/bootstrap.zig | 45 ++++-- std/special/build_runner.zig | 8 +- std/special/builtin.zig | 2 +- std/special/compiler_rt/index.zig | 2 +- std/special/panic.zig | 6 +- std/special/test_runner.zig | 5 +- test/compile_errors.zig | 18 +-- test/debug_safety.zig | 40 +++--- test/standalone/issue_339/build.zig | 2 +- test/standalone/issue_339/test.zig | 3 +- test/standalone/pkg_import/build.zig | 2 +- test/standalone/use_alias/build.zig | 2 +- test/tests.zig | 4 +- 27 files changed, 605 insertions(+), 181 deletions(-)