[PATCH] D97703: [AsmParser][SystemZ][z/OS] Introducing HLASM Comment Syntax
Anirudh Prasad via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 3 20:13:15 PST 2021
anirudhp updated this revision to Diff 328004.
anirudhp added a comment.
- Few minor changes addressing comments.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D97703/new/
https://reviews.llvm.org/D97703
Files:
llvm/include/llvm/MC/MCAsmInfo.h
llvm/lib/MC/MCParser/AsmLexer.cpp
llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp
Index: llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp
===================================================================
--- llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp
+++ llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp
@@ -23,7 +23,8 @@
MaxInstLength = 6;
- CommentString = "#";
+ CommentString = AssemblerDialect == AD_HLASM ? "*" : "#";
+ RestrictCommentStringToStartOfStatement = (AssemblerDialect == AD_HLASM);
ZeroDirective = "\t.space\t";
Data64bitsDirective = "\t.quad\t";
UsesELFSectionDirectiveForBSS = true;
Index: llvm/lib/MC/MCParser/AsmLexer.cpp
===================================================================
--- llvm/lib/MC/MCParser/AsmLexer.cpp
+++ llvm/lib/MC/MCParser/AsmLexer.cpp
@@ -659,6 +659,9 @@
}
bool AsmLexer::isAtStartOfComment(const char *Ptr) {
+ if (MAI.getRestrictCommentStringToStartOfStatement() && !IsAtStartOfStatement)
+ return false;
+
StringRef CommentString = MAI.getCommentString();
if (CommentString.size() == 1)
Index: llvm/include/llvm/MC/MCAsmInfo.h
===================================================================
--- llvm/include/llvm/MC/MCAsmInfo.h
+++ llvm/include/llvm/MC/MCAsmInfo.h
@@ -122,10 +122,14 @@
/// other when on the same line. Defaults to ';'
const char *SeparatorString;
- /// This indicates the comment character used by the assembler. Defaults to
+ /// This indicates the comment string used by the assembler. Defaults to
/// "#"
StringRef CommentString;
+ /// This indicates whether the comment string is only accepted as a comment
+ /// at the beginning of statements. Defaults to false.
+ bool RestrictCommentStringToStartOfStatement = false;
+
/// This is appended to emitted labels. Defaults to ":"
const char *LabelSuffix;
@@ -549,6 +553,9 @@
unsigned getCommentColumn() const { return 40; }
StringRef getCommentString() const { return CommentString; }
+ bool getRestrictCommentStringToStartOfStatement() const {
+ return RestrictCommentStringToStartOfStatement;
+ }
const char *getLabelSuffix() const { return LabelSuffix; }
bool useAssignmentForEHBegin() const { return UseAssignmentForEHBegin; }
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D97703.328004.patch
Type: text/x-patch
Size: 2203 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210304/a662d5db/attachment.bin>
More information about the llvm-commits
mailing list