فهرست منبع

+ generate functype directives for all functions in all used units, regardless
of whether they have paraloc info created. This fixes linking of WebAssembly
programs that declare their own classes, because that causes the compiler to
generate a VMT, containing references to virtual methods, and these don't
necessarily have paraloc info (if they're not called from within the program)

Nikolay Nikolov 3 سال پیش
والد
کامیت
99dbbcadcd
1فایلهای تغییر یافته به همراه1 افزوده شده و 2 حذف شده
  1. 1 2
      compiler/wasm32/nwasmutil.pas

+ 1 - 2
compiler/wasm32/nwasmutil.pas

@@ -109,8 +109,7 @@ implementation
                   proc := tprocdef(def);
                   if (po_external in proc.procoptions) and (po_has_importdll in proc.procoptions) then
                     WriteImportDll(list,proc)
-                  else if (not proc.owner.iscurrentunit or (po_external in proc.procoptions)) and
-                     ((proc.paras.Count=0) or (proc.has_paraloc_info in [callerside,callbothsides])) then
+                  else if not proc.owner.iscurrentunit or (po_external in proc.procoptions) then
                     thlcgwasm(hlcg).g_procdef(list,proc);
                 end;
             end;