[mips] Stop parsing a .set assignment if the first argument is not an identifier

Before this fix the following code triggers two error messages. The
second one is at least useless:

  test.s:1:9: error: expected identifier after .set
    .set  123, $a0
          ^
  test-set.s:1:9: error: unexpected token, expected comma
    .set  123, $a0
          ^

llvm-svn: 333402
diff --git a/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp b/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
index 1926190..312f071 100644
--- a/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
+++ b/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
@@ -6843,7 +6843,7 @@
   MCAsmParser &Parser = getParser();
 
   if (Parser.parseIdentifier(Name))
-    reportParseError("expected identifier after .set");
+    return reportParseError("expected identifier after .set");
 
   if (getLexer().isNot(AsmToken::Comma))
     return reportParseError("unexpected token, expected comma");
@@ -7330,8 +7330,7 @@
     return parseSetNoGINVDirective();
   } else {
     // It is just an identifier, look for an assignment.
-    parseSetAssignment();
-    return false;
+    return parseSetAssignment();
   }
 
   return true;
diff --git a/llvm/test/MC/Mips/mips_directives_bad.s b/llvm/test/MC/Mips/mips_directives_bad.s
index a4512b5..494333d 100644
--- a/llvm/test/MC/Mips/mips_directives_bad.s
+++ b/llvm/test/MC/Mips/mips_directives_bad.s
@@ -57,3 +57,13 @@
 # CHECK-NEXT:    :{{[0-9]+}}:{{[0-9]+}}: error: unexpected token, expected end of statement
 # CHECK-NEXT:    .option pic2 pic3
 # CHECK-NEXT:                 ^
+
+    .set 123, $a0
+# CHECK-NEXT:    :{{[0-9]+}}:{{[0-9]+}}: error: expected identifier after .set
+# CHECK-NEXT:    .set  123
+# CHECK-NEXT:          ^
+
+    .set reg.
+# CHECK-NEXT:    :{{[0-9]+}}:{{[0-9]+}}: error: unexpected token, expected comma
+# CHECK-NEXT:    .set  reg.
+# CHECK-NEXT:             ^