mirror of
https://github.com/ziglang/zig.git
synced 2025-12-14 10:13:07 +00:00
* without this, when an included relocatable references a common symbol from another translation unit would not be correctly removed from the unresolved lookup table triggering a misleading assertion down the line * assert upon removal that we indeed removed a ref instead of silently ignoring in debug * add test case that covers this issue
17 lines
390 B
Zig
17 lines
390 B
Zig
const std = @import("std");
|
|
const expect = std.testing.expect;
|
|
|
|
extern fn common_defined_externally() c_int;
|
|
extern fn incr_i() void;
|
|
extern fn add_to_i_and_j(x: c_int) c_int;
|
|
|
|
test "undef shadows common symbol: issue #9937" {
|
|
try expect(common_defined_externally() == 0);
|
|
}
|
|
|
|
test "import C common symbols" {
|
|
incr_i();
|
|
const res = add_to_i_and_j(2);
|
|
try expect(res == 5);
|
|
}
|