[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