diff options
Diffstat (limited to 'llvm/lib/MC/MCAsmStreamer.cpp')
-rw-r--r-- | llvm/lib/MC/MCAsmStreamer.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/llvm/lib/MC/MCAsmStreamer.cpp b/llvm/lib/MC/MCAsmStreamer.cpp index 4768c623552..4e571ff98c5 100644 --- a/llvm/lib/MC/MCAsmStreamer.cpp +++ b/llvm/lib/MC/MCAsmStreamer.cpp @@ -151,9 +151,13 @@ void MCAsmStreamer::EmitSymbolDesc(MCSymbol *Symbol, unsigned DescValue) { void MCAsmStreamer::EmitCommonSymbol(MCSymbol *Symbol, unsigned Size, unsigned ByteAlignment) { - OS << ".comm " << *Symbol << ',' << Size; - if (ByteAlignment != 0) - OS << ',' << Log2_32(ByteAlignment); + OS << MAI.getCOMMDirective() << *Symbol << ',' << Size; + if (ByteAlignment != 0 && MAI.getCOMMDirectiveTakesAlignment()) { + if (MAI.getAlignmentIsInBytes()) + OS << ',' << ByteAlignment; + else + OS << ',' << Log2_32(ByteAlignment); + } OS << '\n'; } |