diff options
Diffstat (limited to 'src/ir_print.cpp')
| -rw-r--r-- | src/ir_print.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/ir_print.cpp b/src/ir_print.cpp index 8332212d34..f2c0d6a5b4 100644 --- a/src/ir_print.cpp +++ b/src/ir_print.cpp @@ -130,6 +130,8 @@ static const char *ir_bin_op_id_str(IrBinOp op_id) { return "++"; case IrBinOpArrayMult: return "**"; + case IrBinOpMergeErrorSets: + return "||"; } zig_unreachable(); } @@ -148,8 +150,6 @@ static const char *ir_un_op_id_str(IrUnOp op_id) { return "*"; case IrUnOpMaybe: return "?"; - case IrUnOpError: - return "%"; } zig_unreachable(); } @@ -1004,6 +1004,11 @@ static void ir_print_error_return_trace(IrPrint *irp, IrInstructionErrorReturnTr fprintf(irp->f, "@errorReturnTrace()"); } +static void ir_print_error_union(IrPrint *irp, IrInstructionErrorUnion *instruction) { + ir_print_other_instruction(irp, instruction->err_set); + fprintf(irp->f, "!"); + ir_print_other_instruction(irp, instruction->payload); +} static void ir_print_instruction(IrPrint *irp, IrInstruction *instruction) { ir_print_prefix(irp, instruction); @@ -1322,6 +1327,9 @@ static void ir_print_instruction(IrPrint *irp, IrInstruction *instruction) { case IrInstructionIdErrorReturnTrace: ir_print_error_return_trace(irp, (IrInstructionErrorReturnTrace *)instruction); break; + case IrInstructionIdErrorUnion: + ir_print_error_union(irp, (IrInstructionErrorUnion *)instruction); + break; } fprintf(irp->f, "\n"); } |
