mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
AsmParser: Use StringRef for keyword comparisons, NFC
Leverage `StringRef` inside keyword comparison macros. There's no reason to be so low-level here, and I'm about to add another `startswith()` use, so let's make it easy to read. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230100 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
7ef23e62b2
commit
8ab90d412e
@ -486,11 +486,11 @@ lltok::Kind LLLexer::LexIdentifier() {
|
||||
if (!KeywordEnd) KeywordEnd = CurPtr;
|
||||
CurPtr = KeywordEnd;
|
||||
--StartChar;
|
||||
unsigned Len = CurPtr-StartChar;
|
||||
#define KEYWORD(STR) \
|
||||
do { \
|
||||
if (Len == strlen(#STR) && !memcmp(StartChar, #STR, strlen(#STR))) \
|
||||
return lltok::kw_##STR; \
|
||||
StringRef Keyword(StartChar, CurPtr - StartChar);
|
||||
#define KEYWORD(STR) \
|
||||
do { \
|
||||
if (Keyword == #STR) \
|
||||
return lltok::kw_##STR; \
|
||||
} while (0)
|
||||
|
||||
KEYWORD(true); KEYWORD(false);
|
||||
@ -670,7 +670,7 @@ lltok::Kind LLLexer::LexIdentifier() {
|
||||
// Keywords for types.
|
||||
#define TYPEKEYWORD(STR, LLVMTY) \
|
||||
do { \
|
||||
if (Len == strlen(STR) && !memcmp(StartChar, STR, strlen(STR))) { \
|
||||
if (Keyword == STR) { \
|
||||
TyVal = LLVMTY; \
|
||||
return lltok::Type; \
|
||||
} \
|
||||
@ -690,7 +690,7 @@ lltok::Kind LLLexer::LexIdentifier() {
|
||||
// Keywords for instructions.
|
||||
#define INSTKEYWORD(STR, Enum) \
|
||||
do { \
|
||||
if (Len == strlen(#STR) && !memcmp(StartChar, #STR, strlen(#STR))) { \
|
||||
if (Keyword == #STR) { \
|
||||
UIntVal = Instruction::Enum; \
|
||||
return lltok::kw_##STR; \
|
||||
} \
|
||||
@ -748,9 +748,8 @@ lltok::Kind LLLexer::LexIdentifier() {
|
||||
|
||||
#define DWKEYWORD(TYPE, TOKEN) \
|
||||
do { \
|
||||
if (Len >= strlen("DW_" #TYPE "_") && \
|
||||
!memcmp(StartChar, "DW_" #TYPE "_", strlen("DW_" #TYPE "_"))) { \
|
||||
StrVal.assign(StartChar, CurPtr); \
|
||||
if (Keyword.startswith("DW_" #TYPE "_")) { \
|
||||
StrVal.assign(Keyword.begin(), Keyword.end()); \
|
||||
return lltok::TOKEN; \
|
||||
} \
|
||||
} while (false)
|
||||
|
Loading…
Reference in New Issue
Block a user