CMakeLists.txt | 14 +- CONTRIBUTING.md | 12 +- README.md | 3 +- build.zig | 4 +- doc/docgen.zig | 3 +- doc/langref.html.in | 508 ++++--- src-self-hosted/ir.zig | 15 - src-self-hosted/link.zig | 2 +- src-self-hosted/main.zig | 21 +- src-self-hosted/stage1.zig | 3 +- src-self-hosted/translate_c.zig | 3 +- src/all_types.hpp | 379 ++--- src/analyze.cpp | 1126 +++++++++++--- src/analyze.hpp | 18 +- src/ast_render.cpp | 45 +- src/codegen.cpp | 2191 +++++++++++++++------------ src/codegen.hpp | 2 + src/ir.cpp | 2592 +++++++++++--------------------- src/ir.hpp | 2 + src/ir_print.cpp | 333 ++-- src/main.cpp | 2 +- src/parser.cpp | 90 +- src/target.cpp | 62 +- src/target.hpp | 2 + src/tokenizer.cpp | 6 +- src/tokenizer.hpp | 3 +- src/zig_llvm.cpp | 27 +- src/zig_llvm.h | 2 + std/c/freebsd.zig | 1 + std/debug.zig | 3 +- std/elf.zig | 15 +- std/event/channel.zig | 117 +- std/event/fs.zig | 1334 ++++++++-------- std/event/future.zig | 49 +- std/event/group.zig | 96 +- std/event/io.zig | 19 +- std/event/lock.zig | 61 +- std/event/locked.zig | 2 +- std/event/loop.zig | 151 +- std/event/net.zig | 65 +- std/event/rwlock.zig | 93 +- std/event/rwlocked.zig | 2 +- std/fmt.zig | 3 - std/hash.zig | 9 + std/hash/auto_hash.zig | 211 +++ std/hash/throughput_test.zig | 148 ++ std/hash/wyhash.zig | 135 ++ std/hash_map.zig | 123 +- std/http/headers.zig | 12 +- std/math.zig | 70 +- std/meta.zig | 4 +- std/os.zig | 13 + std/os/bits/netbsd.zig | 59 + std/os/darwin.zig | 2 +- std/os/freebsd.zig | 2 +- std/os/netbsd.zig | 1 + std/os/windows.zig | 16 +- std/os/windows/advapi32.zig | 2 +- std/os/windows/bits.zig | 4 +- std/os/windows/ntdll.zig | 10 +- std/os/windows/status.zig | 4 +- std/rb.zig | 1 - std/testing.zig | 51 +- std/zig/ast.zig | 53 +- std/zig/parse.zig | 124 +- std/zig/parser_test.zig | 28 +- std/zig/render.zig | 32 +- std/zig/tokenizer.zig | 6 +- test/compile_errors.zig | 259 +++- test/runtime_safety.zig | 101 +- test/stage1/behavior.zig | 13 +- test/stage1/behavior/align.zig | 62 + test/stage1/behavior/async_fn.zig | 819 ++++++++++ test/stage1/behavior/await_struct.zig | 44 + test/stage1/behavior/cancel.zig | 86 -- test/stage1/behavior/cast.zig | 7 +- test/stage1/behavior/coroutine_await_struct.zig | 44 - test/stage1/behavior/coroutines.zig | 236 --- test/stage1/behavior/enum.zig | 11 + test/stage1/behavior/muladd.zig | 2 +- test/stage1/behavior/type_info.zig | 37 +- tools/process_headers.zig | 3 + 82 files changed, 6809 insertions(+), 5516 deletions(-)