.github/workflows/ci.yaml | 18 + ci/riscv64-linux-debug.sh | 58 + ci/riscv64-linux-release.sh | 58 + doc/langref/build_c.zig | 3 +- doc/langref/test_noreturn_from_exit.zig | 2 +- lib/compiler/aro/aro/Parser.zig | 2 +- lib/compiler/aro_translate_c.zig | 2 +- lib/compiler/objcopy.zig | 2 +- lib/std/Build.zig | 321 +- lib/std/Build/Cache.zig | 11 +- lib/std/Build/Step/ConfigHeader.zig | 9 +- lib/std/Build/Step/Run.zig | 18 +- lib/std/Build/Step/TranslateC.zig | 13 - lib/std/Build/Watch.zig | 2 +- lib/std/Io.zig | 1 + lib/std/Io/Reader.zig | 24 +- lib/std/Io/Reader/Limited.zig | 28 +- lib/std/Io/Writer.zig | 42 +- lib/std/Thread.zig | 2 +- lib/std/Thread/Condition.zig | 6 +- lib/std/Thread/Futex.zig | 2 +- lib/std/Thread/ResetEvent.zig | 2 +- lib/std/ascii.zig | 3 - lib/std/atomic.zig | 2 - lib/std/builtin.zig | 55 - lib/std/c.zig | 42 +- lib/std/crypto.zig | 20 +- lib/std/crypto/25519/curve25519.zig | 4 +- lib/std/crypto/25519/edwards25519.zig | 6 +- lib/std/crypto/25519/field.zig | 22 +- lib/std/crypto/25519/ristretto255.zig | 10 +- lib/std/crypto/25519/scalar.zig | 4 +- lib/std/crypto/aegis.zig | 4 +- lib/std/crypto/aes/aesni.zig | 52 +- lib/std/crypto/aes/armcrypto.zig | 52 +- lib/std/crypto/aes/soft.zig | 44 +- lib/std/crypto/aes_gcm.zig | 6 + lib/std/crypto/aes_ocb.zig | 6 +- lib/std/crypto/ascon.zig | 8 +- lib/std/crypto/blake3.zig | 6 +- lib/std/crypto/chacha20.zig | 12 +- lib/std/crypto/codecs/base64_hex_ct.zig | 14 +- lib/std/crypto/ghash_polyval.zig | 10 +- lib/std/crypto/pcurves/p256/p256_64.zig | 8 +- lib/std/crypto/pcurves/p256/p256_scalar_64.zig | 8 +- lib/std/crypto/pcurves/p384/p384_64.zig | 8 +- lib/std/crypto/pcurves/p384/p384_scalar_64.zig | 8 +- lib/std/crypto/pcurves/secp256k1/secp256k1_64.zig | 8 +- lib/std/crypto/pcurves/secp256k1/secp256k1_scalar_64.zig | 8 +- lib/std/crypto/poly1305.zig | 4 +- lib/std/crypto/salsa20.zig | 6 +- lib/std/crypto/timing_safe.zig | 2 +- lib/std/crypto/tls.zig | 6 +- lib/std/crypto/tls/Client.zig | 2 +- lib/std/debug.zig | 9 +- lib/std/fs.zig | 10 - lib/std/fs/Dir.zig | 5 - lib/std/fs/File.zig | 3 +- lib/std/hash.zig | 3 +- lib/std/http/test.zig | 9 +- lib/std/math/big/int.zig | 6 - lib/std/math/big/int_test.zig | 2 +- lib/std/mem.zig | 6 - lib/std/meta.zig | 23 - lib/std/net.zig | 306 +- lib/std/net/test.zig | 20 +- lib/std/os/uefi.zig | 52 +- lib/std/os/uefi/pool_allocator.zig | 24 +- lib/std/os/uefi/tables.zig | 228 +- lib/std/os/uefi/tables/boot_services.zig | 1209 +- lib/std/os/uefi/tables/configuration_table.zig | 18 +- lib/std/os/uefi/tables/runtime_services.zig | 491 +- lib/std/os/windows.zig | 5 +- lib/std/posix.zig | 24 +- lib/std/posix/test.zig | 2 +- lib/std/time.zig | 11 +- lib/std/unicode.zig | 10 - lib/std/valgrind.zig | 12 - lib/std/valgrind/callgrind.zig | 2 - lib/std/valgrind/memcheck.zig | 2 - lib/std/zig.zig | 16 +- lib/std/zig/c_translation.zig | 3 - lib/std/zig/llvm/Builder.zig | 62 +- src/Compilation.zig | 4 +- src/IncrementalDebugServer.zig | 7 +- src/InternPool.zig | 8 +- src/Sema.zig | 15 +- src/Zcu.zig | 4 +- src/arch/wasm/CodeGen.zig | 8 +- src/arch/wasm/Mir.zig | 4 +- src/arch/x86_64/CodeGen.zig | 8 +- src/codegen/llvm.zig | 1219 +- src/codegen/spirv.zig | 550 +- src/codegen/spirv/Assembler.zig | 47 +- src/codegen/spirv/Module.zig | 138 +- src/codegen/spirv/Section.zig | 10 +- src/codegen/spirv/extinst.zig.grammar.json | 20 +- src/codegen/spirv/spec.zig | 21971 +++++++++++++++++--------------- src/libs/libcxx.zig | 11 + src/link/Elf/Object.zig | 3 + src/link/SpirV.zig | 10 +- src/link/SpirV/BinaryModule.zig | 34 +- src/link/SpirV/deduplicate.zig | 22 +- src/link/SpirV/lower_invocation_globals.zig | 4 +- src/link/SpirV/prune_unused.zig | 20 +- src/link/Wasm/Flush.zig | 2 +- src/target.zig | 12 +- test/behavior/fn.zig | 8 +- test/behavior/switch_loop.zig | 10 + test/behavior/type.zig | 2 +- test/c_abi/main.zig | 2 +- test/cases/compile_errors/callconv_from_global_variable.zig | 2 +- test/cases/compile_errors/implicit_cast_of_error_set_not_a_subset.zig | 2 +- test/cases/compile_errors/reify_type.Fn_with_is_generic_true.zig | 2 +- test/cases/compile_errors/reify_type.Fn_with_is_var_args_true_and_non-C_callconv.zig | 2 +- test/cases/compile_errors/reify_type.Fn_with_return_type_null.zig | 2 +- test/src/LlvmIr.zig | 26 +- test/standalone/c_embed_path/build.zig | 6 +- test/standalone/config_header/build.zig | 2 +- test/tests.zig | 13 +- tools/docgen.zig | 2 +- tools/doctest.zig | 2 +- tools/gen_spirv_spec.zig | 300 +- tools/migrate_langref.zig | 2 +- tools/spirv/grammar.zig | 4 + 125 files changed, 15812 insertions(+), 12357 deletions(-)