Darwin X86 external weak linkage support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32065 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Evan Cheng 2006-12-01 07:15:24 +00:00
parent be737bb006
commit f532c4fc15

View File

@ -283,10 +283,7 @@ bool X86SharedAsmPrinter::doFinalization(Module &M) {
O << "\t.ascii \" -export:" << *i << "\"\n"; O << "\t.ascii \" -export:" << *i << "\"\n";
} }
if (Subtarget->isTargetDarwin()) { if (Subtarget->isTargetCygwin()) {
if (ExtWeakSymbols.begin() != ExtWeakSymbols.end())
assert(0 && "External weak linkage for Darwin not implemented yet");
} else if (Subtarget->isTargetCygwin()) {
// There is no external weak linkage on Mingw32 platform. // There is no external weak linkage on Mingw32 platform.
// Defaulting to external // Defaulting to external
} else { } else {
@ -296,7 +293,8 @@ bool X86SharedAsmPrinter::doFinalization(Module &M) {
for (std::set<std::string>::iterator i = ExtWeakSymbols.begin(), for (std::set<std::string>::iterator i = ExtWeakSymbols.begin(),
e = ExtWeakSymbols.end(); e = ExtWeakSymbols.end();
i != e; ++i) { i != e; ++i) {
O << "\t.weak " << *i << "\n"; O << (Subtarget->isTargetDarwin() ? "\t.weak_reference" : "\t.weak")
<< " " << *i << "\n";
} }
} }