Match case for invalid constant error messages and add a new
authorEric Christopher <echristo@apple.com>
Tue, 12 Apr 2011 00:18:03 +0000 (00:18 +0000)
committerEric Christopher <echristo@apple.com>
Tue, 12 Apr 2011 00:18:03 +0000 (00:18 +0000)
test for invalid hexadecimals.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129326 91177308-0d34-0410-b5e6-96231b3b80d8

lib/MC/MCParser/AsmLexer.cpp
test/MC/AsmParser/exprs-invalid.s

index 0fa782b1d9c8707eeee6aaae321270c07fafe51d..a3d3a492ec8afdb3f73608460f38a3ce4123e601 100644 (file)
@@ -213,13 +213,13 @@ AsmToken AsmLexer::LexDigit() {
 
     // Requires at least one binary digit.
     if (CurPtr == NumStart)
-      return ReturnError(TokStart, "Invalid binary number");
+      return ReturnError(TokStart, "invalid binary number");
 
     StringRef Result(TokStart, CurPtr - TokStart);
 
     long long Value;
     if (Result.substr(2).getAsInteger(2, Value))
-      return ReturnError(TokStart, "Invalid binary number");
+      return ReturnError(TokStart, "invalid binary number");
 
     // The darwin/x86 (and x86-64) assembler accepts and ignores ULL and LL
     // suffixes on integer literals.
@@ -236,11 +236,11 @@ AsmToken AsmLexer::LexDigit() {
 
     // Requires at least one hex digit.
     if (CurPtr == NumStart)
-      return ReturnError(CurPtr-2, "Invalid hexadecimal number");
+      return ReturnError(CurPtr-2, "invalid hexadecimal number");
 
     unsigned long long Result;
     if (StringRef(TokStart, CurPtr - TokStart).getAsInteger(0, Result))
-      return ReturnError(TokStart, "Invalid hexadecimal number");
+      return ReturnError(TokStart, "invalid hexadecimal number");
 
     // The darwin/x86 (and x86-64) assembler accepts and ignores ULL and LL
     // suffixes on integer literals.
@@ -257,7 +257,7 @@ AsmToken AsmLexer::LexDigit() {
   StringRef Result(TokStart, CurPtr - TokStart);
   long long Value;
   if (Result.getAsInteger(8, Value))
-    return ReturnError(TokStart, "Invalid octal number");
+    return ReturnError(TokStart, "invalid octal number");
 
   // The darwin/x86 (and x86-64) assembler accepts and ignores ULL and LL
   // suffixes on integer literals.
index 5baa9dd4c3793aaba1e043b0f01d1ccdcd3a5dfc..dc27d8043f5b2f140c3eaa5bf9974d1a458c720e 100644 (file)
@@ -1,5 +1,8 @@
 // RUN: not llvm-mc -triple x86_64-apple-darwin10 %s 2> %t.err | FileCheck %s
 // RUN: FileCheck --check-prefix=CHECK-ERRORS %s < %t.err
 // CHECK:      .section        __TEXT,__text,regular,pure_instructions
-// CHECK-ERRORS: error: Invalid octal number
+// CHECK-ERRORS: error: invalid octal number
 .long 80+08
+
+// CHECK-ERRORS: error: invalid hexadecimal number
+.long 80+0xzz