Commit ab658e32bd
Changed files (2)
src
test
behavior
src/Sema.zig
@@ -4321,6 +4321,10 @@ pub fn analyzeExport(
const Export = Module.Export;
const mod = sema.mod;
+ if (borrowed_options.linkage == .Internal) {
+ return;
+ }
+
try mod.ensureDeclAnalyzed(exported_decl_index);
const exported_decl = mod.declPtr(exported_decl_index);
// TODO run the same checks as we do for C ABI struct fields
test/behavior/export.zig
@@ -45,3 +45,13 @@ test "exporting enum type and value" {
};
try expect(S.e == .two);
}
+
+test "exporting with internal linkage" {
+ const S = struct {
+ fn foo() callconv(.C) void {}
+ comptime {
+ @export(foo, .{ .name = "exporting_with_internal_linkage_foo", .linkage = .Internal });
+ }
+ };
+ S.foo();
+}