| ... | ... | @@ -21312,12 +21312,15 @@ static IrInstruction *ir_analyze_instruction_c_import(IrAnalyze *ira, IrInstruct |
| 21312 | 21312 | } |
| 21313 | 21313 | for (size_t i = 0; i < errors_len; i += 1) { |
| 21314 | 21314 | Stage2ErrorMsg *clang_err = &errors_ptr[i]; |
| 21315 | | ErrorMsg *err_msg = err_msg_create_with_offset( |
| 21316 | | clang_err->filename_ptr ? |
| 21317 | | buf_create_from_mem(clang_err->filename_ptr, clang_err->filename_len) : buf_alloc(), |
| 21318 | | clang_err->line, clang_err->column, clang_err->offset, clang_err->source, |
| 21319 | | buf_create_from_mem(clang_err->msg_ptr, clang_err->msg_len)); |
| 21320 | | err_msg_add_note(parent_err_msg, err_msg); |
| 21315 | 		// Clang can emit "too many errors, stopping now", in which case `source` and `filename_ptr` are null |
| 21316 | 		if (clang_err->source && clang_err->filename_ptr) { |
| 21317 | ErrorMsg *err_msg = err_msg_create_with_offset( |
| 21318 | clang_err->filename_ptr ? |
| 21319 | buf_create_from_mem(clang_err->filename_ptr, clang_err->filename_len) : buf_alloc(), |
| 21320 | clang_err->line, clang_err->column, clang_err->offset, clang_err->source, |
| 21321 | buf_create_from_mem(clang_err->msg_ptr, clang_err->msg_len)); |
| 21322 | err_msg_add_note(parent_err_msg, err_msg); |
| 21323 | 		} |
| 21321 | 21324 | } |
| 21322 | 21325 | |
| 21323 | 21326 | return ira->codegen->invalid_instruction; |