CMakeLists.txt | 21 +- ci/srht/index.json | 66 + cmake/Findclang.cmake | 6 + cmake/Findlld.cmake | 6 + cmake/Findllvm.cmake | 6 + doc/docgen.zig | 456 +- doc/langref.html.in | 1497 ++++--- lib/libc/mingw/math/arm-common/log2.c | 55 + lib/libc/mingw/math/arm-common/pow.c | 21 + lib/libc/mingw/math/arm-common/scalbn.c | 45 + lib/libc/mingw/math/bsd_private_base.h | 148 + lib/libc/mingw/misc/initenv.c | 12 + lib/std/Thread.zig | 18 +- lib/std/Thread/Futex.zig | 6 +- lib/std/Thread/Mutex.zig | 4 +- lib/std/Thread/ResetEvent.zig | 2 +- lib/std/Thread/StaticResetEvent.zig | 4 +- lib/std/array_list.zig | 30 +- lib/std/build.zig | 32 +- lib/std/build/InstallRawStep.zig | 228 +- lib/std/builtin.zig | 2 +- lib/std/c.zig | 419 +- lib/std/c/darwin.zig | 1775 +++++++- lib/std/c/dragonfly.zig | 1088 ++++- lib/std/c/freebsd.zig | 1495 ++++++- lib/std/c/haiku.zig | 1303 +++++- lib/std/c/hermit.zig | 5 +- lib/std/c/linux.zig | 229 +- lib/std/c/netbsd.zig | 1399 +++++- lib/std/c/openbsd.zig | 1321 +++++- lib/std/c/wasi.zig | 49 +- lib/std/c/windows.zig | 244 ++ lib/std/child_process.zig | 39 +- lib/std/crypto.zig | 4 +- lib/std/crypto/25519/curve25519.zig | 4 +- lib/std/crypto/benchmark.zig | 10 +- lib/std/crypto/pcurves/p256/p256_scalar_64.zig | 4 +- lib/std/crypto/pcurves/tests.zig | 13 + lib/std/crypto/scrypt.zig | 40 +- lib/std/crypto/tlcsprng.zig | 6 +- lib/std/debug.zig | 40 +- lib/std/dwarf.zig | 338 +- lib/std/dwarf/AT.zig | 198 + lib/std/dwarf/OP.zig | 195 + lib/std/dwarf/TAG.zig | 108 + lib/std/dwarf_bits.zig | 699 --- lib/std/dynamic_library.zig | 26 +- lib/std/event.zig | 2 +- lib/std/event/loop.zig | 145 +- lib/std/event/rwlock.zig | 1 + lib/std/fmt.zig | 2 +- lib/std/fs.zig | 307 +- lib/std/fs/file.zig | 69 +- lib/std/fs/wasi.zig | 11 +- lib/std/fs/watch.zig | 2 +- lib/std/hash_map.zig | 36 +- lib/std/heap.zig | 12 +- lib/std/io/c_writer.zig | 1 + lib/std/json.zig | 4 +- lib/std/macho.zig | 40 +- lib/std/math.zig | 5 + lib/std/math/big/int.zig | 3 +- lib/std/net.zig | 194 +- lib/std/os.zig | 359 +- lib/std/os/bits.zig | 22 - lib/std/os/bits/darwin.zig | 1785 -------- lib/std/os/bits/dragonfly.zig | 1033 ----- lib/std/os/bits/freebsd.zig | 1542 ------- lib/std/os/bits/haiku.zig | 1375 ------ lib/std/os/bits/linux.zig | 2455 ----------- lib/std/os/bits/linux/arm-eabi.zig | 636 --- lib/std/os/bits/linux/arm64.zig | 495 --- lib/std/os/bits/linux/errno/generic.zig | 460 -- lib/std/os/bits/linux/errno/mips.zig | 141 - lib/std/os/bits/linux/errno/sparc.zig | 144 - lib/std/os/bits/linux/i386.zig | 670 --- lib/std/os/bits/linux/mips.zig | 622 --- lib/std/os/bits/linux/netlink.zig | 498 --- lib/std/os/bits/linux/powerpc.zig | 621 --- lib/std/os/bits/linux/powerpc64.zig | 604 --- lib/std/os/bits/linux/prctl.zig | 234 - lib/std/os/bits/linux/riscv64.zig | 423 -- lib/std/os/bits/linux/securebits.zig | 35 - lib/std/os/bits/linux/sparc64.zig | 675 --- lib/std/os/bits/linux/x86_64.zig | 638 --- lib/std/os/bits/linux/xdp.zig | 77 - lib/std/os/bits/netbsd.zig | 1328 ------ lib/std/os/bits/openbsd.zig | 1330 ------ lib/std/os/bits/posix.zig | 28 - lib/std/os/bits/wasi.zig | 490 --- lib/std/os/bits/windows.zig | 329 -- lib/std/os/darwin.zig | 3 - lib/std/os/dragonfly.zig | 3 - lib/std/os/freebsd.zig | 3 - lib/std/os/haiku.zig | 3 - lib/std/os/linux.zig | 3510 ++++++++++++++- lib/std/os/linux/arm-eabi.zig | 649 ++- lib/std/os/linux/arm64.zig | 494 ++- lib/std/os/linux/bpf.zig | 16 +- lib/std/os/linux/bpf/btf.zig | 2 + lib/std/os/linux/bpf/helpers.zig | 5 + lib/std/os/linux/errno/generic.zig | 460 ++ lib/std/os/linux/errno/mips.zig | 141 + lib/std/os/linux/errno/sparc.zig | 144 + lib/std/os/linux/i386.zig | 675 ++- lib/std/os/linux/io_uring.zig | 36 +- lib/std/os/linux/mips.zig | 570 ++- lib/std/os/linux/powerpc.zig | 624 ++- lib/std/os/linux/powerpc64.zig | 607 ++- lib/std/os/linux/riscv64.zig | 426 +- lib/std/os/linux/sparc64.zig | 644 ++- lib/std/os/linux/test.zig | 14 +- lib/std/os/linux/thumb.zig | 18 +- lib/std/os/linux/tls.zig | 6 +- lib/std/os/linux/x86_64.zig | 642 ++- lib/std/os/netbsd.zig | 3 - lib/std/os/openbsd.zig | 3 - lib/std/os/test.zig | 82 +- lib/std/os/wasi.zig | 484 ++- lib/std/os/windows.zig | 1662 ++++++- lib/std/os/windows/advapi32.zig | 20 +- lib/std/os/windows/bits.zig | 1668 -------- lib/std/os/windows/gdi32.zig | 10 +- lib/std/os/windows/kernel32.zig | 93 +- lib/std/os/windows/ntdll.zig | 27 +- lib/std/os/windows/ole32.zig | 7 +- lib/std/os/windows/psapi.zig | 66 +- lib/std/os/windows/shell32.zig | 16 +- lib/std/os/windows/user32.zig | 32 +- lib/std/os/windows/win32error.zig | 1191 +----- lib/std/os/windows/winmm.zig | 7 +- lib/std/os/windows/ws2_32.zig | 454 +- lib/std/special/compiler_rt.zig | 18 +- lib/std/special/compiler_rt/addXf3.zig | 2 +- lib/std/special/compiler_rt/clzdi2_test.zig | 329 ++ lib/std/special/compiler_rt/clzsi2.zig | 126 - lib/std/special/compiler_rt/clzsi2_test.zig | 6 +- lib/std/special/compiler_rt/clzti2_test.zig | 395 ++ lib/std/special/compiler_rt/count0bits.zig | 160 + lib/std/special/compiler_rt/divdf3.zig | 2 +- lib/std/special/compiler_rt/divsf3.zig | 2 +- lib/std/special/compiler_rt/divtf3.zig | 2 +- lib/std/special/compiler_rt/divti3.zig | 2 +- lib/std/special/compiler_rt/extendXfYf2.zig | 2 +- lib/std/special/compiler_rt/fixdfdi.zig | 2 +- lib/std/special/compiler_rt/fixdfsi.zig | 2 +- lib/std/special/compiler_rt/fixdfti.zig | 2 +- lib/std/special/compiler_rt/fixint.zig | 2 +- lib/std/special/compiler_rt/fixsfdi.zig | 2 +- lib/std/special/compiler_rt/fixsfsi.zig | 2 +- lib/std/special/compiler_rt/fixsfti.zig | 2 +- lib/std/special/compiler_rt/fixtfdi.zig | 2 +- lib/std/special/compiler_rt/fixtfsi.zig | 2 +- lib/std/special/compiler_rt/fixtfti.zig | 2 +- lib/std/special/compiler_rt/fixunsdfdi.zig | 2 +- lib/std/special/compiler_rt/fixunsdfsi.zig | 2 +- lib/std/special/compiler_rt/fixunsdfti.zig | 2 +- lib/std/special/compiler_rt/fixunssfdi.zig | 2 +- lib/std/special/compiler_rt/fixunssfsi.zig | 2 +- lib/std/special/compiler_rt/fixunssfti.zig | 2 +- lib/std/special/compiler_rt/fixunstfdi.zig | 2 +- lib/std/special/compiler_rt/fixunstfsi.zig | 2 +- lib/std/special/compiler_rt/fixunstfti.zig | 2 +- lib/std/special/compiler_rt/floatXisf.zig | 4 +- lib/std/special/compiler_rt/floatdidf.zig | 2 +- lib/std/special/compiler_rt/floatditf.zig | 2 +- lib/std/special/compiler_rt/floattidf.zig | 2 +- lib/std/special/compiler_rt/floattitf.zig | 2 +- lib/std/special/compiler_rt/floatundidf.zig | 2 +- lib/std/special/compiler_rt/floatunditf.zig | 2 +- lib/std/special/compiler_rt/floatunsitf.zig | 2 +- lib/std/special/compiler_rt/floatuntidf.zig | 2 +- lib/std/special/compiler_rt/floatuntisf.zig | 2 +- lib/std/special/compiler_rt/floatuntitf.zig | 2 +- lib/std/special/compiler_rt/modti3.zig | 2 +- lib/std/special/compiler_rt/mulXf3.zig | 2 +- lib/std/special/compiler_rt/muldi3.zig | 2 +- lib/std/special/compiler_rt/mulodi4.zig | 4 +- lib/std/special/compiler_rt/muloti4.zig | 2 +- lib/std/special/compiler_rt/multi3.zig | 2 +- lib/std/special/compiler_rt/popcountdi2.zig | 2 +- lib/std/special/compiler_rt/stack_probe.zig | 13 + lib/std/special/compiler_rt/truncXfYf2.zig | 2 +- lib/std/special/compiler_rt/udivmodti4.zig | 2 +- lib/std/special/ssp.zig | 4 +- lib/std/start.zig | 4 +- lib/std/time.zig | 16 +- lib/std/time/epoch.zig | 190 + lib/std/x/net/tcp.zig | 24 +- lib/std/x/os/io.zig | 27 +- lib/std/x/os/net.zig | 40 +- lib/std/x/os/socket.zig | 18 +- lib/std/x/os/socket_posix.zig | 36 +- lib/std/x/os/socket_windows.zig | 20 +- lib/std/zig.zig | 11 +- lib/std/zig/Ast.zig | 2979 +++++++++++++ lib/std/zig/ast.zig | 2978 ------------- lib/std/zig/parse.zig | 33 +- lib/std/zig/parser_test.zig | 76 +- lib/std/zig/render.zig | 158 +- lib/std/zig/system.zig | 4 +- lib/std/zig/system/darwin/macos.zig | 4 +- src/Air.zig | 32 + src/AstGen.zig | 589 +-- src/BuiltinFn.zig | 32 + src/Compilation.zig | 13 +- src/Liveness.zig | 6 + src/Module.zig | 204 +- src/Sema.zig | 555 ++- src/Zir.zig | 90 +- src/clang_options_data.zig | 8 +- src/codegen.zig | 121 +- src/codegen/aarch64.zig | 2 +- src/codegen/arm.zig | 2 +- src/codegen/c.zig | 58 + src/codegen/llvm.zig | 172 +- src/codegen/llvm/bindings.zig | 59 + src/codegen/riscv64.zig | 4 +- src/codegen/spirv/spec.zig | 4 +- src/codegen/x86.zig | 16 +- src/codegen/x86_64.zig | 34 +- src/libc_installation.zig | 32 +- src/libunwind.zig | 2 + src/link.zig | 6 +- src/link/C/zig.h | 12 + src/link/Elf.zig | 172 +- src/link/MachO.zig | 7378 ++++++++++++++------------------ src/link/MachO/Atom.zig | 1324 ++++++ src/link/MachO/DebugSymbols.zig | 309 +- src/link/MachO/Object.zig | 274 +- src/link/MachO/TextBlock.zig | 1220 ------ src/link/MachO/bind.zig | 9 - src/link/MachO/commands.zig | 101 +- src/link/Plan9.zig | 4 +- src/link/tapi/parse/test.zig | 4 +- src/main.zig | 131 +- src/mingw.zig | 4 + src/print_air.zig | 19 +- src/stage1/all_types.hpp | 8 + src/stage1/astgen.cpp | 60 + src/stage1/bigint.cpp | 78 + src/stage1/bigint.hpp | 4 + src/stage1/codegen.cpp | 44 + src/stage1/ir.cpp | 36 + src/stage1/ir_print.cpp | 8 + src/target.zig | 70 + src/translate_c.zig | 50 +- src/translate_c/ast.zig | 79 +- src/type.zig | 98 +- src/value.zig | 133 +- src/windows_sdk.cpp | 20 +- src/windows_sdk.zig | 21 +- src/zig_llvm.cpp | 52 + src/zig_llvm.h | 9 + test/behavior.zig | 8 +- test/behavior/array.zig | 24 + test/behavior/array_stage1.zig | 78 +- test/behavior/atomics.zig | 190 - test/behavior/atomics_stage1.zig | 194 + test/behavior/basic.zig | 8 + test/behavior/eval.zig | 6 - test/behavior/misc.zig | 8 - test/behavior/saturating_arithmetic.zig | 139 + test/behavior/syntax.zig | 66 - test/behavior/usingnamespace.zig | 23 +- test/behavior/usingnamespace/a.zig | 7 + test/behavior/usingnamespace/b.zig | 3 + test/behavior/usingnamespace/bar.zig | 8 + test/behavior/usingnamespace/foo.zig | 14 + test/behavior/usingnamespace/import_segregation.zig | 11 + test/behavior/usingnamespace/other.zig | 4 + test/behavior/usingnamespace_stage1.zig | 41 + test/cases.zig | 14 +- test/cli.zig | 7 - test/compare_output.zig | 105 - test/compile_errors.zig | 24 +- test/stage2/cbe.zig | 17 + test/stage2/darwin.zig | 22 +- test/stage2/llvm.zig | 17 + test/standalone.zig | 2 + test/standalone/brace_expansion/main.zig | 2 +- test/standalone/install_raw_hex/build.zig | 173 + test/standalone/install_raw_hex/main.zig | 3 + test/standalone/issue_9693/main.zig | 2 + test/tests.zig | 8 + test/translate_c.zig | 39 +- tools/update_clang_options.zig | 8 +- 287 files changed, 37006 insertions(+), 34923 deletions(-)