diff options
author | Chris Lattner <sabre@nondot.org> | 2009-12-29 22:35:39 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-12-29 22:35:39 +0000 |
commit | f2fe7fffab1dfa72e33e374825497a12032b111d (patch) | |
tree | c5a0925cc442fc7d04b677d514d3eee349ac1400 /llvm/lib/AsmParser | |
parent | 79c184e97544313586446edcc3d5b9d176b2cab5 (diff) | |
download | bcm5719-llvm-f2fe7fffab1dfa72e33e374825497a12032b111d.tar.gz bcm5719-llvm-f2fe7fffab1dfa72e33e374825497a12032b111d.zip |
simplify some code and unbreak the build by not consuming an
extra token.
llvm-svn: 92279
Diffstat (limited to 'llvm/lib/AsmParser')
-rw-r--r-- | llvm/lib/AsmParser/LLParser.cpp | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/llvm/lib/AsmParser/LLParser.cpp b/llvm/lib/AsmParser/LLParser.cpp index a849eb75358..a41c5960939 100644 --- a/llvm/lib/AsmParser/LLParser.cpp +++ b/llvm/lib/AsmParser/LLParser.cpp @@ -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; |