Преглед на файлове

+ added 'last' or 'first' to the internal promising wrapper name

Nikolay Nikolov преди 2 години
родител
ревизия
9ea1f6de19
променени са 2 файла, в които са добавени 7 реда и са изтрити 4 реда
  1. 1 1
      compiler/symcreat.pas
  2. 6 3
      compiler/wasm32/symcpu.pas

+ 1 - 1
compiler/symcreat.pas

@@ -970,7 +970,7 @@ implementation
       str: ansistring;
       wrapper_name: ansistring;
     begin
-      wrapper_name:=pd.promising_wrapper_name;
+      wrapper_name:=pd.promising_wrapper_name(last);
 
       if is_void(pd.returndef) then
         str:='procedure '

+ 6 - 3
compiler/wasm32/symcpu.pas

@@ -122,7 +122,7 @@ type
     function create_functype: TWasmFuncType;
     function is_pushleftright: boolean; override;
     function suspending_wrapper_name: ansistring;
-    function promising_wrapper_name: ansistring;
+    function promising_wrapper_name(last:boolean): ansistring;
     procedure add_promising_export(aextname: ansistring;last:boolean);
   end;
   tcpuprocdefclass = class of tcpuprocdef;
@@ -382,9 +382,12 @@ implementation
     end;
 
 
-  function tcpuprocdef.promising_wrapper_name: ansistring;
+  function tcpuprocdef.promising_wrapper_name(last: boolean): ansistring;
     begin
-      Result:='__fpc_wasm_promising_'+procsym.realname;
+      if last then
+        Result:='__fpc_wasm_promising_last_'+procsym.realname
+      else
+        Result:='__fpc_wasm_promising_first_'+procsym.realname;
     end;