aboutsummaryrefslogtreecommitdiff
path: root/src/arch/wasm/CodeGen.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-02-07 13:30:59 -0500
committerGitHub <noreply@github.com>2022-02-07 13:30:59 -0500
commit9acf06d28ac77a52028697dc01f42fd96c230ca9 (patch)
tree6c90921e6437293e84f137adce8364550f43ebb4 /src/arch/wasm/CodeGen.zig
parent3db130ff3d8175adce610f7805a149810cf7989d (diff)
parentdb9500a31401c65327a4fd556f50d74ce75fb858 (diff)
downloadzig-9acf06d28ac77a52028697dc01f42fd96c230ca9.tar.gz
zig-9acf06d28ac77a52028697dc01f42fd96c230ca9.zip
Merge pull request #10803 from ziglang/decl-has-lib-name
stage2: store externs lib name as part of decl
Diffstat (limited to 'src/arch/wasm/CodeGen.zig')
-rw-r--r--src/arch/wasm/CodeGen.zig6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/arch/wasm/CodeGen.zig b/src/arch/wasm/CodeGen.zig
index 67aa9a6c88..8e0ffac76b 100644
--- a/src/arch/wasm/CodeGen.zig
+++ b/src/arch/wasm/CodeGen.zig
@@ -952,7 +952,7 @@ pub const DeclGen = struct {
_ = func_payload;
return self.fail("TODO wasm backend genDecl function pointer", .{});
} else if (decl.val.castTag(.extern_fn)) |extern_fn| {
- const ext_decl = extern_fn.data;
+ const ext_decl = extern_fn.data.owner_decl;
var func_type = try genFunctype(self.gpa, ext_decl.ty, self.target());
func_type.deinit(self.gpa);
ext_decl.fn_link.wasm.type_index = try self.bin_file.putOrGetFuncType(func_type);
@@ -978,7 +978,7 @@ pub const DeclGen = struct {
switch (ty.zigTypeTag()) {
.Fn => {
const fn_decl = switch (val.tag()) {
- .extern_fn => val.castTag(.extern_fn).?.data,
+ .extern_fn => val.castTag(.extern_fn).?.data.owner_decl,
.function => val.castTag(.function).?.data.owner_decl,
else => unreachable,
};
@@ -1776,7 +1776,7 @@ fn airCall(self: *Self, inst: Air.Inst.Index) InnerError!WValue {
if (func_val.castTag(.function)) |func| {
break :blk func.data.owner_decl;
} else if (func_val.castTag(.extern_fn)) |ext_fn| {
- break :blk ext_fn.data;
+ break :blk ext_fn.data.owner_decl;
} else if (func_val.castTag(.decl_ref)) |decl_ref| {
break :blk decl_ref.data;
}