doc/langref.html.in | 8 +- lib/std/array_list.zig | 17 + lib/std/buffer.zig | 36 +- lib/std/build.zig | 32 +- lib/std/c.zig | 1 + lib/std/debug.zig | 10 +- lib/std/event/channel.zig | 33 +- lib/std/event/fs.zig | 28 +- lib/std/fs.zig | 278 +++++++++++--- lib/std/fs/file.zig | 129 +++---- lib/std/fs/path.zig | 33 +- lib/std/io.zig | 11 +- lib/std/io/test.zig | 28 +- lib/std/math.zig | 12 - lib/std/mutex.zig | 132 ++++--- lib/std/net.zig | 4 +- lib/std/os.zig | 19 +- lib/std/os/bits/linux.zig | 1 + lib/std/os/bits/linux/arm-eabi.zig | 1 - lib/std/os/bits/linux/arm64.zig | 1 - lib/std/os/bits/linux/i386.zig | 642 ++++++++++++++++++++++++++++++++ lib/std/os/bits/linux/mipsel.zig | 1 - lib/std/os/bits/linux/x86_64.zig | 1 - lib/std/os/linux.zig | 49 +++ lib/std/os/linux/i386.zig | 119 ++++++ lib/std/os/linux/test.zig | 7 +- lib/std/os/linux/tls.zig | 27 ++ lib/std/os/test.zig | 4 +- lib/std/os/wasi.zig | 4 +- lib/std/parker.zig | 180 --------- lib/std/pdb.zig | 3 +- lib/std/reset_event.zig | 433 +++++++++++++++++++++ lib/std/special/c.zig | 43 +++ lib/std/std.zig | 2 +- lib/std/testing.zig | 34 +- lib/std/thread.zig | 31 +- src-self-hosted/codegen.zig | 30 +- src-self-hosted/compilation.zig | 278 +++++++------- src-self-hosted/decl.zig | 9 +- src-self-hosted/ir.zig | 68 ++-- src-self-hosted/libc_installation.zig | 6 +- src-self-hosted/link.zig | 68 ++-- src-self-hosted/llvm.zig | 2 +- src-self-hosted/main.zig | 137 ++++--- src-self-hosted/stage1.zig | 8 +- src-self-hosted/test.zig | 24 +- src-self-hosted/type.zig | 26 +- src-self-hosted/util.zig | 23 +- src-self-hosted/value.zig | 14 +- src/all_types.hpp | 4 +- src/analyze.cpp | 41 +- src/codegen.cpp | 301 ++++++++------- src/ir.cpp | 486 ++++++++++++++++++++++-- src/libc_installation.cpp | 2 +- src/list.hpp | 2 +- src/memory_profiling.cpp | 7 +- src/os.cpp | 8 +- src/util.hpp | 2 +- test/compile_errors.zig | 7 + test/gen_h.zig | 32 +- test/standalone/cat/main.zig | 8 +- test/standalone/static_c_lib/foo.c | 2 + test/standalone/static_c_lib/foo.h | 1 + test/standalone/static_c_lib/foo.zig | 4 + test/tests.zig | 20 + 65 files changed, 3020 insertions(+), 994 deletions(-)