diff options
Diffstat (limited to 'lib/CodeGen/AsmPrinter/AsmPrinter.cpp')
-rw-r--r-- | lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp index d5ae71f..e12a66e 100644 --- a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp +++ b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp @@ -1126,13 +1126,16 @@ static void EmitGlobalConstantStruct(const ConstantStruct *CS, static void EmitGlobalConstantFP(const ConstantFP *CFP, unsigned AddrSpace, AsmPrinter &AP) { + SmallString<128> TmpBuffer; + // FP Constants are printed as integer constants to avoid losing // precision. if (CFP->getType()->isDoubleTy()) { if (AP.VerboseAsm) { + raw_svector_ostream OS(TmpBuffer); double Val = CFP->getValueAPF().convertToDouble(); // for comment only - AP.O.PadToColumn(AP.MAI->getCommentColumn()); - AP.O << AP.MAI->getCommentString() << " double " << Val << '\n'; + OS << "double " << Val; + AP.OutStreamer.addComment(OS.str()); } uint64_t Val = CFP->getValueAPF().bitcastToAPInt().getZExtValue(); |