[llvm] r277146 - [MC] When emitting output hash comments always use standard line comment seperator

Nirav Dave via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 29 07:42:00 PDT 2016


Author: niravd
Date: Fri Jul 29 09:42:00 2016
New Revision: 277146

URL: http://llvm.org/viewvc/llvm-project?rev=277146&view=rev
Log:
[MC] When emitting output hash comments always use standard line comment seperator

Added:
    llvm/trunk/test/MC/AsmParser/inline-comments-2.ll
Modified:
    llvm/trunk/lib/MC/MCAsmStreamer.cpp
    llvm/trunk/lib/MC/MCParser/AsmLexer.cpp

Modified: llvm/trunk/lib/MC/MCAsmStreamer.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCAsmStreamer.cpp?rev=277146&r1=277145&r2=277146&view=diff
==============================================================================
--- llvm/trunk/lib/MC/MCAsmStreamer.cpp (original)
+++ llvm/trunk/lib/MC/MCAsmStreamer.cpp Fri Jul 29 09:42:00 2016
@@ -357,9 +357,10 @@ void MCAsmStreamer::addExplicitComment(c
     ExplicitCommentToEmit.append("\t");
     ExplicitCommentToEmit.append(c.str());
   } else if (c.front() == '#') {
-    // # are comments for ## commentString. Output extra #.
-    ExplicitCommentToEmit.append("\t#");
-    ExplicitCommentToEmit.append(c.str());
+
+    ExplicitCommentToEmit.append("\t");
+    ExplicitCommentToEmit.append(MAI->getCommentString());
+    ExplicitCommentToEmit.append(c.slice(1, c.size()).str());
   } else
     assert(false && "Unexpected Assembly Comment");
   // full line comments immediately output

Modified: llvm/trunk/lib/MC/MCParser/AsmLexer.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCParser/AsmLexer.cpp?rev=277146&r1=277145&r2=277146&view=diff
==============================================================================
--- llvm/trunk/lib/MC/MCParser/AsmLexer.cpp (original)
+++ llvm/trunk/lib/MC/MCParser/AsmLexer.cpp Fri Jul 29 09:42:00 2016
@@ -197,7 +197,7 @@ AsmToken AsmLexer::LexLineComment() {
     CurChar = getNextChar();
 
   IsAtStartOfLine = true;
-  // Whis is a whole line comment. leave newline
+  // This is a whole line comment. leave newline
   if (IsAtStartOfStatement)
     return AsmToken(AsmToken::EndOfStatement,
                     StringRef(TokStart, CurPtr - TokStart));

Added: llvm/trunk/test/MC/AsmParser/inline-comments-2.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/AsmParser/inline-comments-2.ll?rev=277146&view=auto
==============================================================================
--- llvm/trunk/test/MC/AsmParser/inline-comments-2.ll (added)
+++ llvm/trunk/test/MC/AsmParser/inline-comments-2.ll Fri Jul 29 09:42:00 2016
@@ -0,0 +1,22 @@
+; RUN: llc %s -o - | sed -n -e '/@APP/,/@NO_APP/p' > %t
+; RUN: sed -n -e 's/^;CHECK://p' %s > %t2
+; RUN: diff %t %t2
+
+target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
+target triple = "arm-eabi"
+
+; Function Attrs: nounwind uwtable
+define void @foo() #0 {
+entry:
+  call void asm sideeffect "#isolated preprocessor comment", "~{dirflag},~{fpsr},~{flags}"() #0
+;CHECK:	@APP
+;CHECK:	@isolated preprocessor comment
+;CHECK:	@NO_APP
+  ret void
+}
+
+attributes #0 = { nounwind }
+
+!llvm.ident = !{!0}
+
+!0 = !{!""}




More information about the llvm-commits mailing list