llvm-svn: 118896
This commit is contained in:
Chris Lattner 2010-11-12 17:24:29 +00:00
parent dc54b2b285
commit bcdb696f6c
2 changed files with 7 additions and 10 deletions

View File

@ -5030,13 +5030,11 @@ void SelectionDAGBuilder::visitCall(const CallInst &I) {
!MMI.callsExternalVAFunctionWithFloatingPointArguments()) { !MMI.callsExternalVAFunctionWithFloatingPointArguments()) {
for (unsigned i = 0, e = I.getNumArgOperands(); i != e; ++i) { for (unsigned i = 0, e = I.getNumArgOperands(); i != e; ++i) {
const Type* T = I.getArgOperand(i)->getType(); const Type* T = I.getArgOperand(i)->getType();
for (po_iterator<const Type*> i = po_begin(T), for (po_iterator<const Type*> i = po_begin(T), e = po_end(T);
e = po_end(T); i != e; ++i) {
i != e; ++i) { if (!i->isFloatingPointTy()) continue;
if (i->isFloatingPointTy()) { MMI.setCallsExternalVAFunctionWithFloatingPointArguments(true);
MMI.setCallsExternalVAFunctionWithFloatingPointArguments(true); break;
break;
}
} }
} }
} }

View File

@ -580,9 +580,8 @@ void X86AsmPrinter::EmitEndOfAsmFile(Module &M) {
OutStreamer.EmitAssemblerFlag(MCAF_SubsectionsViaSymbols); OutStreamer.EmitAssemblerFlag(MCAF_SubsectionsViaSymbols);
} }
if (Subtarget->isTargetWindows() if (Subtarget->isTargetWindows() && !Subtarget->isTargetCygMing() &&
&& !Subtarget->isTargetCygMing() MMI->callsExternalVAFunctionWithFloatingPointArguments()) {
&& MMI->callsExternalVAFunctionWithFloatingPointArguments()) {
StringRef SymbolName = Subtarget->is64Bit() ? "_fltused" : "__fltused"; StringRef SymbolName = Subtarget->is64Bit() ? "_fltused" : "__fltused";
MCSymbol *S = MMI->getContext().GetOrCreateSymbol(SymbolName); MCSymbol *S = MMI->getContext().GetOrCreateSymbol(SymbolName);
OutStreamer.EmitSymbolAttribute(S, MCSA_Global); OutStreamer.EmitSymbolAttribute(S, MCSA_Global);