Browse Source

* 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 10 years ago
parent
commit
8234fcd229
1 changed files with 9 additions and 0 deletions
  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;