mirror of
https://github.com/ziglang/zig.git
synced 2026-02-13 04:48:20 +00:00
add a compile error note when C import fails and not linking libc
closes #558
This commit is contained in:
parent
0f54728cf0
commit
3ca861c7dd
@ -18705,6 +18705,10 @@ static IrInstruction *ir_analyze_instruction_c_import(IrAnalyze *ira, IrInstruct
|
||||
|
||||
if (errors.length > 0) {
|
||||
ErrorMsg *parent_err_msg = ir_add_error_node(ira, node, buf_sprintf("C import failed"));
|
||||
if (ira->codegen->libc_link_lib == nullptr) {
|
||||
add_error_note(ira->codegen, parent_err_msg, node,
|
||||
buf_sprintf("libc headers not available; compilation does not link against libc"));
|
||||
}
|
||||
for (size_t i = 0; i < errors.length; i += 1) {
|
||||
ErrorMsg *err_msg = errors.at(i);
|
||||
err_msg_add_note(parent_err_msg, err_msg);
|
||||
|
||||
@ -1,6 +1,17 @@
|
||||
const tests = @import("tests.zig");
|
||||
|
||||
pub fn addCases(cases: *tests.CompileErrorContext) void {
|
||||
cases.addTest(
|
||||
"libc headers note",
|
||||
\\const c = @cImport(@cInclude("stdio.h"));
|
||||
\\export fn entry() void {
|
||||
\\ c.printf("hello, world!\n");
|
||||
\\}
|
||||
,
|
||||
".tmp_source.zig:1:11: error: C import failed",
|
||||
".tmp_source.zig:1:11: note: libc headers not available; compilation does not link against libc",
|
||||
);
|
||||
|
||||
cases.addTest(
|
||||
"comptime vector overflow shows the index",
|
||||
\\comptime {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user