Browse Source

+ add support for marking an LLVM definition as using "appending" linkage

git-svn-id: trunk@35039 -
Jonas Maebe 8 years ago
parent
commit
97d6f17cc8
2 changed files with 4 additions and 1 deletions
  1. 2 1
      compiler/llvm/aasmllvm.pas
  2. 2 0
      compiler/llvm/agllvm.pas

+ 2 - 1
compiler/llvm/aasmllvm.pas

@@ -161,7 +161,8 @@ interface
       ldf_tls,          { tls definition }
       ldf_tls,          { tls definition }
       ldf_unnamed_addr, { address doesn't matter, only content }
       ldf_unnamed_addr, { address doesn't matter, only content }
       ldf_vectorized,   { vectorized, dead-strippable data }
       ldf_vectorized,   { vectorized, dead-strippable data }
-      ldf_weak          { weak definition }
+      ldf_weak,         { weak definition }
+      ldf_appending     { appending linkage definition }
     );
     );
     taillvmdeclflags = set of taillvmdeclflag;
     taillvmdeclflags = set of taillvmdeclflag;
 
 

+ 2 - 0
compiler/llvm/agllvm.pas

@@ -1193,6 +1193,8 @@ implementation
                   writer.AsmWrite(' =');
                   writer.AsmWrite(' =');
                   if ldf_weak in taillvmdecl(hp).flags then
                   if ldf_weak in taillvmdecl(hp).flags then
                     writer.AsmWrite(' weak');
                     writer.AsmWrite(' weak');
+                  if ldf_appending in taillvmdecl(hp).flags then
+                    writer.AsmWrite(' appending');
                   WriteLinkageVibilityFlags(taillvmdecl(hp).namesym.bind);
                   WriteLinkageVibilityFlags(taillvmdecl(hp).namesym.bind);
                   writer.AsmWrite(' ');
                   writer.AsmWrite(' ');
                   if (ldf_tls in taillvmdecl(hp).flags) then
                   if (ldf_tls in taillvmdecl(hp).flags) then