forked from OSchip/llvm-project
Summary: This renames the IsParsingMSInlineAsm member variable of AsmLexer to LexMasmIntegers and moves it up to MCAsmLexer. This is the only behavior controlled by that variable. I added a public setter, so that it can be set from outside or from the llvm-mc command line. We may need to arrange things so that users can get this behavior from clang, but that's future work. I also put additional hex literal lexing functionality under this flag to fix PR32973. It appears that this hex literal parsing wasn't intended to be enabled in non-masm-style blocks. Now, masm integers (0b1101 and 0ABCh) work in __asm blocks from clang, but 0b label references work when using .intel_syntax in standalone .s files. However, 0b label references will *not* work from __asm blocks in clang. They will work from GCC inline asm blocks, which it sounds like is important for Crypto++ as mentioned in PR36144. Essentially, we only lex masm literals for inline asm blobs that use intel syntax. If the .intel_syntax directive is used inside a gnu-style inline asm statement, masm literals will not be lexed, which is compatible with gas and llvm-mc standalone .s assembly. This fixes PR36144 and PR32973. Reviewers: Gerolf, avt77 Subscribers: eraman, hiraditya, llvm-commits Differential Revision: https://reviews.llvm.org/D53535 llvm-svn: 345189 |
||
|---|---|---|
| .. | ||
| ARMException.cpp | ||
| AccelTable.cpp | ||
| AddressPool.cpp | ||
| AddressPool.h | ||
| AsmPrinter.cpp | ||
| AsmPrinterDwarf.cpp | ||
| AsmPrinterHandler.h | ||
| AsmPrinterInlineAsm.cpp | ||
| ByteStreamer.h | ||
| CMakeLists.txt | ||
| CodeViewDebug.cpp | ||
| CodeViewDebug.h | ||
| DIE.cpp | ||
| DIEHash.cpp | ||
| DIEHash.h | ||
| DIEHashAttributes.def | ||
| DbgEntityHistoryCalculator.cpp | ||
| DbgEntityHistoryCalculator.h | ||
| DebugHandlerBase.cpp | ||
| DebugHandlerBase.h | ||
| DebugLocEntry.h | ||
| DebugLocStream.cpp | ||
| DebugLocStream.h | ||
| DwarfCFIException.cpp | ||
| DwarfCompileUnit.cpp | ||
| DwarfCompileUnit.h | ||
| DwarfDebug.cpp | ||
| DwarfDebug.h | ||
| DwarfException.h | ||
| DwarfExpression.cpp | ||
| DwarfExpression.h | ||
| DwarfFile.cpp | ||
| DwarfFile.h | ||
| DwarfStringPool.cpp | ||
| DwarfStringPool.h | ||
| DwarfUnit.cpp | ||
| DwarfUnit.h | ||
| EHStreamer.cpp | ||
| EHStreamer.h | ||
| ErlangGCPrinter.cpp | ||
| LLVMBuild.txt | ||
| OcamlGCPrinter.cpp | ||
| WinCFGuard.cpp | ||
| WinCFGuard.h | ||
| WinException.cpp | ||
| WinException.h | ||