diff options
| author | LemonBoy <thatlemon@gmail.com> | 2020-11-01 22:14:08 +0100 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2020-11-02 13:40:00 -0500 |
| commit | be26c3bf4e4c6a7654ea68e6606c1167ef969a09 (patch) | |
| tree | 7aa5e1e1f9795f7aa1d01ff970ea22e9dd901d00 /src/stage1/ir.cpp | |
| parent | ad9655db3a0e831f8e88bc902db7363547f9a12b (diff) | |
| download | zig-be26c3bf4e4c6a7654ea68e6606c1167ef969a09.tar.gz zig-be26c3bf4e4c6a7654ea68e6606c1167ef969a09.zip | |
stage1: Fix *WithOverflow intrinsics with u0 values
Closes #5369
Diffstat (limited to 'src/stage1/ir.cpp')
| -rw-r--r-- | src/stage1/ir.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/stage1/ir.cpp b/src/stage1/ir.cpp index 3fea4ed7f0..91fb81c24a 100644 --- a/src/stage1/ir.cpp +++ b/src/stage1/ir.cpp @@ -28880,6 +28880,10 @@ static IrInstGen *ir_analyze_instruction_overflow_op(IrAnalyze *ira, IrInstSrcOv if (type_is_invalid(casted_result_ptr->value->type)) return ira->codegen->invalid_inst_gen; + // Don't write anything to the result pointer. + if (dest_type->data.integral.bit_count == 0) + return ir_const_bool(ira, &instruction->base.base, false); + if (instr_is_comptime(casted_op1) && instr_is_comptime(casted_op2) && instr_is_comptime(casted_result_ptr)) |
