OSDN Git Service

[ARM] Set a non-conflicting comment character for assembly in MSVC mode
authorRenato Golin <renato.golin@linaro.org>
Wed, 27 Jul 2016 12:31:58 +0000 (12:31 +0000)
committerRenato Golin <renato.golin@linaro.org>
Wed, 27 Jul 2016 12:31:58 +0000 (12:31 +0000)
commitb9c61f0c040411acf246663e2858b440e44cdbf3
tree88257fbb942c868b60c990f523b824de82f875ae
parentf689bed10b9236556271bb670c1c1903032dd196
[ARM] Set a non-conflicting comment character for assembly in MSVC mode

Currently, for ARMCOFFMCAsmInfoMicrosoft, no comment character is set, thus the
idefault, '#', is used.

The hash character doesn't work as comment character in ARM assembly, since '#'
is used for immediate values.

The comment character is set to ';', which is the comment character used by MS
armasm.exe. (The microsoft armasm.exe uses a different directive syntax than
what LLVM currently supports though, similar to ARM's armasm.)

This allows inline assembly with immediate constants to be built (and brings the
assembly output from clang -S closer to being possible to assemble).

A test is added that verifies that ';' is correctly interpreted as comments in
this mode, and verifies that assembling code that includes literal constants
with a '#' works.

Patch by Martin Storsjö.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@276859 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
test/MC/ARM/Windows/literals-comments.s [new file with mode: 0644]