diff options
author | Chris Lattner <sabre@nondot.org> | 2007-08-13 18:42:37 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2007-08-13 18:42:37 +0000 |
commit | 2f8ba2902e22b59972985cdf7f3ede42c7d61267 (patch) | |
tree | 018598ebf50fbabf30cf006b25a29093199858bd | |
parent | cf26acf0d83a62fd029cee5436493fc254965d2e (diff) | |
download | external_llvm-2f8ba2902e22b59972985cdf7f3ede42c7d61267.zip external_llvm-2f8ba2902e22b59972985cdf7f3ede42c7d61267.tar.gz external_llvm-2f8ba2902e22b59972985cdf7f3ede42c7d61267.tar.bz2 |
Fix PR1607
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41048 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/X86/X86AsmPrinter.cpp | 6 | ||||
-rw-r--r-- | test/CodeGen/X86/2007-08-13-AppendingLinkage.ll | 12 |
2 files changed, 15 insertions, 3 deletions
diff --git a/lib/Target/X86/X86AsmPrinter.cpp b/lib/Target/X86/X86AsmPrinter.cpp index ce0fc13..a06cc6f 100644 --- a/lib/Target/X86/X86AsmPrinter.cpp +++ b/lib/Target/X86/X86AsmPrinter.cpp @@ -231,12 +231,12 @@ bool X86SharedAsmPrinter::doFinalization(Module &M) { 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"; diff --git a/test/CodeGen/X86/2007-08-13-AppendingLinkage.ll b/test/CodeGen/X86/2007-08-13-AppendingLinkage.ll new file mode 100644 index 0000000..f6ed0fe --- /dev/null +++ b/test/CodeGen/X86/2007-08-13-AppendingLinkage.ll @@ -0,0 +1,12 @@ +; RUN: llvm-as < %s | llc -march=x86 | not grep drectve +; PR1607 + +%hlvm_programs_element = type { i8*, i32 (i32, i8**)* } +@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) +} |