doc/langref.html.in | 30 +- lib/std/array_list.zig | 12 +- lib/std/child_process.zig | 8 +- lib/std/coff.zig | 66 +++ lib/std/debug/leb128.zig | 47 +- lib/std/fmt.zig | 23 +- lib/std/fmt/parse_float.zig | 2 +- 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/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/os.zig | 2 +- lib/std/os/bits/linux.zig | 2 +- lib/std/os/linux.zig | 8 +- lib/std/os/windows/ws2_32.zig | 2 +- lib/std/pdb.zig | 2 +- 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/start.zig | 4 +- lib/std/target.zig | 58 +++ lib/std/thread.zig | 6 +- lib/std/zig.zig | 2 +- src-self-hosted/Module.zig | 7 + src-self-hosted/codegen.zig | 278 ++++++----- src-self-hosted/link.zig | 22 +- src-self-hosted/link/Coff.zig | 792 ++++++++++++++++++++++++++++++++ src-self-hosted/link/Elf.zig | 8 +- src-self-hosted/link/MachO.zig | 25 +- src-self-hosted/link/msdos-stub.bin | Bin 0 -> 128 bytes src-self-hosted/main.zig | 23 +- src-self-hosted/stage2.zig | 1 - src/analyze.cpp | 2 +- src/ir.cpp | 164 +------ test/compile_errors.zig | 25 +- 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 +- 84 files changed, 1591 insertions(+), 734 deletions(-)