Explorar el Código

* implemented thlcgllvm.g_external_wrapper by just declaring the new symbol
as an alias for the old one (rather than creating an interprocedural
jump, which is not possible in llvm IR and which is less efficient
anyway) (declaration for this method was already accidentally committed
in r30722)

git-svn-id: trunk@30777 -

Jonas Maebe hace 10 años
padre
commit
8234fcd229
Se han modificado 1 ficheros con 9 adiciones y 0 borrados
  1. 9 0
      compiler/llvm/hlcgllvm.pas

+ 9 - 0
compiler/llvm/hlcgllvm.pas

@@ -1657,6 +1657,15 @@ implementation
     end;
     end;
 
 
 
 
+  procedure thlcgllvm.g_external_wrapper(list: TAsmList; procdef: tprocdef; const externalname: string);
+    var
+      asmsym: TAsmSymbol;
+    begin
+      asmsym:=current_asmdata.RefAsmSymbol(externalname,AT_FUNCTION);
+      list.concat(taillvmalias.create(asmsym,procdef.mangledname,procdef,llv_default,lll_default));
+    end;
+
+
   procedure create_hlcodegen;
   procedure create_hlcodegen;
     begin
     begin
       hlcg:=thlcgllvm.create;
       hlcg:=thlcgllvm.create;