.forgejo/workflows/ci.yaml | 6 +- CMakeLists.txt | 21 +- bootstrap.c | 4 +- build.zig | 22 +- ci/x86_64-freebsd-debug.sh | 8 +- ci/x86_64-freebsd-release.sh | 8 +- ci/x86_64-linux-debug.sh | 2 +- doc/langref.html.in | 8 +- doc/langref/test_packed_structs.zig | 1 - lib/build-web/time_report.zig | 6 +- lib/c/malloc.zig | 4 +- lib/compiler/Maker.zig | 417 +++- lib/compiler/Maker/Fetch.zig | 6 +- lib/compiler/Maker/Fetch/git.zig | 12 +- lib/compiler/Maker/PkgConfig.zig | 2 + lib/compiler/Maker/ScannedConfig.zig | 68 +- lib/compiler/Maker/Step.zig | 21 +- lib/compiler/Maker/Step/Compile.zig | 4 +- lib/compiler/Maker/Step/ConfigHeader.zig | 137 ++ lib/compiler/Maker/Step/Run.zig | 227 +- lib/compiler/Maker/Step/TranslateC.zig | 6 +- lib/compiler/Maker/WebServer.zig | 2 +- lib/compiler/aro/aro/Compilation.zig | 1 + lib/compiler/aro/aro/Diagnostics.zig | 2 +- lib/compiler/aro/aro/Target.zig | 6 +- lib/compiler/aro/main.zig | 2 +- lib/compiler/configurer.zig | 2 +- lib/compiler/objcopy.zig | 20 +- lib/compiler/reduce.zig | 2 +- lib/compiler/resinator/compile.zig | 6 +- lib/compiler/resinator/cvtres.zig | 2 +- lib/compiler/resinator/errors.zig | 2 +- lib/compiler/resinator/parse.zig | 2 +- lib/compiler/resinator/source_mapping.zig | 2 +- lib/compiler/std-docs.zig | 47 +- lib/compiler/test_runner.zig | 28 +- lib/compiler/translate-c/MacroTranslator.zig | 2 +- lib/compiler/translate-c/main.zig | 2 +- lib/compiler_rt.zig | 370 +-- lib/compiler_rt/absv.zig | 3 +- lib/compiler_rt/absvdi2.zig | 5 +- lib/compiler_rt/absvsi2.zig | 2 +- lib/compiler_rt/absvti2.zig | 5 +- lib/compiler_rt/adddf3.zig | 19 - lib/compiler_rt/addf3.zig | 133 +- lib/compiler_rt/addf3_test.zig | 13 +- lib/compiler_rt/addhf3.zig | 11 - lib/compiler_rt/addsf3.zig | 19 - lib/compiler_rt/addtf3.zig | 22 - lib/compiler_rt/addvdi3.zig | 5 +- lib/compiler_rt/addvsi3.zig | 2 +- lib/compiler_rt/addxf3.zig | 11 - lib/compiler_rt/atomics.zig | 2 +- lib/compiler_rt/aulldiv.zig | 2 +- lib/compiler_rt/cmpdf2.zig | 67 - lib/compiler_rt/cmptf2.zig | 146 -- lib/compiler_rt/cmpxf2.zig | 49 - lib/compiler_rt/comparedf2_test.zig | 90 +- lib/compiler_rt/comparef.zig | 441 ++-- lib/compiler_rt/comparesf2_test.zig | 90 +- lib/compiler_rt/cos.zig | 115 +- lib/compiler_rt/count0bits.zig | 3 +- lib/compiler_rt/divc3.zig | 83 +- lib/compiler_rt/divc3_test.zig | 79 +- lib/compiler_rt/divdc3.zig | 13 - lib/compiler_rt/divdf3.zig | 8 +- lib/compiler_rt/divdf3_test.zig | 4 +- lib/compiler_rt/divhc3.zig | 14 - lib/compiler_rt/divhf3.zig | 11 - lib/compiler_rt/divmodei4.zig | 2 +- lib/compiler_rt/divsc3.zig | 13 - lib/compiler_rt/divsf3.zig | 17 +- lib/compiler_rt/divsf3_test.zig | 4 +- lib/compiler_rt/divtc3.zig | 16 - lib/compiler_rt/divtf3.zig | 11 +- lib/compiler_rt/divtf3_test.zig | 4 +- lib/compiler_rt/divxc3.zig | 13 - lib/compiler_rt/divxf3.zig | 5 +- lib/compiler_rt/divxf3_test.zig | 6 +- lib/compiler_rt/exp.zig | 199 +- lib/compiler_rt/exp2.zig | 158 +- lib/compiler_rt/exp_f128.zig | 4 +- lib/compiler_rt/extenddftf2.zig | 22 - lib/compiler_rt/extenddfxf2.zig | 11 - lib/compiler_rt/extendf.zig | 181 +- lib/compiler_rt/extendf_test.zig | 189 +- lib/compiler_rt/extendhfdf2.zig | 11 - lib/compiler_rt/extendhfsf2.zig | 24 - lib/compiler_rt/extendhftf2.zig | 11 - lib/compiler_rt/extendhfxf2.zig | 11 - lib/compiler_rt/extendsfdf2.zig | 19 - lib/compiler_rt/extendsftf2.zig | 22 - lib/compiler_rt/extendsfxf2.zig | 10 - lib/compiler_rt/extendxftf2.zig | 42 - lib/compiler_rt/fabs.zig | 38 +- lib/compiler_rt/fixdfdi.zig | 23 - lib/compiler_rt/fixdfei.zig | 14 - lib/compiler_rt/fixdfsi.zig | 19 - lib/compiler_rt/fixdfti.zig | 11 - lib/compiler_rt/fixhfei.zig | 14 - lib/compiler_rt/fixint_test.zig | 149 -- lib/compiler_rt/fixsfdi.zig | 23 - lib/compiler_rt/fixsfei.zig | 14 - lib/compiler_rt/fixsfsi.zig | 19 - lib/compiler_rt/fixsfti.zig | 12 - lib/compiler_rt/fixtfdi.zig | 22 - lib/compiler_rt/fixtfei.zig | 14 - lib/compiler_rt/fixtfsi.zig | 22 - lib/compiler_rt/fixtfti.zig | 13 - lib/compiler_rt/fixunsdfdi.zig | 23 - lib/compiler_rt/fixunsdfei.zig | 15 - lib/compiler_rt/fixunsdfsi.zig | 19 - lib/compiler_rt/fixunsdfti.zig | 11 - lib/compiler_rt/fixunshfdi.zig | 10 - lib/compiler_rt/fixunshfei.zig | 15 - lib/compiler_rt/fixunshfsi.zig | 11 - lib/compiler_rt/fixunshfti.zig | 11 - lib/compiler_rt/fixunssfdi.zig | 23 - lib/compiler_rt/fixunssfei.zig | 15 - lib/compiler_rt/fixunssfsi.zig | 19 - lib/compiler_rt/fixunssfti.zig | 12 - lib/compiler_rt/fixunstfdi.zig | 22 - lib/compiler_rt/fixunstfei.zig | 15 - lib/compiler_rt/fixunstfsi.zig | 22 - lib/compiler_rt/fixunstfti.zig | 14 - lib/compiler_rt/fixunsxfdi.zig | 10 - lib/compiler_rt/fixunsxfei.zig | 13 - lib/compiler_rt/fixunsxfsi.zig | 11 - lib/compiler_rt/fixunsxfti.zig | 12 - lib/compiler_rt/fixxfdi.zig | 10 - lib/compiler_rt/fixxfei.zig | 14 - lib/compiler_rt/fixxfsi.zig | 11 - lib/compiler_rt/float_from_int.zig | 476 +++- lib/compiler_rt/float_from_int_test.zig | 1490 ++++++------ lib/compiler_rt/floatdidf.zig | 23 - lib/compiler_rt/floatdihf.zig | 10 - lib/compiler_rt/floatdisf.zig | 22 - lib/compiler_rt/floatditf.zig | 22 - lib/compiler_rt/floatdixf.zig | 10 - lib/compiler_rt/floateidf.zig | 15 - lib/compiler_rt/floateihf.zig | 14 - lib/compiler_rt/floateisf.zig | 14 - lib/compiler_rt/floateitf.zig | 14 - lib/compiler_rt/floateixf.zig | 15 - lib/compiler_rt/floatsidf.zig | 19 - lib/compiler_rt/floatsihf.zig | 11 - lib/compiler_rt/floatsisf.zig | 19 - lib/compiler_rt/floatsitf.zig | 22 - lib/compiler_rt/floatsixf.zig | 11 - lib/compiler_rt/floattidf.zig | 11 - lib/compiler_rt/floattihf.zig | 12 - lib/compiler_rt/floattisf.zig | 11 - lib/compiler_rt/floattitf.zig | 13 - lib/compiler_rt/floattixf.zig | 12 - lib/compiler_rt/floatundidf.zig | 22 - lib/compiler_rt/floatundihf.zig | 11 - lib/compiler_rt/floatundisf.zig | 23 - lib/compiler_rt/floatunditf.zig | 22 - lib/compiler_rt/floatundixf.zig | 11 - lib/compiler_rt/floatuneidf.zig | 14 - lib/compiler_rt/floatuneihf.zig | 14 - lib/compiler_rt/floatuneisf.zig | 14 - lib/compiler_rt/floatuneitf.zig | 15 - lib/compiler_rt/floatuneixf.zig | 14 - lib/compiler_rt/floatunsidf.zig | 19 - lib/compiler_rt/floatunsihf.zig | 10 - lib/compiler_rt/floatunsisf.zig | 19 - lib/compiler_rt/floatunsitf.zig | 22 - lib/compiler_rt/floatunsixf.zig | 11 - lib/compiler_rt/floatuntidf.zig | 11 - lib/compiler_rt/floatuntihf.zig | 11 - lib/compiler_rt/floatuntisf.zig | 12 - lib/compiler_rt/floatuntitf.zig | 13 - lib/compiler_rt/floatuntixf.zig | 12 - lib/compiler_rt/floor_ceil.zig | 332 +-- lib/compiler_rt/fma.zig | 84 +- lib/compiler_rt/fmax.zig | 38 +- lib/compiler_rt/fmin.zig | 38 +- lib/compiler_rt/fmod.zig | 88 +- lib/compiler_rt/fmodq_test.zig | 64 +- lib/compiler_rt/fmodx_test.zig | 62 +- lib/compiler_rt/gedf2.zig | 35 - lib/compiler_rt/gehf2.zig | 21 - lib/compiler_rt/gesf2.zig | 35 - lib/compiler_rt/getf2.zig | 26 - lib/compiler_rt/gexf2.zig | 15 - lib/compiler_rt/int.zig | 79 +- lib/compiler_rt/int_from_float.zig | 522 +++- lib/compiler_rt/int_from_float_test.zig | 1810 +++++++------- lib/compiler_rt/limb64.zig | 2 +- lib/compiler_rt/log.zig | 214 +- lib/compiler_rt/log10.zig | 216 +- lib/compiler_rt/log2.zig | 200 +- lib/compiler_rt/memcpy.zig | 2 +- lib/compiler_rt/memmove.zig | 2 +- lib/compiler_rt/mulc3.zig | 85 +- lib/compiler_rt/mulc3_test.zig | 65 +- lib/compiler_rt/muldc3.zig | 12 - lib/compiler_rt/muldf3.zig | 19 - lib/compiler_rt/mulf3.zig | 68 +- lib/compiler_rt/mulf3_test.zig | 94 +- lib/compiler_rt/mulhc3.zig | 13 - lib/compiler_rt/mulhf3.zig | 11 - lib/compiler_rt/mulsc3.zig | 12 - lib/compiler_rt/mulsf3.zig | 19 - lib/compiler_rt/multc3.zig | 15 - lib/compiler_rt/multf3.zig | 22 - lib/compiler_rt/mulvsi3.zig | 5 +- lib/compiler_rt/mulxc3.zig | 13 - lib/compiler_rt/mulxf3.zig | 11 - lib/compiler_rt/negv.zig | 3 +- lib/compiler_rt/os_version_check.zig | 1 - lib/compiler_rt/parity.zig | 3 +- lib/compiler_rt/popcount.zig | 3 +- lib/compiler_rt/powiXf2.zig | 39 +- lib/compiler_rt/powiXf2_test.zig | 1056 +++++---- lib/compiler_rt/round.zig | 137 +- lib/compiler_rt/sin.zig | 119 +- lib/compiler_rt/sincos.zig | 306 +-- lib/compiler_rt/sqrt.zig | 287 +-- lib/compiler_rt/ssp.zig | 4 +- lib/compiler_rt/subdf3.zig | 24 - lib/compiler_rt/subhf3.zig | 12 - lib/compiler_rt/subsf3.zig | 24 - lib/compiler_rt/subtf3.zig | 27 - lib/compiler_rt/subvdi3.zig | 5 +- lib/compiler_rt/subvsi3.zig | 2 +- lib/compiler_rt/subxf3.zig | 13 - lib/compiler_rt/tan.zig | 90 +- lib/compiler_rt/trunc.zig | 124 +- lib/compiler_rt/truncdfhf2.zig | 18 - lib/compiler_rt/truncdfsf2.zig | 19 - lib/compiler_rt/truncf.zig | 202 +- lib/compiler_rt/truncf_test.zig | 334 ++- lib/compiler_rt/truncsfhf2.zig | 24 - lib/compiler_rt/trunctfdf2.zig | 22 - lib/compiler_rt/trunctfhf2.zig | 14 - lib/compiler_rt/trunctfsf2.zig | 22 - lib/compiler_rt/trunctfxf2.zig | 67 - lib/compiler_rt/truncxfdf2.zig | 10 - lib/compiler_rt/truncxfhf2.zig | 11 - lib/compiler_rt/truncxfsf2.zig | 10 - lib/compiler_rt/udivmodei4.zig | 2 +- lib/compiler_rt/unorddf2.zig | 19 - lib/docs/wasm/html_render.zig | 2 +- lib/docs/wasm/main.zig | 6 +- lib/docs/wasm/markdown/Document.zig | 2 +- lib/docs/wasm/markdown/Parser.zig | 42 +- lib/fuzzer.zig | 8 +- lib/libc/glibc/abilists | Bin 248691 -> 253117 bytes lib/libc/glibc/elf/elf.h | 8 +- lib/libc/glibc/include/libc-symbols.h | 3 +- lib/libc/glibc/sysdeps/aarch64/sysdep.h | 32 +- lib/libc/glibc/sysdeps/arm/start.S | 27 + lib/libc/glibc/sysdeps/htl/libc-lockP.h | 14 + lib/libc/glibc/sysdeps/loongarch/start.S | 26 +- lib/libc/glibc/sysdeps/loongarch/sys/asm.h | 104 + lib/libc/glibc/sysdeps/loongarch/sysdep.h | 94 + lib/libc/glibc/sysdeps/mach/libc-lock.h | 20 +- lib/libc/glibc/sysdeps/s390/s390-64/start-2.33.S | 107 - lib/libc/glibc/sysdeps/s390/s390-64/start.S | 134 -- lib/libc/glibc/sysdeps/s390/s390-64/sysdep.h | 93 - lib/libc/glibc/sysdeps/s390/start-2.33.S | 107 + lib/libc/glibc/sysdeps/s390/start.S | 134 ++ lib/libc/glibc/sysdeps/s390/sysdep.h | 93 + lib/libc/glibc/sysdeps/unix/sysv/linux/kernel-features.h | 7 +- lib/libc/glibc/sysdeps/unix/sysv/linux/loongarch/sysdep.h | 31 +- lib/libc/glibc/sysdeps/unix/sysv/linux/s390/bits/typesizes.h | 36 +- lib/libc/glibc/sysdeps/unix/sysv/linux/s390/kernel-features.h | 3 - lib/libc/glibc/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h | 178 -- lib/libc/glibc/sysdeps/unix/sysv/linux/s390/sysdep.h | 223 +- lib/libc/glibc/sysdeps/unix/sysv/linux/s390/xstatver.h | 21 +- lib/libc/include/aarch64-linux-gnu/bits/hwcap.h | 19 +- lib/libc/include/aarch64-linux-gnu/bits/long-double.h | 21 - lib/libc/include/aarch64-linux-gnu/bits/math-vector.h | 8 + lib/libc/include/aarch64-linux-gnu/bits/struct_stat.h | 127 - lib/libc/include/aarch64-linux-gnu/bits/timesize.h | 20 - lib/libc/include/aarch64-linux-gnu/finclude/math-vector-fortran.h | 158 +- lib/libc/include/aarch64-linux-gnu/gnu/lib-names-lp64.h | 1 + lib/libc/include/aarch64-linux-gnu/gnu/lib-names-lp64_be.h | 1 + lib/libc/include/arc-linux-gnu/bits/struct_stat.h | 127 - lib/libc/include/arc-linux-gnu/bits/timesize.h | 20 - lib/libc/include/arc-linux-gnu/gnu/lib-names.h | 1 + lib/libc/include/csky-linux-gnu/gnu/lib-names.h | 3 +- lib/libc/include/generic-glibc/assert.h | 28 +- lib/libc/include/generic-glibc/bits/cloexec.h | 1 + lib/libc/include/generic-glibc/bits/fcntl-linux.h | 21 +- lib/libc/include/generic-glibc/bits/libm-simd-decl-stubs.h | 11 + lib/libc/include/generic-glibc/bits/long-double.h | 9 +- lib/libc/include/generic-glibc/bits/mathcalls.h | 1 + lib/libc/include/generic-glibc/bits/ppc.h | 33 - lib/libc/include/generic-glibc/bits/sched.h | 3 + lib/libc/include/generic-glibc/bits/struct_stat.h | 218 +- lib/libc/include/generic-glibc/bits/syscall.h | 16 +- lib/libc/include/generic-glibc/bits/timesize.h | 8 +- lib/libc/include/generic-glibc/bits/uio-ext.h | 1 + lib/libc/include/generic-glibc/dlfcn.h | 7 +- lib/libc/include/generic-glibc/elf.h | 8 +- lib/libc/include/generic-glibc/features.h | 4 +- lib/libc/include/generic-glibc/fts.h | 128 +- lib/libc/include/generic-glibc/gnu/lib-names-32.h | 1 + lib/libc/include/generic-glibc/gnu/lib-names-hard.h | 1 + lib/libc/include/generic-glibc/gnu/lib-names-n32_hard.h | 1 + lib/libc/include/generic-glibc/gnu/lib-names-n64_hard.h | 1 + lib/libc/include/generic-glibc/gnu/lib-names-o32_hard.h | 1 + lib/libc/include/generic-glibc/gnu/lib-names-o32_soft.h | 1 + lib/libc/include/generic-glibc/gnu/lib-names-soft.h | 1 + lib/libc/include/generic-glibc/gnu/stubs-64.h | 16 - lib/libc/include/generic-glibc/netinet/in.h | 2 + lib/libc/include/generic-glibc/netinet/tcp.h | 27 +- lib/libc/include/generic-glibc/regex.h | 2 +- lib/libc/include/generic-glibc/spawn.h | 20 + lib/libc/include/generic-glibc/stdlib.h | 2 +- lib/libc/include/generic-glibc/sys/mount.h | 22 +- lib/libc/include/generic-glibc/sys/pidfd.h | 26 + lib/libc/include/generic-glibc/sys/platform/ppc.h | 146 -- lib/libc/include/generic-netbsd/fcntl.h | 5 +- lib/libc/include/generic-netbsd/i386/mcontext.h | 24 +- lib/libc/include/generic-netbsd/i386/wchar_limits.h | 2 +- lib/libc/include/generic-netbsd/machine/pte.h | 51 +- lib/libc/include/generic-netbsd/machine/vmparam.h | 30 +- lib/libc/include/generic-netbsd/mips/pte.h | 16 +- lib/libc/include/generic-netbsd/netinet/tcp_timer.h | 4 +- lib/libc/include/generic-netbsd/nfs/nfs.h | 4 +- lib/libc/include/generic-netbsd/nfs/nfsmount.h | 6 +- lib/libc/include/generic-netbsd/pthread.h | 2 +- lib/libc/include/generic-netbsd/riscv/pte.h | 51 +- lib/libc/include/generic-netbsd/riscv/vmparam.h | 30 +- lib/libc/include/generic-netbsd/sys/fcntl.h | 5 +- lib/libc/include/generic-netbsd/sys/lua.h | 4 +- lib/libc/include/generic-netbsd/sys/param.h | 4 +- lib/libc/include/generic-netbsd/x86/cpu_extended_state.h | 4 +- lib/libc/include/generic-netbsd/x86/fpu.h | 8 +- lib/libc/include/generic-netbsd/x86/specialreg.h | 76 +- lib/libc/include/loongarch-linux-gnu/bits/hwcap.h | 4 +- lib/libc/include/loongarch-linux-gnu/bits/long-double.h | 21 - lib/libc/include/loongarch-linux-gnu/bits/struct_stat.h | 127 - lib/libc/include/loongarch-linux-gnu/bits/timesize.h | 20 - lib/libc/include/loongarch-linux-gnu/bits/wordsize.h | 15 +- lib/libc/include/loongarch-linux-gnu/fpu_control.h | 9 + lib/libc/include/loongarch-linux-gnu/gnu/lib-names-ilp32d.h | 28 + lib/libc/include/loongarch-linux-gnu/gnu/lib-names-ilp32s.h | 28 + lib/libc/include/loongarch-linux-gnu/gnu/lib-names-lp64d.h | 1 + lib/libc/include/loongarch-linux-gnu/gnu/lib-names-lp64s.h | 1 + lib/libc/include/loongarch-linux-gnu/gnu/lib-names.h | 6 + lib/libc/include/loongarch-linux-gnu/gnu/stubs-ilp32d.h | 21 + lib/libc/include/loongarch-linux-gnu/gnu/stubs-ilp32s.h | 38 + lib/libc/include/loongarch-linux-gnu/gnu/stubs.h | 6 + lib/libc/include/loongarch-linux-gnu/sys/asm.h | 38 +- lib/libc/include/m68k-linux-gnu/gnu/lib-names.h | 1 + lib/libc/include/mips-linux-gnu/bits/long-double.h | 24 + lib/libc/include/mips-linux-gnu/bits/struct_stat.h | 237 ++ lib/libc/include/mips-linux-gnu/bits/timesize.h | 22 + lib/libc/include/mips-linux-gnu/bits/waitstatus.h | 68 + lib/libc/include/powerpc-linux-gnu/bits/long-double.h | 2 +- lib/libc/include/powerpc-linux-gnu/bits/ppc.h | 33 + lib/libc/include/powerpc-linux-gnu/bits/struct_mutex.h | 2 +- lib/libc/include/powerpc-linux-gnu/gnu/lib-names-32.h | 26 - lib/libc/include/powerpc-linux-gnu/gnu/lib-names-64-v1.h | 27 - lib/libc/include/powerpc-linux-gnu/gnu/lib-names-64-v2.h | 1 + lib/libc/include/powerpc-linux-gnu/gnu/stubs-64-v1.h | 16 - lib/libc/include/powerpc-linux-gnu/sys/platform/ppc.h | 146 ++ lib/libc/include/powerpc-netbsd-eabi/powerpc/oea/pmap.h | 10 +- lib/libc/include/riscv-linux-gnu/bits/long-double.h | 21 - lib/libc/include/riscv-linux-gnu/bits/struct_stat.h | 127 - lib/libc/include/riscv-linux-gnu/bits/timesize.h | 20 - lib/libc/include/riscv-linux-gnu/gnu/lib-names-ilp32d.h | 1 + lib/libc/include/riscv-linux-gnu/gnu/lib-names-lp64d.h | 1 + lib/libc/include/s390x-linux-gnu/bits/elfclass.h | 7 +- lib/libc/include/s390x-linux-gnu/bits/environments.h | 96 - lib/libc/include/s390x-linux-gnu/bits/fcntl.h | 26 +- lib/libc/include/s390x-linux-gnu/bits/fenv.h | 8 +- lib/libc/include/s390x-linux-gnu/bits/link.h | 62 +- lib/libc/include/s390x-linux-gnu/bits/procfs-extra.h | 75 - lib/libc/include/s390x-linux-gnu/bits/procfs-id.h | 30 - lib/libc/include/s390x-linux-gnu/bits/setjmp.h | 6 - lib/libc/include/s390x-linux-gnu/bits/sigaction.h | 35 +- lib/libc/include/s390x-linux-gnu/bits/struct_mutex.h | 26 +- lib/libc/include/s390x-linux-gnu/bits/struct_rwlock.h | 17 +- lib/libc/include/s390x-linux-gnu/bits/struct_stat.h | 120 +- lib/libc/include/s390x-linux-gnu/bits/timesize.h | 22 - lib/libc/include/s390x-linux-gnu/bits/typesizes.h | 36 +- lib/libc/include/s390x-linux-gnu/bits/utmp.h | 127 - lib/libc/include/s390x-linux-gnu/bits/utmpx.h | 106 - lib/libc/include/s390x-linux-gnu/bits/wordsize.h | 26 +- lib/libc/include/s390x-linux-gnu/gnu/lib-names-64.h | 27 - lib/libc/include/s390x-linux-gnu/gnu/lib-names.h | 31 +- lib/libc/include/s390x-linux-gnu/gnu/stubs.h | 22 +- lib/libc/include/s390x-linux-gnu/sys/ucontext.h | 6 +- lib/libc/include/sparc-linux-gnu/bits/cloexec.h | 1 + lib/libc/include/sparc-linux-gnu/gnu/lib-names-64.h | 1 + lib/libc/include/sparc-linux-gnu/gnu/stubs-64.h | 16 + lib/libc/include/x86-linux-gnu/bits/struct_mutex.h | 2 +- lib/libc/include/x86-linux-gnu/gnu/lib-names-64.h | 1 + lib/libc/include/x86-linux-gnu/gnu/lib-names-x32.h | 1 + lib/libc/include/x86-netbsd-none/machine/mcontext.h | 24 +- lib/libc/include/x86_64-netbsd-none/amd64/mcontext.h | 33 +- lib/libc/include/x86_64-netbsd-none/machine/mcontext.h | 33 +- lib/std/Build.zig | 92 +- lib/std/Build/Configuration.zig | 411 +--- lib/std/Build/Module.zig | 4 +- lib/std/Build/Serialize.zig | 194 +- lib/std/Build/Step/Compile.zig | 13 +- lib/std/Build/Step/ConfigHeader.zig | 5 +- lib/std/Build/Step/Run.zig | 60 +- lib/std/Io.zig | 18 +- lib/std/Io/Dispatch.zig | 17 +- lib/std/Io/Kqueue.zig | 5 +- lib/std/Io/Reader.zig | 8 +- lib/std/Io/RwLock.zig | 2 - lib/std/Io/Semaphore.zig | 2 - lib/std/Io/Threaded.zig | 194 +- lib/std/Io/Threaded/test.zig | 2 - lib/std/Io/Uring.zig | 22 +- lib/std/Io/Writer.zig | 42 +- lib/std/Io/net.zig | 9 +- lib/std/Io/net/test.zig | 2 - lib/std/Io/test.zig | 4 - lib/std/Progress.zig | 16 +- lib/std/Random/RomuTrio.zig | 1 - lib/std/Random/Xoshiro256.zig | 2 - lib/std/Random/benchmark.zig | 2 +- lib/std/Target.zig | 189 +- lib/std/Thread.zig | 79 +- lib/std/Uri.zig | 8 +- lib/std/array_hash_map.zig | 14 +- lib/std/array_list.zig | 346 +-- lib/std/ascii.zig | 6 +- lib/std/bit_set.zig | 2 - lib/std/c.zig | 74 +- lib/std/c/darwin/dispatch.zig | 4 +- lib/std/c/haiku.zig | 87 +- lib/std/compress/flate/Compress.zig | 2 +- lib/std/compress/flate/token.zig | 6 +- lib/std/crypto/25519/field.zig | 4 +- lib/std/crypto/Certificate.zig | 91 +- lib/std/crypto/aes.zig | 4 +- lib/std/crypto/aes_ocb.zig | 10 - lib/std/crypto/benchmark.zig | 6 +- lib/std/crypto/ecdsa.zig | 30 +- lib/std/crypto/ff.zig | 4 - lib/std/crypto/ghash_polyval.zig | 10 +- lib/std/crypto/kangarootwelve.zig | 4 +- lib/std/crypto/keccak_p.zig | 4 +- lib/std/crypto/pcurves/p256/p256_64.zig | 34 +- lib/std/crypto/pcurves/p256/p256_scalar_64.zig | 34 +- lib/std/crypto/pcurves/p384.zig | 10 +- lib/std/crypto/pcurves/p384/p384_64.zig | 34 +- lib/std/crypto/pcurves/p384/p384_scalar_64.zig | 34 +- lib/std/crypto/pcurves/secp256k1.zig | 12 +- lib/std/crypto/pcurves/secp256k1/secp256k1_64.zig | 34 +- lib/std/crypto/pcurves/secp256k1/secp256k1_scalar_64.zig | 34 +- lib/std/crypto/tls/Client.zig | 2 +- lib/std/debug.zig | 31 +- lib/std/debug/Dwarf.zig | 21 +- lib/std/debug/MachOFile.zig | 228 +- lib/std/debug/SelfInfo/Elf.zig | 5 +- lib/std/debug/cpu_context.zig | 2 + lib/std/debug/no_panic.zig | 10 + lib/std/debug/simple_panic.zig | 35 + lib/std/deque.zig | 2 +- lib/std/dynamic_library.zig | 34 +- lib/std/elf.zig | 107 +- lib/std/enums.zig | 5 +- lib/std/fmt.zig | 6 +- lib/std/fmt/float.zig | 2 +- lib/std/fs/path.zig | 12 +- lib/std/fs/test.zig | 44 +- lib/std/hash/auto_hash.zig | 2 +- lib/std/hash/benchmark.zig | 2 +- lib/std/hash/cityhash.zig | 2 +- lib/std/hash/xxhash.zig | 6 +- lib/std/hash_map.zig | 2 +- lib/std/heap/PageAllocator.zig | 1 + lib/std/heap/SafeAllocator.zig | 4 +- lib/std/http.zig | 13 +- lib/std/http/Server.zig | 2 +- lib/std/http/test.zig | 21 +- lib/std/json/Stringify.zig | 6 +- lib/std/lang.zig | 52 +- lib/std/log.zig | 2 +- lib/std/macho.zig | 19 + lib/std/math.zig | 9 +- lib/std/math/acos.zig | 4 - lib/std/math/asin.zig | 4 - lib/std/math/atan.zig | 4 - lib/std/math/atan2.zig | 8 +- lib/std/math/big/int_test.zig | 39 +- lib/std/math/float.zig | 6 +- lib/std/math/gamma.zig | 2 - lib/std/math/hypot.zig | 9 - lib/std/math/isnan.zig | 8 +- lib/std/math/log10.zig | 5 - lib/std/math/modf.zig | 4 - lib/std/math/signbit.zig | 1 + lib/std/mem.zig | 293 ++- lib/std/mem/Allocator.zig | 72 +- lib/std/meta.zig | 81 +- lib/std/meta/trailer_flags.zig | 2 +- lib/std/multi_array_list.zig | 4 +- lib/std/os/emscripten.zig | 2 +- lib/std/os/linux.zig | 10 +- lib/std/os/linux/IoUring.zig | 2 +- lib/std/os/linux/IoUring/test.zig | 90 +- lib/std/os/linux/aarch64.zig | 2 +- lib/std/os/linux/s390x.zig | 36 +- lib/std/os/linux/sparc.zig | 13 +- lib/std/os/linux/sparc64.zig | 13 +- lib/std/os/linux/tls.zig | 49 +- lib/std/os/linux/vdso.zig | 10 +- lib/std/pie.zig | 6 +- lib/std/posix/test.zig | 2 +- lib/std/process.zig | 10 +- lib/std/process/Args.zig | 2 +- lib/std/sort/block.zig | 2 +- lib/std/spirv.zig | 2 +- lib/std/start.zig | 22 +- lib/std/std.zig | 4 +- lib/std/tar/Writer.zig | 2 +- lib/std/tar/test.zig | 6 +- lib/std/testing.zig | 2 +- lib/std/testing/Smith.zig | 4 +- lib/std/unicode.zig | 35 + lib/std/zig.zig | 124 +- lib/std/zig/Ast/Render.zig | 14 +- lib/std/zig/AstGen.zig | 5 +- lib/std/zig/Client.zig | 128 +- lib/std/zig/LibCInstallation.zig | 2 +- lib/std/zig/Server.zig | 85 +- lib/std/zig/WindowsSdk.zig | 8 +- lib/std/zig/Zir.zig | 4 +- lib/std/zig/llvm/Builder.zig | 1799 ++++++++++---- lib/std/zig/llvm/bitcode_writer.zig | 2 +- lib/std/zig/system.zig | 18 +- lib/std/zig/target.zig | 50 +- lib/std/zip.zig | 2 +- lib/std/zon.zig | 41 + lib/std/zon/parse.zig | 7 +- lib/std/zon/stringify.zig | 3 - lib/zig.h | 4070 ++++++++++++++++++++++++-------- src/Air.zig | 2 +- src/Air/Legalize.zig | 9 +- src/Air/Liveness.zig | 6 +- src/Builtin.zig | 10 +- src/Compilation.zig | 100 +- src/Compilation/Config.zig | 14 +- src/IncrementalDebugServer.zig | 35 +- src/InternPool.zig | 60 +- src/Module.zig | 35 +- src/RangeSet.zig | 41 +- src/Sema.zig | 813 +++++-- src/Sema/LowerZon.zig | 4 +- src/Sema/type_resolution.zig | 30 +- src/Type.zig | 193 +- src/Value.zig | 9 +- src/Zcu.zig | 70 +- src/Zcu/PerThread.zig | 189 +- src/codegen.zig | 226 +- src/codegen/aarch64/Assemble.zig | 2 +- src/codegen/aarch64/Mir.zig | 4 +- src/codegen/aarch64/Select.zig | 50 +- src/codegen/aarch64/abi.zig | 9 +- src/codegen/arm/abi.zig | 16 +- src/codegen/c.zig | 1361 ++++++----- src/codegen/c/type.zig | 227 +- src/codegen/c/type/render_defs.zig | 298 ++- src/codegen/llvm.zig | 1266 +++++----- src/codegen/llvm/FuncGen.zig | 2566 ++++++++++++-------- src/codegen/llvm/bindings.zig | 2 + src/codegen/loongarch/abi.zig | 133 ++ src/codegen/mips/abi.zig | 9 +- src/codegen/riscv64/CodeGen.zig | 16 +- src/codegen/riscv64/abi.zig | 12 +- src/codegen/riscv64/encoding.zig | 2 +- src/codegen/s390x/abi.zig | 85 + src/codegen/sparc64/CodeGen.zig | 6 +- src/codegen/spirv/Assembler.zig | 77 +- src/codegen/spirv/CodeGen.zig | 4 +- src/codegen/spirv/Section.zig | 9 +- src/codegen/wasm/CodeGen.zig | 176 +- src/codegen/wasm/Emit.zig | 174 +- src/codegen/wasm/Mir.zig | 92 +- src/codegen/wasm/abi.zig | 94 +- src/codegen/x86_64/CodeGen.zig | 506 ++-- src/codegen/x86_64/Lower.zig | 10 +- src/codegen/x86_64/Mir.zig | 6 +- src/codegen/x86_64/abi.zig | 55 +- src/codegen/x86_64/encoder.zig | 2 +- src/libs/freebsd.zig | 1 - src/libs/glibc.zig | 5 +- src/libs/libcxx.zig | 8 +- src/libs/libtsan.zig | 1 - src/libs/libunwind.zig | 2 +- src/libs/mingw.zig | 4 +- src/libs/mingw/Preprocessor.zig | 8 +- src/libs/mingw/def.zig | 8 +- src/libs/mingw/implib.zig | 2 +- src/libs/musl.zig | 1 - src/libs/netbsd.zig | 1 - src/libs/openbsd.zig | 1 - src/link.zig | 60 +- src/link/C.zig | 51 +- src/link/Coff.zig | 40 +- src/link/Dwarf.zig | 5 +- src/link/Elf.zig | 273 ++- src/link/Elf/Archive.zig | 2 +- src/link/Elf/ZigObject.zig | 8 +- src/link/Elf2.zig | 682 ++++-- src/link/Lld.zig | 65 +- src/link/MachO.zig | 45 +- src/link/MachO/Archive.zig | 4 +- src/link/MachO/Symbol.zig | 2 +- src/link/MachO/ZigObject.zig | 8 +- src/link/MachO/dyld_info/Trie.zig | 4 +- src/link/MachO/load_commands.zig | 27 +- src/link/MappedFile.zig | 134 +- src/link/SpirV.zig | 26 +- src/link/SpirV/dedup_types.zig | 4 +- src/link/SpirV/prune_unused.zig | 2 +- src/link/Wasm.zig | 1159 +++++++-- src/link/Wasm/Archive.zig | 2 +- src/link/Wasm/Flush.zig | 1285 ++++++++-- src/link/Wasm/Object.zig | 4 +- src/main.zig | 94 +- src/print_targets.zig | 6 +- src/target.zig | 29 +- src/zig_llvm.cpp | 19 +- src/zig_llvm.h | 7 +- stage1/FuncGen.h | 6 +- stage1/wasm2c.c | 18 +- stage1/zig.h | 4070 ++++++++++++++++++++++++-------- stage1/zig1.wasm | Bin 3223935 -> 3246758 bytes test/behavior/abs.zig | 2 - test/behavior/align.zig | 45 +- test/behavior/basic.zig | 3 - test/behavior/bit_shifting.zig | 1 - test/behavior/bitcast.zig | 23 +- test/behavior/builtin_functions_returning_void_or_noreturn.zig | 1 - test/behavior/call.zig | 1 - test/behavior/cast.zig | 26 +- test/behavior/cast_int.zig | 1 - test/behavior/eval.zig | 1 - test/behavior/export_builtin.zig | 15 - test/behavior/extern.zig | 1 - test/behavior/field_parent_ptr.zig | 3 - test/behavior/floatop.zig | 60 +- test/behavior/fn.zig | 2 - test/behavior/int128.zig | 2 +- test/behavior/math.zig | 35 - test/behavior/maximum_minimum.zig | 1 - test/behavior/muladd.zig | 4 - test/behavior/packed-struct.zig | 4 - test/behavior/pointers.zig | 2 +- test/behavior/saturating_arithmetic.zig | 7 - test/behavior/select.zig | 14 + test/behavior/shuffle.zig | 20 + test/behavior/slice.zig | 82 + test/behavior/struct.zig | 8 +- test/behavior/switch.zig | 2 +- test/behavior/switch_loop.zig | 3 +- test/behavior/switch_on_captured_error.zig | 6 +- test/behavior/threadlocal.zig | 5 - test/behavior/truncate.zig | 1 - test/behavior/union.zig | 12 +- test/behavior/vector.zig | 37 +- test/behavior/widening.zig | 1 - test/behavior/x86_64/unary.zig | 2 +- test/c_abi/cfuncs.c | 641 ++++- test/c_abi/main.zig | 1335 ++++++++--- test/cases/compile_errors/bad_panic_call_signature.zig | 1 + test/cases/compile_errors/bad_panic_generic_signature.zig | 1 + test/cases/compile_errors/callconv_preserve_none_on_unsupported_platform.zig | 16 + test/cases/compile_errors/capture_by_ref_discard.zig | 5 + test/cases/compile_errors/coerce_pointers_with_uncoercable_child_pointers.zig | 14 + test/cases/compile_errors/coercion_from_vector_element_to_c_ptr.zig | 11 + test/cases/compile_errors/deref_slice_and_get_len_field.zig | 2 +- test/cases/compile_errors/deref_slice_with_undef_len.zig | 23 + test/cases/compile_errors/dereference_slice.zig | 2 +- test/cases/compile_errors/duplicate_boolean_switch_value.zig | 4 +- test/cases/compile_errors/duplicate_error_in_switch.zig | 2 +- test/cases/compile_errors/ignored_deferred_function_call.zig | 4 +- test/cases/compile_errors/ignored_expression_in_while_continuation.zig | 8 +- test/cases/compile_errors/initialize_empty_union.zig | 31 - test/cases/compile_errors/invalid_float_casts.zig | 2 +- test/cases/compile_errors/invalid_int_casts.zig | 10 +- test/cases/compile_errors/invalid_member_of_builtin_enum.zig | 2 +- test/cases/compile_errors/slice_to_array_pointer.zig | 70 + test/cases/compile_errors/switch_expression-duplicate_enumeration_prong.zig | 3 +- test/cases/compile_errors/switch_expression-duplicate_enumeration_prong_when_else_present.zig | 3 +- test/cases/compile_errors/switch_expression-duplicate_error_prong.zig | 4 +- test/cases/compile_errors/switch_expression-duplicate_error_prong_when_else_present.zig | 4 +- test/cases/compile_errors/switch_expression-duplicate_or_overlapping_integer_value.zig | 16 - test/cases/compile_errors/switch_expression-duplicate_type.zig | 2 +- test/cases/compile_errors/switch_expression-duplicate_type_struct_alias.zig | 3 +- test/cases/compile_errors/switch_on_invalid_type.zig | 103 + test/cases/compile_errors/switch_on_non_packed_struct.zig | 25 - test/cases/compile_errors/switch_on_union_with_nonexhaustive_tag_is_exhaustive.zig | 56 + test/cases/compile_errors/switch_with_overlapping_case_ranges.zig | 42 +- test/cases/safety/@errorCast error not present in destination.zig | 2 +- test/cases/safety/@errorCast error union casted to disjoint set.zig | 2 +- test/cases/safety/load_uninstantiable_enum.zig | 20 + test/cases/safety/load_uninstantiable_enum_from_slice.zig | 21 + test/cases/safety/load_uninstantiable_union.zig | 23 + test/cases/safety/load_uninstantiable_union_from_slice.zig | 24 + test/error_traces.zig | 43 +- test/incremental/change_panic_handler_explicit | 6 + test/incremental/temporary_analysis_error_in_generic_signature | 46 + test/llvm_ir.zig | 20 + test/llvm_targets.zig | 4 +- test/src/Cases.zig | 4 +- test/src/Debugger.zig | 4 +- test/src/ErrorTrace.zig | 173 +- test/src/Libc.zig | 4 +- test/src/Link.zig | 2 +- test/src/LlvmIr.zig | 4 +- test/src/RunTranslatedC.zig | 2 +- test/src/StackTrace.zig | 249 +- test/src/TranslateC.zig | 4 +- test/src/convert-stack-trace.zig | 6 +- test/stack_traces.zig | 29 +- test/standalone/build.zig | 2 +- test/standalone/build.zig.zon | 3 - test/standalone/compiler_rt_panic/main.c | 4 +- test/standalone/config_header/build.zig | 21 + test/standalone/config_header/meson/mesondefine.h | 22 + test/standalone/config_header/meson/mesondefine.h.in | 21 + test/standalone/debug_io_color/build.zig | 95 - test/standalone/debug_io_color/main.zig | 7 - test/standalone/dependency_options/build.zig | 18 +- test/standalone/glibc_compat/build.zig | 2 + test/standalone/simple/build.zig | 10 +- test/standalone/windows_argv/fuzz.zig | 3 +- test/tests.zig | 306 +-- tools/bsp.zig | 242 ++ tools/docgen.zig | 4 +- tools/doctest.zig | 22 +- tools/fetch_them_macos_headers.zig | 4 +- tools/generate_c_size_and_align_checks.zig | 62 - tools/incr-check.zig | 70 +- tools/migrate_langref.zig | 4 +- tools/process_headers.zig | 2 + tools/update_clang_options.zig | 2 +- tools/update_crc_catalog.zig | 2 +- tools/update_glibc.zig | 1 + 744 files changed, 31566 insertions(+), 20491 deletions(-)