aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Enderby <enderby@apple.com>2010-12-24 00:12:02 +0000
committerKevin Enderby <enderby@apple.com>2010-12-24 00:12:02 +0000
commitd82ed5b7347173a827969966db740c2b34d605b9 (patch)
tree042088a2370ba864bb3b39f803d31a4eeab731e5
parentf12eee75d1f8a3e276d03cc0fda95d18097fb08e (diff)
downloadexternal_llvm-d82ed5b7347173a827969966db740c2b34d605b9.zip
external_llvm-d82ed5b7347173a827969966db740c2b34d605b9.tar.gz
external_llvm-d82ed5b7347173a827969966db740c2b34d605b9.tar.bz2
In llvm-mc parse a Hash token as a full line comment. Allows handling of
preprocessed .s files and matches darwin gas. rdar://8798690 Also fix a comment on the next line of AsmParser.cpp after this new code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122531 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/MC/MCParser/AsmParser.cpp9
-rw-r--r--test/MC/AsmParser/full_line_comment.s8
2 files changed, 15 insertions, 2 deletions
diff --git a/lib/MC/MCParser/AsmParser.cpp b/lib/MC/MCParser/AsmParser.cpp
index 2f53b21..aac5535 100644
--- a/lib/MC/MCParser/AsmParser.cpp
+++ b/lib/MC/MCParser/AsmParser.cpp
@@ -831,12 +831,17 @@ bool AsmParser::ParseStatement() {
return false;
}
- // Statements always start with an identifier.
+ // Statements always start with an identifier or are a full line comment.
AsmToken ID = getTok();
SMLoc IDLoc = ID.getLoc();
StringRef IDVal;
int64_t LocalLabelVal = -1;
- // GUESS allow an integer followed by a ':' as a directional local label
+ // A full line comment is a '#' as the first token.
+ if (Lexer.is(AsmToken::Hash)) {
+ EatToEndOfStatement();
+ return false;
+ }
+ // Allow an integer followed by a ':' as a directional local label.
if (Lexer.is(AsmToken::Integer)) {
LocalLabelVal = getTok().getIntVal();
if (LocalLabelVal < 0) {
diff --git a/test/MC/AsmParser/full_line_comment.s b/test/MC/AsmParser/full_line_comment.s
new file mode 100644
index 0000000..4c91986
--- /dev/null
+++ b/test/MC/AsmParser/full_line_comment.s
@@ -0,0 +1,8 @@
+// RUN: llvm-mc -triple arm-apple-darwin10 %s | FileCheck %s
+# this is a full line comment starting at column 1
+ # this starting at column 2
+
+ .data
+// CHECK: .long 0
+.long 0
+# .long 1 this line is commented out