diff options
Diffstat (limited to 'lib/CodeGen')
-rw-r--r-- | lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp index 3e54f0992a..bdebcd6eb8 100644 --- a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp +++ b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp @@ -169,26 +169,23 @@ void AsmPrinter::EmitGlobalVariable(const GlobalVariable *GV) { O.PadToColumn(MAI->getCommentColumn()); O << MAI->getCommentString() << ' '; WriteAsOperand(O, GV, /*PrintType=*/false, GV->getParent()); + O << '\n'; } if (GVKind.isCommon()) { // .comm _foo, 42, 4 - O << MAI->getCOMMDirective() << *GVSym << ',' << Size; - if (MAI->getCOMMDirectiveTakesAlignment()) - O << ',' << (MAI->getAlignmentIsInBytes() ? (1 << AlignLog) : AlignLog); + OutStreamer.EmitCommonSymbol(GVSym, Size, 1 << AlignLog); } else if (const char *LComm = MAI->getLCOMMDirective()) { // .lcomm _foo, 42, 4 O << LComm << *GVSym << ',' << Size; if (MAI->getLCOMMDirectiveTakesAlignment()) O << ',' << AlignLog; + O << '\n'; } else { // .local _foo O << "\t.local\t" << *GVSym << '\n'; // .comm _foo, 42, 4 - O << MAI->getCOMMDirective() << *GVSym << ',' << Size; - if (MAI->getCOMMDirectiveTakesAlignment()) - O << ',' << (MAI->getAlignmentIsInBytes() ? (1 << AlignLog) : AlignLog); + OutStreamer.EmitCommonSymbol(GVSym, Size, 1 << AlignLog); } - O << '\n'; return; } |