diff options
-rw-r--r-- | llvm/lib/MC/MCParser/AsmLexer.cpp | 2 | ||||
-rw-r--r-- | llvm/test/MC/AsmParser/floating-literals.s | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/MC/MCParser/AsmLexer.cpp b/llvm/lib/MC/MCParser/AsmLexer.cpp index 59da3817c18..1a71d2437df 100644 --- a/llvm/lib/MC/MCParser/AsmLexer.cpp +++ b/llvm/lib/MC/MCParser/AsmLexer.cpp @@ -145,7 +145,7 @@ static void SkipIgnoredIntegerSuffix(const char *&CurPtr) { /// Decimal integer: [1-9][0-9]* AsmToken AsmLexer::LexDigit() { // Decimal integer: [1-9][0-9]* - if (CurPtr[-1] != '0') { + if (CurPtr[-1] != '0' || CurPtr[0] == '.') { while (isdigit(*CurPtr)) ++CurPtr; diff --git a/llvm/test/MC/AsmParser/floating-literals.s b/llvm/test/MC/AsmParser/floating-literals.s index 44f8a5ab0a7..dbeb81fb9ee 100644 --- a/llvm/test/MC/AsmParser/floating-literals.s +++ b/llvm/test/MC/AsmParser/floating-literals.s @@ -10,3 +10,6 @@ # CHECK: .quad 4597526701198935065 # CHECK: .quad -4600933674317040845 .double 5, .232, -11.1 + +# CHECK: .quad 0 +.double 0.0 |