瀏覽代碼

* 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 年之前
父節點
當前提交
8234fcd229
共有 1 個文件被更改,包括 9 次插入0 次删除
  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;