소스 검색

+ 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;