doc/langref.html.in | 2 +- doc/langref/test_comptime_shlExact_overflow.zig | 6 + doc/langref/test_comptime_shlExact_overwlow.zig | 6 - src/Air/Legalize.zig | 15 +- src/InternPool.zig | 15 +- src/Sema.zig | 1152 ++- src/Sema/LowerZon.zig | 45 +- src/Sema/arith.zig | 1002 ++- src/Sema/bitcast.zig | 20 +- src/Sema/comptime_ptr_access.zig | 10 +- src/Type.zig | 32 +- src/Value.zig | 823 +- src/Zcu/PerThread.zig | 36 +- src/arch/wasm/CodeGen.zig | 2 +- src/arch/x86_64/CodeGen.zig | 102 +- src/codegen.zig | 2 +- src/codegen/c.zig | 10 +- src/codegen/llvm.zig | 12 +- src/codegen/spirv/CodeGen.zig | 2 +- src/link/Coff.zig | 2 +- src/link/Elf/ZigObject.zig | 2 +- src/link/MachO/ZigObject.zig | 2 +- src/mutable_value.zig | 10 +- test/behavior/bit_shifting.zig | 6 - test/cases/compile_errors/saturating_shl_does_not_allow_negative_rhs.zig | 6 +- test/cases/compile_errors/shift_by_larger_than_usize.zig | 9 + test/cases/compile_errors/shlExact_shifts_out_1_bits.zig | 2 +- test/cases/compile_errors/shl_exact_on_undefined_value.zig | 11 + test/cases/compile_errors/shl_on_undefined_value.zig | 11 + test/cases/compile_errors/shl_with_overflow_on_undefined_value.zig | 11 + test/cases/compile_errors/shr_exact_on_undefined_value.zig | 11 + test/cases/compile_errors/shr_on_undefined_value.zig | 11 + test/cases/compile_errors/undef_arith_is_illegal.zig | 13938 +++++++++++++++++--------------- test/cases/compile_errors/undef_arith_returns_undef.zig | 2190 +++-- test/cases/compile_errors/undef_shifts_are_illegal.zig | 3004 +++++++ 35 files changed, 13260 insertions(+), 9260 deletions(-)