[MCParser] Accept uppercase radix variants 0X and 0B

Differential Revision: http://reviews.llvm.org/D14781

llvm-svn: 263802
This commit is contained in:
Colin LeMahieu 2016-03-18 18:22:07 +00:00
parent d1eb5465a0
commit 25f657e37d
3 changed files with 11 additions and 4 deletions

View File

@ -284,7 +284,7 @@ AsmToken AsmLexer::LexDigit() {
return intToken(Result, Value);
}
if (*CurPtr == 'b') {
if ((*CurPtr == 'b') || (*CurPtr == 'B')) {
++CurPtr;
// See if we actually have "0b" as part of something like "jmp 0b\n"
if (!isdigit(CurPtr[0])) {
@ -313,7 +313,7 @@ AsmToken AsmLexer::LexDigit() {
return intToken(Result, Value);
}
if (*CurPtr == 'x') {
if ((*CurPtr == 'x') || (*CurPtr == 'X')) {
++CurPtr;
const char *NumStart = CurPtr;
while (isxdigit(CurPtr[0]))

View File

@ -351,12 +351,12 @@ size_t StringRef::count(StringRef Str) const {
}
static unsigned GetAutoSenseRadix(StringRef &Str) {
if (Str.startswith("0x")) {
if (Str.startswith("0x") || Str.startswith("0X")) {
Str = Str.substr(2);
return 16;
}
if (Str.startswith("0b")) {
if (Str.startswith("0b") || Str.startswith("0B")) {
Str = Str.substr(2);
return 2;
}

View File

@ -0,0 +1,7 @@
# RUN: llvm-mc -triple i386-unknown-unknown %s | FileCheck %s
foo:
.short 0X1
# CHECK: .short 1
.short 0B1
# CHECK: .short 1