OSDN Git Service

[MC] When emitting output hash comments always use standard line comment seperator
authorNirav Dave <niravd@google.com>
Fri, 29 Jul 2016 14:42:00 +0000 (14:42 +0000)
committerNirav Dave <niravd@google.com>
Fri, 29 Jul 2016 14:42:00 +0000 (14:42 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@277146 91177308-0d34-0410-b5e6-96231b3b80d8

lib/MC/MCAsmStreamer.cpp
lib/MC/MCParser/AsmLexer.cpp
test/MC/AsmParser/inline-comments-2.ll [new file with mode: 0644]

index ef2f781..ed85f15 100644 (file)
@@ -357,9 +357,10 @@ void MCAsmStreamer::addExplicitComment(const Twine &T) {
     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
index d56071a..7037bb1 100644 (file)
@@ -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));
diff --git a/test/MC/AsmParser/inline-comments-2.ll b/test/MC/AsmParser/inline-comments-2.ll
new file mode 100644 (file)
index 0000000..70d49a5
--- /dev/null
@@ -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 = !{!""}