[MC] When MCInstPrint::printAnnotation uses a comment stream, it has to ensure
authorQuentin Colombet <qcolombet@apple.com>
Tue, 1 Oct 2013 19:21:24 +0000 (19:21 +0000)
committerQuentin Colombet <qcolombet@apple.com>
Tue, 1 Oct 2013 19:21:24 +0000 (19:21 +0000)
that each comment ends with a newline to match the definition in the header
file.

This is part of <rdar://problem/14687488>.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191787 91177308-0d34-0410-b5e6-96231b3b80d8

lib/MC/MCInstPrinter.cpp

index 6a452c8d4a7f50fd5ae42f31ea3f8cc4c4733b33..ba71245d0184fbb61d016bba313a998b0a57f17c 100644 (file)
@@ -31,9 +31,13 @@ void MCInstPrinter::printRegName(raw_ostream &OS, unsigned RegNo) const {
 
 void MCInstPrinter::printAnnotation(raw_ostream &OS, StringRef Annot) {
   if (!Annot.empty()) {
-    if (CommentStream)
+    if (CommentStream) {
       (*CommentStream) << Annot;
-    else
+      // By definition (see MCInstPrinter.h), CommentStream must end with
+      // a newline after each comment.
+      if (Annot.back() != '\n')
+        (*CommentStream) << '\n';
+    } else
       OS << " " << MAI.getCommentString() << " " << Annot;
   }
 }