+ DC->CommentStream.flush();
+ assert(DC->CommentsToEmit.back() == '\n');
+
+ DC->CommentsToEmit.push_back('\n');
+ StringRef Comments = DC->CommentsToEmit.str();
+
+ do {
+ // Emit a line of comments.
+ size_t Position = Comments.find('\n');
+ OS << ' ' << DC->getAsmInfo()->getCommentString()
+ << ' ' << Comments.substr(0, Position) << '\n';
+
+ Comments = Comments.substr(Position+1);
+ } while (!Comments.empty());
+
+ DC->CommentsToEmit.clear();
+ // Tell the comment stream that the vector changed underneath it.
+ DC->CommentStream.resync();
+