simplify some code and unbreak the build by not consuming an
authorChris Lattner <sabre@nondot.org>
Tue, 29 Dec 2009 22:35:39 +0000 (22:35 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 29 Dec 2009 22:35:39 +0000 (22:35 +0000)
extra token.

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

lib/AsmParser/LLParser.cpp

index a849eb753587295adcc24d78c08ab31e28607b14..a41c59609394c208cb8fa7a8aa42a2198a998e6d 100644 (file)
@@ -503,28 +503,22 @@ bool LLParser::ParseMDNode(MDNode *&Result) {
   return false;
 }
 
-///ParseNamedMetadata:
+/// ParseNamedMetadata:
 ///   !foo = !{ !1, !2 }
 bool LLParser::ParseNamedMetadata() {
   assert(Lex.getKind() == lltok::NamedOrCustomMD);
   Lex.Lex();
   std::string Name = Lex.getStrVal();
 
-  if (ParseToken(lltok::equal, "expected '=' here"))
+  if (ParseToken(lltok::equal, "expected '=' here") ||
+      ParseToken(lltok::Metadata, "Expected '!' here") ||
+      ParseToken(lltok::lbrace, "Expected '{' here"))
     return true;
 
-  if (Lex.getKind() != lltok::Metadata)
-    return TokError("Expected '!' here");
-  Lex.Lex();
-
-  if (Lex.getKind() != lltok::lbrace)
-    return TokError("Expected '{' here");
-  Lex.Lex();
   SmallVector<MetadataBase *, 8> Elts;
   do {
     if (ParseToken(lltok::Metadata, "Expected '!' here"))
       return true;
-    Lex.Lex();
     
     // FIXME: This rejects MDStrings.  Are they legal in an named MDNode or not?
     MDNode *N = 0;