| ... | @@ -4012,10 +4012,14 @@ static TypeTableEntry *ir_analyze_instruction_call(IrAnalyze *ira, IrInstruction | ... | @@ -4012,10 +4012,14 @@ static TypeTableEntry *ir_analyze_instruction_call(IrAnalyze *ira, IrInstruction |
| 4012 | } | 4012 | } |
| 4013 | | 4013 | |
| 4014 | static TypeTableEntry *ir_analyze_unary_bool_not(IrAnalyze *ira, IrInstructionUnOp *un_op_instruction) { | 4014 | static TypeTableEntry *ir_analyze_unary_bool_not(IrAnalyze *ira, IrInstructionUnOp *un_op_instruction) { |
| | 4015 | IrInstruction *value = un_op_instruction->value->other; |
| | 4016 | if (value->type_entry->id == TypeTableEntryIdInvalid) |
| | 4017 | return ira->codegen->builtin_types.entry_invalid; |
| | 4018 | |
| 4015 | TypeTableEntry *bool_type = ira->codegen->builtin_types.entry_bool; | 4019 | TypeTableEntry *bool_type = ira->codegen->builtin_types.entry_bool; |
| 4016 | | 4020 | |
| 4017 | IrInstruction *casted_value = ir_get_casted_value(ira, un_op_instruction->value->other, bool_type); | 4021 | IrInstruction *casted_value = ir_get_casted_value(ira, value, bool_type); |
| 4018 | if (casted_value == ira->codegen->invalid_instruction) | 4022 | if (casted_value->type_entry->id == TypeTableEntryIdInvalid) |
| 4019 | return ira->codegen->builtin_types.entry_invalid; | 4023 | return ira->codegen->builtin_types.entry_invalid; |
| 4020 | | 4024 | |
| 4021 | ConstExprValue *operand_val = &casted_value->static_value; | 4025 | ConstExprValue *operand_val = &casted_value->static_value; |