doc/langref.html.in | 44 ++++
lib/std/Target.zig | 3 +-
lib/std/hash/auto_hash.zig | 1 +
lib/std/lang.zig | 54 ++++
lib/std/mem.zig | 1 +
lib/std/start.zig | 4 +-
lib/std/testing.zig | 2 +
lib/std/zig/AstGen.zig | 10 +
lib/std/zig/AstRlAnnotate.zig | 4 +
lib/std/zig/BuiltinFn.zig | 8 +
lib/std/zig/Zir.zig | 14 +
lib/std/zon/Serializer.zig | 1 +
lib/std/zon/parse.zig | 1 +
src/Air.zig | 7 +
src/Air/Legalize.zig | 1 +
src/Air/Liveness.zig | 2 +-
src/Air/Liveness/Verify.zig | 2 +-
src/Air/print.zig | 1 +
src/InternPool.zig | 113 +++++++-
src/Sema.zig | 443 +++++++++++++++++++++++++++++++-
src/Sema/LowerZon.zig | 2 +
src/Sema/bitcast.zig | 1 +
src/Sema/comptime_ptr_access.zig | 2 +
src/Sema/type_resolution.zig | 45 +++-
src/Type.zig | 31 ++-
src/Value.zig | 8 +-
src/Zcu.zig | 5 +-
src/codegen.zig | 1 +
src/codegen/aarch64/Select.zig | 3 +-
src/codegen/aarch64/abi.zig | 1 +
src/codegen/arm/abi.zig | 1 +
src/codegen/c.zig | 3 +
src/codegen/c/type.zig | 3 +
src/codegen/llvm.zig | 4 +-
src/codegen/llvm/FuncGen.zig | 2 +
src/codegen/mips/abi.zig | 1 +
src/codegen/riscv64/CodeGen.zig | 1 +
src/codegen/riscv64/abi.zig | 1 +
src/codegen/sparc64/CodeGen.zig | 1 +
src/codegen/spirv/Assembler.zig | 2 +-
src/codegen/spirv/CodeGen.zig | 167 ++++++++++--
src/codegen/spirv/Module.zig | 90 +++++--
src/codegen/wasm/CodeGen.zig | 3 +
src/codegen/wasm/abi.zig | 1 +
src/codegen/x86_64/CodeGen.zig | 2 +-
src/codegen/x86_64/abi.zig | 1 +
src/link/ConstPool.zig | 2 +
src/link/Dwarf.zig | 2 +
src/print_value.zig | 1 +
src/print_zir.zig | 10 +
test/behavior.zig | 4 +
test/behavior/spirv.zig | 47 ++++
test/behavior/type_info.zig | 4 +-
test/cases/compile_errors/SpirvType_is_a_compile_error_in_non-SPIRV_targets.zig | 9 +
test/cases/compile_errors/SpirvType_vulkan_target.zig | 56 ++++
test/cases/compile_errors/directly_embedding_spirv_type_in_struct_and_union.zig | 35 +++
56 files changed, 1208 insertions(+), 60 deletions(-)