summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86AsmPrinter.cpp
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2006-12-01 07:15:24 +0000
committerEvan Cheng <evan.cheng@apple.com>2006-12-01 07:15:24 +0000
commit6476a3b4ba5be9a59a15c7895277bb6ce4d1db46 (patch)
tree1904f3a66538b38db32a7a5345aaf906ddd787d0 /llvm/lib/Target/X86/X86AsmPrinter.cpp
parent8bbf5e20cc2d6ca1153245461c2b3e6f955ccd12 (diff)
downloadbcm5719-llvm-6476a3b4ba5be9a59a15c7895277bb6ce4d1db46.tar.gz
bcm5719-llvm-6476a3b4ba5be9a59a15c7895277bb6ce4d1db46.zip
Darwin X86 external weak linkage support.
llvm-svn: 32065
Diffstat (limited to 'llvm/lib/Target/X86/X86AsmPrinter.cpp')
-rw-r--r--llvm/lib/Target/X86/X86AsmPrinter.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/llvm/lib/Target/X86/X86AsmPrinter.cpp b/llvm/lib/Target/X86/X86AsmPrinter.cpp
index cb792ad1ce0..f81a33e75f1 100644
--- a/llvm/lib/Target/X86/X86AsmPrinter.cpp
+++ b/llvm/lib/Target/X86/X86AsmPrinter.cpp
@@ -283,10 +283,7 @@ bool X86SharedAsmPrinter::doFinalization(Module &M) {
O << "\t.ascii \" -export:" << *i << "\"\n";
}
- if (Subtarget->isTargetDarwin()) {
- if (ExtWeakSymbols.begin() != ExtWeakSymbols.end())
- assert(0 && "External weak linkage for Darwin not implemented yet");
- } else if (Subtarget->isTargetCygwin()) {
+ if (Subtarget->isTargetCygwin()) {
// There is no external weak linkage on Mingw32 platform.
// Defaulting to external
} else {
@@ -296,7 +293,8 @@ bool X86SharedAsmPrinter::doFinalization(Module &M) {
for (std::set<std::string>::iterator i = ExtWeakSymbols.begin(),
e = ExtWeakSymbols.end();
i != e; ++i) {
- O << "\t.weak " << *i << "\n";
+ O << (Subtarget->isTargetDarwin() ? "\t.weak_reference" : "\t.weak")
+ << " " << *i << "\n";
}
}
OpenPOWER on IntegriCloud