| ... | @@ -3182,8 +3182,13 @@ static IrInstruction *ir_gen_block(IrBuilder *irb, Scope *parent_scope, AstNode | ... | @@ -3182,8 +3182,13 @@ static IrInstruction *ir_gen_block(IrBuilder *irb, Scope *parent_scope, AstNode |
| 3182 | } | 3182 | } |
| 3183 | | 3183 | |
| 3184 | static IrInstruction *ir_gen_bin_op_id(IrBuilder *irb, Scope *scope, AstNode *node, IrBinOp op_id) { | 3184 | static IrInstruction *ir_gen_bin_op_id(IrBuilder *irb, Scope *scope, AstNode *node, IrBinOp op_id) { |
| 3185 | IrInstruction *op1 = ir_gen_node(irb, node->data.bin_op_expr.op1, scope); | 3185 | Scope *inner_scope = scope; |
| 3186 | IrInstruction *op2 = ir_gen_node(irb, node->data.bin_op_expr.op2, scope); | 3186 | if (op_id == IrBinOpArrayCat || op_id == IrBinOpArrayMult) { |
| | 3187 | inner_scope = create_comptime_scope(irb->codegen, node, scope); |
| | 3188 | } |
| | 3189 | |
| | 3190 | IrInstruction *op1 = ir_gen_node(irb, node->data.bin_op_expr.op1, inner_scope); |
| | 3191 | IrInstruction *op2 = ir_gen_node(irb, node->data.bin_op_expr.op2, inner_scope); |
| 3187 | | 3192 | |
| 3188 | if (op1 == irb->codegen->invalid_instruction || op2 == irb->codegen->invalid_instruction) | 3193 | if (op1 == irb->codegen->invalid_instruction || op2 == irb->codegen->invalid_instruction) |
| 3189 | return irb->codegen->invalid_instruction; | 3194 | return irb->codegen->invalid_instruction; |