CMakeLists.txt | 6 +- build.zig | 177 +++-- doc/langref.html.in | 16 +- src-self-hosted/codegen.zig | 59 ++ src-self-hosted/compilation.zig | 747 +++++++++++++++++++++ src-self-hosted/decl.zig | 96 +++ src-self-hosted/errmsg.zig | 25 +- src-self-hosted/introspect.zig | 5 + src-self-hosted/ir.zig | 1123 +++++++++++++++++++++++++++++--- src-self-hosted/llvm.zig | 23 +- src-self-hosted/main.zig | 188 +++--- src-self-hosted/module.zig | 579 ---------------- src-self-hosted/parsed_file.zig | 6 + src-self-hosted/scope.zig | 230 ++++++- src-self-hosted/test.zig | 168 +++++ src-self-hosted/type.zig | 442 +++++++++++++ src-self-hosted/value.zig | 154 +++++ src-self-hosted/visib.zig | 4 + src/all_types.hpp | 11 +- src/analyze.cpp | 23 +- src/codegen.cpp | 8 +- src/ir.cpp | 149 ++--- src/ir_print.cpp | 6 +- src/main.cpp | 10 +- std/array_list.zig | 76 ++- std/atomic/index.zig | 8 +- std/atomic/int.zig | 29 + std/atomic/queue.zig | 226 +++++++ std/atomic/queue_mpmc.zig | 214 ------ std/atomic/queue_mpsc.zig | 185 ------ std/atomic/stack.zig | 32 +- std/build.zig | 22 + std/c/darwin.zig | 2 +- std/event.zig | 4 + std/event/channel.zig | 12 +- std/event/future.zig | 97 +++ std/event/group.zig | 158 +++++ std/event/lock.zig | 13 +- std/event/loop.zig | 22 +- std/heap.zig | 80 ++- std/macho.zig | 2 +- std/mem.zig | 25 +- std/os/windows/index.zig | 2 - std/os/windows/util.zig | 11 +- std/sort.zig | 325 +++------ std/zig/ast.zig | 6 - std/zig/parse.zig | 5 - test/behavior.zig | 1 + test/cases/bugs/1230.zig | 14 + test/cases/optional.zig | 21 + test/compile_errors.zig | 27 + test/stage2/compile_errors.zig | 12 + test/tests.zig | 47 +- 53 files changed, 4238 insertions(+), 1695 deletions(-)