build.zig | 8 +- doc/langref.html.in | 30 +- lib/std/array_list.zig | 12 +- lib/std/c.zig | 5 + lib/std/child_process.zig | 12 +- lib/std/coff.zig | 66 ++ lib/std/compress.zig | 13 + lib/std/compress/deflate.zig | 521 ++++++++++ lib/std/compress/rfc1951.txt | 955 ++++++++++++++++++ lib/std/compress/rfc1951.txt.fixed.z.9 | Bin 0 -> 12836 bytes lib/std/compress/rfc1951.txt.z.0 | Bin 0 -> 36960 bytes lib/std/compress/rfc1951.txt.z.9 | Bin 0 -> 11111 bytes lib/std/compress/zlib.zig | 178 ++++ lib/std/debug/leb128.zig | 47 +- lib/std/fmt.zig | 40 +- lib/std/fmt/parse_float.zig | 7 +- lib/std/fs.zig | 12 +- lib/std/fs/file.zig | 40 +- lib/std/fs/test.zig | 10 +- lib/std/hash/auto_hash.zig | 2 +- lib/std/heap.zig | 6 +- lib/std/io.zig | 9 + lib/std/io/auto_indenting_stream.zig | 148 +++ lib/std/io/change_detection_stream.zig | 55 ++ lib/std/io/find_byte_out_stream.zig | 40 + lib/std/io/reader.zig | 10 +- lib/std/io/serialization.zig | 6 +- lib/std/io/writer.zig | 10 +- lib/std/log.zig | 4 + lib/std/math.zig | 63 +- lib/std/math/big.zig | 11 +- lib/std/math/big/int.zig | 87 +- lib/std/math/big/int_test.zig | 6 +- lib/std/math/big/rational.zig | 16 +- lib/std/math/cos.zig | 2 +- lib/std/math/pow.zig | 4 +- lib/std/math/sin.zig | 2 +- lib/std/math/sqrt.zig | 6 +- lib/std/math/tan.zig | 2 +- lib/std/mem.zig | 42 +- lib/std/mem/Allocator.zig | 8 +- lib/std/meta.zig | 16 +- lib/std/net.zig | 5 +- lib/std/os.zig | 136 ++- lib/std/os/bits/darwin.zig | 8 +- lib/std/os/bits/dragonfly.zig | 13 +- lib/std/os/bits/freebsd.zig | 8 +- lib/std/os/bits/linux.zig | 10 +- lib/std/os/bits/linux/x86_64.zig | 5 +- lib/std/os/linux.zig | 90 +- lib/std/os/linux/bpf.zig | 826 ++++++++++++++-- lib/std/os/test.zig | 36 + lib/std/os/windows/kernel32.zig | 2 + lib/std/os/windows/ws2_32.zig | 2 +- lib/std/pdb.zig | 2 +- lib/std/process.zig | 8 +- lib/std/progress.zig | 6 +- lib/std/rand.zig | 57 +- lib/std/special/build_runner.zig | 2 +- lib/std/special/c.zig | 5 +- lib/std/special/compiler_rt/addXf3.zig | 18 +- lib/std/special/compiler_rt/aulldiv.zig | 4 +- lib/std/special/compiler_rt/aullrem.zig | 4 +- lib/std/special/compiler_rt/compareXf2.zig | 7 +- lib/std/special/compiler_rt/divdf3.zig | 9 +- lib/std/special/compiler_rt/divsf3.zig | 7 +- lib/std/special/compiler_rt/divtf3.zig | 5 +- lib/std/special/compiler_rt/divti3.zig | 4 +- lib/std/special/compiler_rt/fixint.zig | 9 +- lib/std/special/compiler_rt/fixuint.zig | 6 +- lib/std/special/compiler_rt/floatXisf.zig | 9 +- lib/std/special/compiler_rt/floatsiXf.zig | 7 +- lib/std/special/compiler_rt/floatundisf.zig | 2 +- lib/std/special/compiler_rt/floatunditf.zig | 2 +- lib/std/special/compiler_rt/floatunsitf.zig | 2 +- lib/std/special/compiler_rt/int.zig | 2 +- lib/std/special/compiler_rt/modti3.zig | 4 +- lib/std/special/compiler_rt/mulXf3.zig | 10 +- lib/std/special/compiler_rt/mulodi4.zig | 2 +- lib/std/special/compiler_rt/muloti4.zig | 6 +- lib/std/special/compiler_rt/negXf2.zig | 3 +- lib/std/special/compiler_rt/shift.zig | 25 +- lib/std/special/compiler_rt/truncXfYf2.zig | 4 +- lib/std/special/compiler_rt/udivmod.zig | 70 +- lib/std/special/test_runner.zig | 2 +- lib/std/start.zig | 4 +- lib/std/std.zig | 1 + lib/std/target.zig | 60 +- lib/std/thread.zig | 6 +- lib/std/zig.zig | 2 +- lib/std/zig/parser_test.zig | 120 ++- lib/std/zig/render.zig | 1675 +++++++++++++++----------------- lib/std/zig/tokenizer.zig | 3 +- src-self-hosted/Module.zig | 219 ++++- src-self-hosted/astgen.zig | 100 +- src-self-hosted/codegen.zig | 341 ++++--- src-self-hosted/codegen/c.zig | 2 +- src-self-hosted/link.zig | 22 +- src-self-hosted/link/Coff.zig | 792 +++++++++++++++ src-self-hosted/link/Elf.zig | 16 +- src-self-hosted/link/MachO.zig | 661 ++++++++++--- src-self-hosted/link/msdos-stub.bin | Bin 0 -> 128 bytes src-self-hosted/main.zig | 26 +- src-self-hosted/stage2.zig | 1 - src-self-hosted/type.zig | 118 ++- src-self-hosted/value.zig | 6 +- src-self-hosted/zir.zig | 24 +- src-self-hosted/zir_sema.zig | 24 + src/analyze.cpp | 2 +- src/ir.cpp | 171 +--- test/compile_errors.zig | 33 +- test/stage1/behavior/align.zig | 2 +- test/stage1/behavior/array.zig | 10 - test/stage1/behavior/async_fn.zig | 6 +- test/stage1/behavior/bit_shifting.zig | 12 +- test/stage1/behavior/bugs/5487.zig | 4 +- test/stage1/behavior/error.zig | 4 +- test/stage1/behavior/misc.zig | 10 - test/stage1/behavior/reflection.zig | 22 +- 119 files changed, 6400 insertions(+), 2054 deletions(-)