Commit aebccb06e7

Andrew Kelley <andrew@ziglang.org>
2024-12-24 03:29:16
fix missing missing entry symbol error when no zcu
1 parent 1a4c583
Changed files (1)
src
link
src/link/Wasm/Flush.zig
@@ -69,6 +69,8 @@ pub fn finish(f: *Flush, wasm: *Wasm) !void {
     const is_obj = comp.config.output_mode == .Obj;
     const allow_undefined = is_obj or wasm.import_symbols;
 
+    const entry_name = if (wasm.entry_resolution.isNavOrUnresolved(wasm)) wasm.entry_name else .none;
+
     if (comp.zcu) |zcu| {
         const ip: *const InternPool = &zcu.intern_pool; // No mutations allowed!
 
@@ -88,8 +90,6 @@ pub fn finish(f: *Flush, wasm: *Wasm) !void {
             }
         }
 
-        const entry_name = if (wasm.entry_resolution.isNavOrUnresolved(wasm)) wasm.entry_name else .none;
-
         for (wasm.nav_exports.keys()) |*nav_export| {
             if (ip.isFunctionType(ip.getNav(nav_export.nav_index).typeOf(ip))) {
                 log.debug("flush export '{s}' nav={d}", .{ nav_export.name.slice(wasm), nav_export.nav_index });
@@ -115,13 +115,13 @@ pub fn finish(f: *Flush, wasm: *Wasm) !void {
         for (f.missing_exports.keys()) |exp_name| {
             diags.addError("manually specified export name '{s}' undefined", .{exp_name.slice(wasm)});
         }
+    }
 
-        if (entry_name.unwrap()) |name| {
-            if (wasm.entry_resolution == .unresolved) {
-                var err = try diags.addErrorWithNotes(1);
-                try err.addMsg("entry symbol '{s}' missing", .{name.slice(wasm)});
-                err.addNote("'-fno-entry' suppresses this error", .{});
-            }
+    if (entry_name.unwrap()) |name| {
+        if (wasm.entry_resolution == .unresolved) {
+            var err = try diags.addErrorWithNotes(1);
+            try err.addMsg("entry symbol '{s}' missing", .{name.slice(wasm)});
+            err.addNote("'-fno-entry' suppresses this error", .{});
         }
     }