+ 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)
This commit is contained in:
Nikolay Nikolov 2021-09-29 00:04:23 +03:00
parent 6e7f0744ca
commit 99dbbcadcd

View File

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