Переглянути джерело

+ also support funcref parameters in create_functype_common

Nikolay Nikolov 2 роки тому
батько
коміт
ad69c6e1b5
1 змінених файлів з 3 додано та 1 видалено
  1. 3 1
      compiler/wasm32/symcpu.pas

+ 3 - 1
compiler/wasm32/symcpu.pas

@@ -239,7 +239,9 @@ implementation
           for i:=0 to pd.paras.Count-1 do
             begin
               prm := tcpuparavarsym(pd.paras[i]);
-              case prm.paraloc[callerside].Size of
+              if (prm.vardef.typ=procvardef) and (po_wasm_funcref in tprocvardef(prm.vardef).procoptions) then
+                result.add_param(wbt_funcref)
+              else case prm.paraloc[callerside].Size of
                 OS_8..OS_32, OS_S8..OS_S32:
                   result.add_param(wbt_i32);
                 OS_64, OS_S64: