MC: Better handling of tricky symbol and section names
authorHans Wennborg <hans@hanshq.net>
Wed, 16 Oct 2013 01:20:40 +0000 (01:20 +0000)
committerHans Wennborg <hans@hanshq.net>
Wed, 16 Oct 2013 01:20:40 +0000 (01:20 +0000)
commit508d7b7330968c48e69f0da82c66bdcc0afe6190
treeb55d6135b721f51ccb8a9db2b5c3283b5b211430
parentc7ce3e4f42219003f30382be17d966cb2dfb4e71
MC: Better handling of tricky symbol and section names

Because of win32 mangling, we produce symbol and section names with
funny characters in them, most notably @ characters.

MC would choke on trying to parse its own assembly output. This patch addresses
that by:

- Making @ trigger quoting of symbol names
- Also quote section names in the same way
- Just parse section names like other identifiers (to allow for quotes)
- Don't assume @ signifies a symbol variant if it is in a string.

Differential Revision: http://llvm-reviews.chandlerc.com/D1945

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192758 91177308-0d34-0410-b5e6-96231b3b80d8
lib/MC/MCParser/AsmParser.cpp
lib/MC/MCParser/COFFAsmParser.cpp
lib/MC/MCSectionCOFF.cpp
lib/MC/MCSymbol.cpp
test/CodeGen/X86/coff-feat00.ll
test/CodeGen/X86/fastcall-correct-mangling.ll
test/CodeGen/X86/stdcall.ll
test/MC/COFF/quoted-names.ll [new file with mode: 0644]