aboutsummaryrefslogtreecommitdiff
path: root/src/Module.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/Module.zig')
-rw-r--r--src/Module.zig9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/Module.zig b/src/Module.zig
index 43c0178863..a42ec3c2e1 100644
--- a/src/Module.zig
+++ b/src/Module.zig
@@ -754,6 +754,15 @@ pub const Decl = struct {
fn removeDependency(decl: *Decl, other: *Decl) void {
assert(decl.dependencies.swapRemove(other));
}
+
+ pub fn isExtern(decl: Decl) bool {
+ assert(decl.has_tv);
+ return switch (decl.val.tag()) {
+ .extern_fn => true,
+ .variable => decl.val.castTag(.variable).?.data.init.tag() == .unreachable_value,
+ else => false,
+ };
+ }
};
/// This state is attached to every Decl when Module emit_h is non-null.