Procházet zdrojové kódy

* 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 před 10 roky
rodič
revize
8234fcd229
1 změnil soubory, kde provedl 9 přidání a 0 odebrání
  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;