[llvm-commits] [llvm] r41048 - in /llvm/trunk: lib/Target/X86/X86AsmPrinter.cpp test/CodeGen/X86/2007-08-13-AppendingLinkage.ll

Chris Lattner sabre at nondot.org
Mon Aug 13 11:42:38 PDT 2007


Author: lattner
Date: Mon Aug 13 13:42:37 2007
New Revision: 41048

URL: http://llvm.org/viewvc/llvm-project?rev=41048&view=rev
Log:
Fix PR1607


Added:
    llvm/trunk/test/CodeGen/X86/2007-08-13-AppendingLinkage.ll
Modified:
    llvm/trunk/lib/Target/X86/X86AsmPrinter.cpp

Modified: llvm/trunk/lib/Target/X86/X86AsmPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86AsmPrinter.cpp?rev=41048&r1=41047&r2=41048&view=diff

==============================================================================
--- llvm/trunk/lib/Target/X86/X86AsmPrinter.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86AsmPrinter.cpp Mon Aug 13 13:42:37 2007
@@ -231,12 +231,12 @@
         O << "\t.weak\t" << name << "\n";
       }
       break;
-    case GlobalValue::AppendingLinkage:
-      // FIXME: appending linkage variables should go into a section of
-      // their name or something.  For now, just emit them as external.
     case GlobalValue::DLLExportLinkage:
       DLLExportedGVs.insert(Mang->makeNameProper(I->getName(),""));
       // FALL THROUGH
+    case GlobalValue::AppendingLinkage:
+      // FIXME: appending linkage variables should go into a section of
+      // their name or something.  For now, just emit them as external.
     case GlobalValue::ExternalLinkage:
       // If external or appending, declare as a global symbol
       O << "\t.globl " << name << "\n";

Added: llvm/trunk/test/CodeGen/X86/2007-08-13-AppendingLinkage.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/2007-08-13-AppendingLinkage.ll?rev=41048&view=auto

==============================================================================
--- llvm/trunk/test/CodeGen/X86/2007-08-13-AppendingLinkage.ll (added)
+++ llvm/trunk/test/CodeGen/X86/2007-08-13-AppendingLinkage.ll Mon Aug 13 13:42:37 2007
@@ -0,0 +1,12 @@
+; RUN: llvm-as < %s | llc -march=x86 | not grep drectve
+; PR1607
+
+%hlvm_programs_element = type { i8*, i32 (i32, i8**)* }
+ at hlvm_programs = appending constant [1 x %hlvm_programs_element]
+zeroinitializer
+
+define %hlvm_programs_element* @hlvm_get_programs() {
+entry:
+  ret %hlvm_programs_element* getelementptr([1 x %hlvm_programs_element]*  
+                                            @hlvm_programs, i32 0, i32 0)
+}





More information about the llvm-commits mailing list