[AsmParser][SystemZ][z/OS] Re-introduce HLASM comment syntax
authorAnirudh Prasad <anirudh_prasad@hotmail.com>
Wed, 24 Mar 2021 14:15:15 +0000 (10:15 -0400)
committerAnirudh Prasad <anirudh_prasad@hotmail.com>
Wed, 24 Mar 2021 14:17:00 +0000 (10:17 -0400)
commit301d9261b787b25a3b1a80af425fea4366f9330d
treee45f77f7742d4636b8990536ead6fc1e820410ab
parentb3386a734e430be967e85ab2fb980eeea927ade8
[AsmParser][SystemZ][z/OS] Re-introduce HLASM comment syntax

- https://reviews.llvm.org/rGb605cfb336989705f391d255b7628062d3dfe9c3 was reverted due to sanitizer bugs in the introduced unit-test (specifically in the Address sanitizer https://lab.llvm.org/buildbot/#/builders/5/builds/5697)
- This patch attempts to rectify that, as well as re-factor parts of the test
- The issue was previously, within the `setupCallToAsmParser` function in the unit-test, `SrcMgr` was declared as a local variable. `SrcMgr` owns a unique pointer. Since the variable goes out of scope at the end of the function, the unique pointer is released.
- This patch, moves the declaration of the `SrcMgr` variable to a class field, since the scope will remain until the class's destructor is invoked (which in this case is at the end of the unit test)
- Furthermore, this patch also moves the `MCContext Ctx` declaration from a local variable instance inside a function, to a unique pointer class field. This ensures the instantiation of the MCContext remains until the tear down of the test.

Reviewed By: abhina.sreeskantharajan

Differential Revision: https://reviews.llvm.org/D99004
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]