CMakeLists.txt | 2 +- build.zig | 68 +- doc/docgen.zig | 29 +- doc/langref.html.in | 63 +- lib/libc/mingw/lib-common/compstui.def | 12 + lib/libcxx/include/__config | 13 +- lib/libcxx/include/__locale | 6 +- lib/libcxx/include/locale | 2 +- lib/libcxx/src/locale.cpp | 2 +- lib/std/Progress.zig | 6 - lib/std/SemanticVersion.zig | 6 - lib/std/Thread.zig | 174 +-- lib/std/Thread/AutoResetEvent.zig | 6 - lib/std/Thread/Condition.zig | 22 +- lib/std/Thread/Futex.zig | 84 +- lib/std/Thread/Mutex.zig | 38 +- lib/std/Thread/ResetEvent.zig | 30 +- lib/std/Thread/RwLock.zig | 30 +- lib/std/Thread/Semaphore.zig | 6 - lib/std/Thread/StaticResetEvent.zig | 16 +- lib/std/array_hash_map.zig | 5 - lib/std/array_list.zig | 5 - lib/std/ascii.zig | 5 - lib/std/atomic.zig | 6 - lib/std/atomic/Atomic.zig | 6 - lib/std/atomic/queue.zig | 5 - lib/std/atomic/stack.zig | 5 - lib/std/base64.zig | 5 - lib/std/bit_set.zig | 6 - lib/std/bounded_array.zig | 315 ++++ lib/std/buf_map.zig | 5 - lib/std/buf_set.zig | 5 - lib/std/build.zig | 279 +--- lib/std/build/CheckFileStep.zig | 5 - lib/std/build/FmtStep.zig | 5 - lib/std/build/InstallRawStep.zig | 5 - lib/std/build/OptionsStep.zig | 257 ++++ lib/std/build/RunStep.zig | 5 - lib/std/build/TranslateCStep.zig | 5 - lib/std/build/WriteFileStep.zig | 5 - lib/std/builtin.zig | 20 +- lib/std/c.zig | 63 +- lib/std/c/darwin.zig | 9 +- lib/std/c/dragonfly.zig | 5 - lib/std/c/emscripten.zig | 5 - lib/std/c/freebsd.zig | 5 - lib/std/c/fuchsia.zig | 5 - lib/std/c/haiku.zig | 6 - lib/std/c/hermit.zig | 5 - lib/std/c/linux.zig | 9 +- lib/std/c/minix.zig | 5 - lib/std/c/netbsd.zig | 9 +- lib/std/c/openbsd.zig | 5 - lib/std/c/solaris.zig | 5 - lib/std/c/tokenizer.zig | 5 - lib/std/c/wasi.zig | 5 - lib/std/c/windows.zig | 5 - lib/std/child_process.zig | 5 - lib/std/coff.zig | 5 - lib/std/compress.zig | 5 - lib/std/compress/deflate.zig | 5 - lib/std/compress/gzip.zig | 5 - lib/std/compress/zlib.zig | 5 - lib/std/comptime_string_map.zig | 5 - lib/std/crypto.zig | 15 +- lib/std/crypto/25519/curve25519.zig | 5 - lib/std/crypto/25519/ed25519.zig | 5 - lib/std/crypto/25519/edwards25519.zig | 5 - lib/std/crypto/25519/field.zig | 5 - lib/std/crypto/25519/ristretto255.zig | 5 - lib/std/crypto/25519/scalar.zig | 5 - lib/std/crypto/25519/x25519.zig | 5 - lib/std/crypto/aegis.zig | 6 - lib/std/crypto/aes.zig | 6 - lib/std/crypto/aes/aesni.zig | 6 - lib/std/crypto/aes/armcrypto.zig | 6 - lib/std/crypto/aes/soft.zig | 5 - lib/std/crypto/aes_gcm.zig | 6 - lib/std/crypto/aes_ocb.zig | 6 - lib/std/crypto/bcrypt.zig | 407 +++-- lib/std/crypto/benchmark.zig | 49 +- lib/std/crypto/blake2.zig | 5 - lib/std/crypto/blake3.zig | 5 - lib/std/crypto/chacha20.zig | 5 - lib/std/crypto/ghash.zig | 5 - lib/std/crypto/gimli.zig | 5 - lib/std/crypto/hkdf.zig | 6 - lib/std/crypto/hmac.zig | 5 - lib/std/crypto/md5.zig | 5 - lib/std/crypto/modes.zig | 5 - lib/std/crypto/pbkdf2.zig | 6 - lib/std/crypto/pcurves/p256.zig | 6 - lib/std/crypto/pcurves/p256/field.zig | 6 - lib/std/crypto/pcurves/p256/scalar.zig | 6 - lib/std/crypto/pcurves/tests.zig | 6 - lib/std/crypto/phc_encoding.zig | 371 +++++ lib/std/crypto/poly1305.zig | 5 - lib/std/crypto/salsa20.zig | 6 - lib/std/crypto/scrypt.zig | 657 ++++++++ lib/std/crypto/sha1.zig | 5 - lib/std/crypto/sha2.zig | 5 - lib/std/crypto/sha3.zig | 5 - lib/std/crypto/siphash.zig | 5 - lib/std/crypto/test.zig | 5 - lib/std/crypto/tlcsprng.zig | 6 - lib/std/cstr.zig | 5 - lib/std/debug.zig | 9 +- lib/std/dwarf.zig | 5 - lib/std/dwarf_bits.zig | 5 - lib/std/dynamic_library.zig | 5 - lib/std/elf.zig | 5 - lib/std/enums.zig | 6 - lib/std/event.zig | 5 - lib/std/event/batch.zig | 5 - lib/std/event/channel.zig | 5 - lib/std/event/future.zig | 5 - lib/std/event/group.zig | 5 - lib/std/event/lock.zig | 5 - lib/std/event/locked.zig | 5 - lib/std/event/loop.zig | 5 - lib/std/event/rwlock.zig | 5 - lib/std/event/rwlocked.zig | 5 - lib/std/event/wait_group.zig | 5 - lib/std/fifo.zig | 5 - lib/std/fmt.zig | 6 +- lib/std/fmt/errol.zig | 5 - lib/std/fmt/errol/enum3.zig | 5 - lib/std/fmt/errol/lookup.zig | 5 - lib/std/fmt/parse_float.zig | 9 +- lib/std/fmt/parse_hex_float.zig | 6 - lib/std/fs.zig | 74 +- lib/std/fs/file.zig | 5 - lib/std/fs/get_app_data_dir.zig | 5 - lib/std/fs/path.zig | 5 - lib/std/fs/test.zig | 16 +- lib/std/fs/wasi.zig | 13 +- lib/std/fs/watch.zig | 5 - lib/std/hash.zig | 5 - lib/std/hash/adler.zig | 5 - lib/std/hash/auto_hash.zig | 5 - lib/std/hash/benchmark.zig | 5 - lib/std/hash/cityhash.zig | 5 - lib/std/hash/crc.zig | 5 - lib/std/hash/fnv.zig | 5 - lib/std/hash/murmur.zig | 5 - lib/std/hash/wyhash.zig | 5 - lib/std/hash_map.zig | 5 - lib/std/heap.zig | 5 - lib/std/heap/arena_allocator.zig | 5 - lib/std/heap/general_purpose_allocator.zig | 5 - lib/std/heap/log_to_writer_allocator.zig | 5 - lib/std/heap/logging_allocator.zig | 5 - lib/std/io.zig | 5 - lib/std/io/bit_reader.zig | 5 - lib/std/io/bit_writer.zig | 5 - lib/std/io/buffered_atomic_file.zig | 5 - lib/std/io/buffered_reader.zig | 5 - lib/std/io/buffered_writer.zig | 5 - lib/std/io/c_writer.zig | 31 +- lib/std/io/change_detection_stream.zig | 6 - lib/std/io/counting_reader.zig | 5 - lib/std/io/counting_writer.zig | 5 - lib/std/io/find_byte_writer.zig | 6 - lib/std/io/fixed_buffer_stream.zig | 5 - lib/std/io/limited_reader.zig | 5 - lib/std/io/multi_writer.zig | 5 - lib/std/io/peek_stream.zig | 5 - lib/std/io/reader.zig | 22 +- lib/std/io/seekable_stream.zig | 5 - lib/std/io/stream_source.zig | 5 - lib/std/io/test.zig | 5 - lib/std/io/writer.zig | 5 - lib/std/json.zig | 137 +- lib/std/json/test.zig | 5 - lib/std/json/write_stream.zig | 5 - lib/std/leb128.zig | 5 - lib/std/linked_list.zig | 5 - lib/std/log.zig | 65 +- lib/std/macho.zig | 5 - lib/std/math.zig | 13 +- lib/std/math/acos.zig | 5 - lib/std/math/acosh.zig | 5 - lib/std/math/asin.zig | 5 - lib/std/math/asinh.zig | 5 - lib/std/math/atan.zig | 5 - lib/std/math/atan2.zig | 5 - lib/std/math/atanh.zig | 5 - lib/std/math/big.zig | 5 - lib/std/math/big/int.zig | 5 - lib/std/math/big/int_test.zig | 5 - lib/std/math/big/rational.zig | 5 - lib/std/math/cbrt.zig | 5 - lib/std/math/ceil.zig | 5 - lib/std/math/complex.zig | 5 - lib/std/math/complex/abs.zig | 5 - lib/std/math/complex/acos.zig | 5 - lib/std/math/complex/acosh.zig | 5 - lib/std/math/complex/arg.zig | 5 - lib/std/math/complex/asin.zig | 5 - lib/std/math/complex/asinh.zig | 5 - lib/std/math/complex/atan.zig | 5 - lib/std/math/complex/atanh.zig | 5 - lib/std/math/complex/conj.zig | 5 - lib/std/math/complex/cos.zig | 5 - lib/std/math/complex/cosh.zig | 5 - lib/std/math/complex/exp.zig | 5 - lib/std/math/complex/ldexp.zig | 5 - lib/std/math/complex/log.zig | 5 - lib/std/math/complex/pow.zig | 5 - lib/std/math/complex/proj.zig | 5 - lib/std/math/complex/sin.zig | 5 - lib/std/math/complex/sinh.zig | 5 - lib/std/math/complex/sqrt.zig | 5 - lib/std/math/complex/tan.zig | 5 - lib/std/math/complex/tanh.zig | 5 - lib/std/math/copysign.zig | 5 - lib/std/math/cos.zig | 5 - lib/std/math/cosh.zig | 5 - lib/std/math/epsilon.zig | 5 - lib/std/math/exp.zig | 5 - lib/std/math/exp2.zig | 5 - lib/std/math/expm1.zig | 5 - lib/std/math/expo2.zig | 5 - lib/std/math/fabs.zig | 5 - lib/std/math/floor.zig | 5 - lib/std/math/fma.zig | 5 - lib/std/math/frexp.zig | 5 - lib/std/math/hypot.zig | 5 - lib/std/math/ilogb.zig | 5 - lib/std/math/inf.zig | 5 - lib/std/math/isfinite.zig | 5 - lib/std/math/isinf.zig | 5 - lib/std/math/isnan.zig | 5 - lib/std/math/isnormal.zig | 5 - lib/std/math/ln.zig | 5 - lib/std/math/log.zig | 5 - lib/std/math/log10.zig | 5 - lib/std/math/log1p.zig | 5 - lib/std/math/log2.zig | 5 - lib/std/math/modf.zig | 5 - lib/std/math/nan.zig | 5 - lib/std/math/pow.zig | 5 - lib/std/math/powi.zig | 5 - lib/std/math/round.zig | 5 - lib/std/math/scalbn.zig | 5 - lib/std/math/signbit.zig | 5 - lib/std/math/sin.zig | 5 - lib/std/math/sinh.zig | 5 - lib/std/math/sqrt.zig | 5 - lib/std/math/tan.zig | 5 - lib/std/math/tanh.zig | 5 - lib/std/math/trunc.zig | 5 - lib/std/mem.zig | 5 - lib/std/mem/Allocator.zig | 5 - lib/std/meta.zig | 5 - lib/std/meta/trailer_flags.zig | 5 - lib/std/meta/trait.zig | 5 - lib/std/multi_array_list.zig | 5 - lib/std/net.zig | 5 - lib/std/net/test.zig | 5 - lib/std/once.zig | 5 - lib/std/os.zig | 2621 ++++++++++++++++---------------- lib/std/os/bits.zig | 5 - lib/std/os/bits/darwin.zig | 459 +++--- lib/std/os/bits/dragonfly.zig | 205 +-- lib/std/os/bits/freebsd.zig | 256 ++-- lib/std/os/bits/haiku.zig | 248 +-- lib/std/os/bits/linux.zig | 26 +- lib/std/os/bits/linux/arm-eabi.zig | 5 - lib/std/os/bits/linux/arm64.zig | 5 - lib/std/os/bits/linux/errno-generic.zig | 462 ------ lib/std/os/bits/linux/errno-mips.zig | 143 -- lib/std/os/bits/linux/errno-sparc.zig | 145 -- 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 | 5 - lib/std/os/bits/linux/mips.zig | 5 - lib/std/os/bits/linux/netlink.zig | 5 - lib/std/os/bits/linux/powerpc.zig | 6 - lib/std/os/bits/linux/powerpc64.zig | 6 - lib/std/os/bits/linux/prctl.zig | 6 - lib/std/os/bits/linux/riscv64.zig | 5 - lib/std/os/bits/linux/securebits.zig | 6 - lib/std/os/bits/linux/x86_64.zig | 5 - lib/std/os/bits/linux/xdp.zig | 5 - lib/std/os/bits/netbsd.zig | 279 ++-- lib/std/os/bits/openbsd.zig | 248 +-- lib/std/os/bits/posix.zig | 6 - lib/std/os/bits/wasi.zig | 170 +-- lib/std/os/bits/windows.zig | 181 ++- lib/std/os/darwin.zig | 5 - lib/std/os/dragonfly.zig | 5 - lib/std/os/freebsd.zig | 5 - lib/std/os/haiku.zig | 5 - lib/std/os/linux.zig | 20 +- lib/std/os/linux/arm-eabi.zig | 5 - lib/std/os/linux/arm64.zig | 5 - lib/std/os/linux/bpf.zig | 67 +- lib/std/os/linux/bpf/btf.zig | 5 - lib/std/os/linux/bpf/btf_ext.zig | 5 - lib/std/os/linux/bpf/helpers.zig | 5 - lib/std/os/linux/bpf/kern.zig | 5 - lib/std/os/linux/i386.zig | 5 - lib/std/os/linux/io_uring.zig | 93 +- lib/std/os/linux/mips.zig | 5 - lib/std/os/linux/powerpc.zig | 6 - lib/std/os/linux/powerpc64.zig | 6 - lib/std/os/linux/riscv64.zig | 5 - lib/std/os/linux/sparc64.zig | 4 +- lib/std/os/linux/test.zig | 35 +- lib/std/os/linux/thumb.zig | 5 - lib/std/os/linux/tls.zig | 5 - lib/std/os/linux/vdso.zig | 5 - lib/std/os/linux/x86_64.zig | 5 - lib/std/os/netbsd.zig | 5 - lib/std/os/openbsd.zig | 5 - lib/std/os/test.zig | 19 +- lib/std/os/uefi.zig | 5 - lib/std/os/uefi/protocols.zig | 5 - lib/std/os/uefi/protocols/absolute_pointer_protocol.zig | 5 - lib/std/os/uefi/protocols/device_path_protocol.zig | 5 - lib/std/os/uefi/protocols/edid_active_protocol.zig | 5 - lib/std/os/uefi/protocols/edid_discovered_protocol.zig | 5 - lib/std/os/uefi/protocols/edid_override_protocol.zig | 5 - lib/std/os/uefi/protocols/file_protocol.zig | 5 - lib/std/os/uefi/protocols/graphics_output_protocol.zig | 5 - lib/std/os/uefi/protocols/hii.zig | 5 - lib/std/os/uefi/protocols/hii_database_protocol.zig | 5 - lib/std/os/uefi/protocols/hii_popup_protocol.zig | 5 - lib/std/os/uefi/protocols/ip6_config_protocol.zig | 5 - lib/std/os/uefi/protocols/ip6_protocol.zig | 5 - lib/std/os/uefi/protocols/ip6_service_binding_protocol.zig | 5 - lib/std/os/uefi/protocols/loaded_image_protocol.zig | 5 - lib/std/os/uefi/protocols/managed_network_protocol.zig | 5 - lib/std/os/uefi/protocols/managed_network_service_binding_protocol.zig | 5 - lib/std/os/uefi/protocols/rng_protocol.zig | 5 - lib/std/os/uefi/protocols/shell_parameters_protocol.zig | 5 - lib/std/os/uefi/protocols/simple_file_system_protocol.zig | 5 - lib/std/os/uefi/protocols/simple_network_protocol.zig | 5 - lib/std/os/uefi/protocols/simple_pointer_protocol.zig | 5 - lib/std/os/uefi/protocols/simple_text_input_ex_protocol.zig | 5 - lib/std/os/uefi/protocols/simple_text_input_protocol.zig | 5 - lib/std/os/uefi/protocols/simple_text_output_protocol.zig | 5 - lib/std/os/uefi/protocols/udp6_protocol.zig | 5 - lib/std/os/uefi/protocols/udp6_service_binding_protocol.zig | 5 - lib/std/os/uefi/status.zig | 5 - lib/std/os/uefi/tables.zig | 5 - lib/std/os/uefi/tables/boot_services.zig | 5 - lib/std/os/uefi/tables/configuration_table.zig | 5 - lib/std/os/uefi/tables/runtime_services.zig | 5 - lib/std/os/uefi/tables/system_table.zig | 5 - lib/std/os/uefi/tables/table_header.zig | 5 - lib/std/os/wasi.zig | 7 +- lib/std/os/windows.zig | 5 - lib/std/os/windows/advapi32.zig | 5 - lib/std/os/windows/bits.zig | 5 - lib/std/os/windows/gdi32.zig | 5 - lib/std/os/windows/kernel32.zig | 5 - lib/std/os/windows/lang.zig | 5 - lib/std/os/windows/ntdll.zig | 5 - lib/std/os/windows/ntstatus.zig | 6 - lib/std/os/windows/ole32.zig | 5 - lib/std/os/windows/psapi.zig | 5 - lib/std/os/windows/shell32.zig | 5 - lib/std/os/windows/sublang.zig | 5 - lib/std/os/windows/test.zig | 5 - lib/std/os/windows/user32.zig | 5 - lib/std/os/windows/win32error.zig | 5 - lib/std/os/windows/winmm.zig | 5 - lib/std/os/windows/ws2_32.zig | 5 - lib/std/packed_int_array.zig | 5 - lib/std/pdb.zig | 5 - lib/std/priority_dequeue.zig | 5 - lib/std/priority_queue.zig | 5 - lib/std/process.zig | 13 +- lib/std/rand.zig | 6 - lib/std/rand/Gimli.zig | 6 - lib/std/rand/Isaac64.zig | 6 - lib/std/rand/Pcg.zig | 6 - lib/std/rand/Sfc64.zig | 6 - lib/std/rand/Xoroshiro128.zig | 6 - lib/std/rand/Xoshiro256.zig | 6 - lib/std/rand/ziggurat.zig | 5 - lib/std/sort.zig | 5 - lib/std/special/build_runner.zig | 5 - lib/std/special/c.zig | 5 - lib/std/special/compiler_rt.zig | 5 - lib/std/special/compiler_rt/addXf3.zig | 5 - lib/std/special/compiler_rt/addXf3_test.zig | 5 - lib/std/special/compiler_rt/arm.zig | 5 - lib/std/special/compiler_rt/ashldi3_test.zig | 5 - lib/std/special/compiler_rt/ashlti3_test.zig | 5 - lib/std/special/compiler_rt/ashrdi3_test.zig | 5 - lib/std/special/compiler_rt/ashrti3_test.zig | 5 - lib/std/special/compiler_rt/atomics.zig | 5 - lib/std/special/compiler_rt/aulldiv.zig | 5 - lib/std/special/compiler_rt/aullrem.zig | 5 - lib/std/special/compiler_rt/clear_cache.zig | 5 - lib/std/special/compiler_rt/clzsi2.zig | 5 - lib/std/special/compiler_rt/clzsi2_test.zig | 5 - lib/std/special/compiler_rt/compareXf2.zig | 5 - lib/std/special/compiler_rt/comparedf2_test.zig | 5 - lib/std/special/compiler_rt/comparesf2_test.zig | 5 - lib/std/special/compiler_rt/divdf3.zig | 5 - lib/std/special/compiler_rt/divdf3_test.zig | 5 - lib/std/special/compiler_rt/divsf3.zig | 5 - lib/std/special/compiler_rt/divsf3_test.zig | 5 - lib/std/special/compiler_rt/divtf3.zig | 5 - lib/std/special/compiler_rt/divtf3_test.zig | 5 - lib/std/special/compiler_rt/divti3.zig | 5 - lib/std/special/compiler_rt/divti3_test.zig | 5 - lib/std/special/compiler_rt/emutls.zig | 12 +- lib/std/special/compiler_rt/extendXfYf2.zig | 5 - lib/std/special/compiler_rt/extendXfYf2_test.zig | 5 - lib/std/special/compiler_rt/fixdfdi.zig | 5 - lib/std/special/compiler_rt/fixdfdi_test.zig | 5 - lib/std/special/compiler_rt/fixdfsi.zig | 5 - lib/std/special/compiler_rt/fixdfsi_test.zig | 5 - lib/std/special/compiler_rt/fixdfti.zig | 5 - lib/std/special/compiler_rt/fixdfti_test.zig | 5 - lib/std/special/compiler_rt/fixint.zig | 5 - lib/std/special/compiler_rt/fixint_test.zig | 5 - lib/std/special/compiler_rt/fixsfdi.zig | 5 - lib/std/special/compiler_rt/fixsfdi_test.zig | 5 - lib/std/special/compiler_rt/fixsfsi.zig | 5 - lib/std/special/compiler_rt/fixsfsi_test.zig | 5 - lib/std/special/compiler_rt/fixsfti.zig | 5 - lib/std/special/compiler_rt/fixsfti_test.zig | 5 - lib/std/special/compiler_rt/fixtfdi.zig | 5 - lib/std/special/compiler_rt/fixtfdi_test.zig | 5 - lib/std/special/compiler_rt/fixtfsi.zig | 5 - lib/std/special/compiler_rt/fixtfsi_test.zig | 5 - lib/std/special/compiler_rt/fixtfti.zig | 5 - lib/std/special/compiler_rt/fixtfti_test.zig | 5 - lib/std/special/compiler_rt/fixuint.zig | 5 - lib/std/special/compiler_rt/fixunsdfdi.zig | 5 - lib/std/special/compiler_rt/fixunsdfdi_test.zig | 5 - lib/std/special/compiler_rt/fixunsdfsi.zig | 5 - lib/std/special/compiler_rt/fixunsdfsi_test.zig | 5 - lib/std/special/compiler_rt/fixunsdfti.zig | 5 - lib/std/special/compiler_rt/fixunsdfti_test.zig | 5 - lib/std/special/compiler_rt/fixunssfdi.zig | 5 - lib/std/special/compiler_rt/fixunssfdi_test.zig | 5 - lib/std/special/compiler_rt/fixunssfsi.zig | 5 - lib/std/special/compiler_rt/fixunssfsi_test.zig | 5 - lib/std/special/compiler_rt/fixunssfti.zig | 5 - lib/std/special/compiler_rt/fixunssfti_test.zig | 5 - lib/std/special/compiler_rt/fixunstfdi.zig | 5 - lib/std/special/compiler_rt/fixunstfdi_test.zig | 5 - lib/std/special/compiler_rt/fixunstfsi.zig | 5 - lib/std/special/compiler_rt/fixunstfsi_test.zig | 5 - lib/std/special/compiler_rt/fixunstfti.zig | 5 - lib/std/special/compiler_rt/fixunstfti_test.zig | 5 - lib/std/special/compiler_rt/floatXisf.zig | 5 - lib/std/special/compiler_rt/floatdidf.zig | 5 - lib/std/special/compiler_rt/floatdidf_test.zig | 5 - lib/std/special/compiler_rt/floatdisf_test.zig | 5 - lib/std/special/compiler_rt/floatditf.zig | 5 - lib/std/special/compiler_rt/floatditf_test.zig | 5 - lib/std/special/compiler_rt/floatsiXf.zig | 5 - lib/std/special/compiler_rt/floattidf.zig | 5 - lib/std/special/compiler_rt/floattidf_test.zig | 5 - lib/std/special/compiler_rt/floattisf_test.zig | 5 - lib/std/special/compiler_rt/floattitf.zig | 5 - lib/std/special/compiler_rt/floattitf_test.zig | 5 - lib/std/special/compiler_rt/floatundidf.zig | 5 - lib/std/special/compiler_rt/floatundidf_test.zig | 5 - lib/std/special/compiler_rt/floatundisf.zig | 5 - lib/std/special/compiler_rt/floatunditf.zig | 5 - lib/std/special/compiler_rt/floatunditf_test.zig | 5 - lib/std/special/compiler_rt/floatunsidf.zig | 5 - lib/std/special/compiler_rt/floatunsisf.zig | 5 - lib/std/special/compiler_rt/floatunsitf.zig | 5 - lib/std/special/compiler_rt/floatunsitf_test.zig | 5 - lib/std/special/compiler_rt/floatuntidf.zig | 5 - lib/std/special/compiler_rt/floatuntidf_test.zig | 5 - lib/std/special/compiler_rt/floatuntisf.zig | 5 - lib/std/special/compiler_rt/floatuntisf_test.zig | 5 - lib/std/special/compiler_rt/floatuntitf.zig | 5 - lib/std/special/compiler_rt/floatuntitf_test.zig | 5 - lib/std/special/compiler_rt/int.zig | 5 - lib/std/special/compiler_rt/lshrdi3_test.zig | 5 - lib/std/special/compiler_rt/lshrti3_test.zig | 5 - lib/std/special/compiler_rt/modti3.zig | 5 - lib/std/special/compiler_rt/modti3_test.zig | 5 - lib/std/special/compiler_rt/mulXf3.zig | 5 - lib/std/special/compiler_rt/mulXf3_test.zig | 5 - lib/std/special/compiler_rt/muldi3.zig | 5 - lib/std/special/compiler_rt/muldi3_test.zig | 5 - lib/std/special/compiler_rt/mulodi4.zig | 5 - lib/std/special/compiler_rt/mulodi4_test.zig | 5 - lib/std/special/compiler_rt/muloti4.zig | 5 - lib/std/special/compiler_rt/muloti4_test.zig | 5 - lib/std/special/compiler_rt/multi3.zig | 5 - lib/std/special/compiler_rt/multi3_test.zig | 5 - lib/std/special/compiler_rt/negXf2.zig | 5 - lib/std/special/compiler_rt/popcountdi2.zig | 5 - lib/std/special/compiler_rt/popcountdi2_test.zig | 5 - lib/std/special/compiler_rt/shift.zig | 5 - lib/std/special/compiler_rt/sparc.zig | 5 - lib/std/special/compiler_rt/stack_probe.zig | 5 - lib/std/special/compiler_rt/truncXfYf2.zig | 5 - lib/std/special/compiler_rt/truncXfYf2_test.zig | 5 - lib/std/special/compiler_rt/udivmod.zig | 5 - lib/std/special/compiler_rt/udivmoddi4_test.zig | 5 - lib/std/special/compiler_rt/udivmodti4.zig | 5 - lib/std/special/compiler_rt/udivmodti4_test.zig | 5 - lib/std/special/compiler_rt/udivti3.zig | 5 - lib/std/special/compiler_rt/umodti3.zig | 5 - lib/std/special/ssp.zig | 5 - lib/std/special/test_runner.zig | 5 - lib/std/start.zig | 5 - lib/std/start_windows_tls.zig | 5 - lib/std/std.zig | 6 +- lib/std/target.zig | 5 - lib/std/testing.zig | 5 - lib/std/testing/failing_allocator.zig | 5 - lib/std/time.zig | 7 +- lib/std/time/epoch.zig | 5 - lib/std/unicode.zig | 5 - lib/std/unicode/throughput_test.zig | 5 - lib/std/valgrind.zig | 5 - lib/std/valgrind/callgrind.zig | 5 - lib/std/valgrind/memcheck.zig | 5 - lib/std/wasm.zig | 5 - lib/std/x.zig | 6 - lib/std/x/net/ip.zig | 6 - lib/std/x/net/tcp.zig | 6 - lib/std/x/os/net.zig | 6 - lib/std/x/os/socket.zig | 6 - lib/std/x/os/socket_posix.zig | 104 +- lib/std/x/os/socket_windows.zig | 6 - lib/std/zig.zig | 5 - lib/std/zig/ast.zig | 21 - lib/std/zig/c_builtins.zig | 6 - lib/std/zig/c_translation.zig | 6 - lib/std/zig/cross_target.zig | 5 - lib/std/zig/parse.zig | 41 - lib/std/zig/parser_test.zig | 6 - lib/std/zig/perf_test.zig | 5 - lib/std/zig/render.zig | 9 - lib/std/zig/string_literal.zig | 5 - lib/std/zig/system.zig | 5 - lib/std/zig/system/darwin.zig | 5 - lib/std/zig/system/darwin/macos.zig | 5 - lib/std/zig/system/windows.zig | 5 - lib/std/zig/system/x86.zig | 5 - lib/std/zig/tokenizer.zig | 17 - src/Air.zig | 33 +- src/AstGen.zig | 264 ++-- src/Compilation.zig | 1 + src/Liveness.zig | 10 + src/Module.zig | 398 ++--- src/Sema.zig | 948 +++++++++--- src/TypedValue.zig | 15 +- src/Zir.zig | 16 +- src/codegen.zig | 183 ++- src/codegen/arm.zig | 206 ++- src/codegen/c.zig | 55 +- src/codegen/llvm.zig | 120 +- src/codegen/llvm/bindings.zig | 17 + src/codegen/wasm.zig | 26 +- src/link/Wasm.zig | 8 +- src/main.zig | 1 + src/mingw.zig | 36 +- src/print_air.zig | 22 +- src/stage1/all_types.hpp | 1 + src/stage1/analyze.cpp | 48 - src/stage1/astgen.cpp | 111 +- src/stage1/ir.cpp | 39 +- src/stage1/parser.cpp | 19 +- src/stage1/parser.hpp | 1 + src/stage1/target.cpp | 2 +- src/target.zig | 2 +- src/translate_c.zig | 79 +- src/translate_c/ast.zig | 66 +- src/type.zig | 39 + src/value.zig | 137 +- test/behavior.zig | 3 +- test/behavior/array.zig | 484 ------ test/behavior/array_stage1.zig | 489 ++++++ test/behavior/enum.zig | 2 +- test/behavior/error.zig | 12 +- test/behavior/eval.zig | 31 + test/behavior/eval_stage1.zig | 13 - test/behavior/generics.zig | 39 + test/behavior/generics_stage1.zig | 21 - test/behavior/misc.zig | 33 + test/behavior/struct.zig | 4 +- test/cases.zig | 2 +- test/compare_output.zig | 22 +- test/compile_errors.zig | 65 +- test/run_translated_c.zig | 18 + test/stage2/arm.zig | 102 ++ test/stage2/cbe.zig | 38 + test/stage2/darwin.zig | 2 +- test/stage2/llvm.zig | 25 + tools/update-license-headers.zig | 47 + 599 files changed, 8759 insertions(+), 8140 deletions(-)