Explorar o 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 %!s(int64=10) %!d(string=hai) anos
pai
achega
8234fcd229
Modificáronse 1 ficheiros con 9 adicións e 0 borrados
  1. 9 0
      compiler/llvm/hlcgllvm.pas

+ 9 - 0
compiler/llvm/hlcgllvm.pas

@@ -1657,6 +1657,15 @@ implementation
     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;
     begin
       hlcg:=thlcgllvm.create;