[llvm-ml] Implement support for MASM's extern directive
authorAlan Zhao <ayzhao@google.com>
Tue, 10 May 2022 18:19:45 +0000 (14:19 -0400)
committerEric Astor <epastor@google.com>
Tue, 10 May 2022 18:36:06 +0000 (14:36 -0400)
commit82c5e302f9e63a3491b5e40aa33771f355791598
tree8c0cb3ebb50249c802ce3518379c551d7bb7e901
parentafc9d674fe5a14b95c50a38d8605a159c2460427
[llvm-ml] Implement support for MASM's extern directive

The EXTERN keyword defines external symbols in MASM.

Credit goes to epastor@ for implementing most of the logic; I (ayzhao@)
added some bugfixes and tests.

[0]: https://docs.microsoft.com/en-us/cpp/assembler/masm/extern-masm?view=msvc-170

Reviewed By: epastor

Submitted By: epastor

Differential Revision: https://reviews.llvm.org/D125273
llvm/lib/MC/MCParser/MasmParser.cpp
llvm/test/tools/llvm-ml/extern.asm [new file with mode: 0644]
llvm/test/tools/llvm-ml/extern_errors.asm [new file with mode: 0644]
llvm/test/tools/llvm-ml/indirect_branch.asm