[AsmParser][SystemZ][z/OS] Introducing HLASM Comment Syntax
authorAnirudh Prasad <Anirudh.Prasad@ibm.com>
Fri, 12 Mar 2021 16:39:03 +0000 (11:39 -0500)
committerKai Nacke <kai@redstar.de>
Fri, 12 Mar 2021 16:56:11 +0000 (11:56 -0500)
commitbcdd40f802a5dfd7b3ac11304e6099bfcdd25b1e
tree5ceb8aab12a78ba99f21ba334efa2baf9a60ccdf
parent81d4e9c146fceabd481a7c682703dc2fce8e1300
[AsmParser][SystemZ][z/OS] Introducing HLASM Comment Syntax

- This patch adds in support for the ordinary HLASM comment syntax asm
  statements (Reference - Chapter 7, Comment Statements, Ordinary Comment
  Statements)
- In brief, the ordinary comment syntax if used, must begin with the "*"
  character
- To achieve this, this patch makes use of the CommentString attribute
  provided in the base MCAsmInfo class
- In the SystemZMCAsmInfo class, the CommentString attribute was set to
  "*" based on the assembler dialect
- Furthermore, a new attribute RestrictCommentString, is provided to only
  treat a string as a comment if it appears at the start of the asm
  statement. Example: "jo *-4" is valid in HLASM (jump back 4 bytes from
  current point - similar to jo -4 in gnu asm) and we don't want "*-4" to
  be treated as a comment.
- RFC for HLASM Parser support implementation: https://lists.llvm.org/pipermail/llvm-dev/2021-January/147686.html

Reviewed By: scott.linder, Kai

Differential Revision: https://reviews.llvm.org/D97703
llvm/include/llvm/MC/MCAsmInfo.h
llvm/lib/MC/MCParser/AsmLexer.cpp
llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp
llvm/unittests/MC/SystemZ/CMakeLists.txt [new file with mode: 0644]
llvm/unittests/MC/SystemZ/SystemZAsmLexerTest.cpp [new file with mode: 0644]