aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/MC/MCParser/AsmLexer.cpp2
-rw-r--r--test/MC/AsmParser/floating-literals.s3
2 files changed, 4 insertions, 1 deletions
diff --git a/lib/MC/MCParser/AsmLexer.cpp b/lib/MC/MCParser/AsmLexer.cpp
index 59da3817c1..1a71d2437d 100644
--- a/lib/MC/MCParser/AsmLexer.cpp
+++ b/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/test/MC/AsmParser/floating-literals.s b/test/MC/AsmParser/floating-literals.s
index 44f8a5ab0a..dbeb81fb9e 100644
--- a/test/MC/AsmParser/floating-literals.s
+++ b/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