diff options
author | Chris Lattner <sabre@nondot.org> | 2009-12-29 22:01:50 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-12-29 22:01:50 +0000 |
commit | 42991eeb64ee178bd12ac243b0cfa7b3bde97f49 (patch) | |
tree | 3145c4ba891a479f7f883dffdc035f486585fdde /lib/AsmParser | |
parent | 442ffa1c5688f32b275f7657b5ee3646bfe8ffa3 (diff) | |
download | external_llvm-42991eeb64ee178bd12ac243b0cfa7b3bde97f49.zip external_llvm-42991eeb64ee178bd12ac243b0cfa7b3bde97f49.tar.gz external_llvm-42991eeb64ee178bd12ac243b0cfa7b3bde97f49.tar.bz2 |
clean up some really strange code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92275 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AsmParser')
-rw-r--r-- | lib/AsmParser/LLParser.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/lib/AsmParser/LLParser.cpp b/lib/AsmParser/LLParser.cpp index d0cac3f..9de1caf 100644 --- a/lib/AsmParser/LLParser.cpp +++ b/lib/AsmParser/LLParser.cpp @@ -492,11 +492,12 @@ bool LLParser::ParseMDNode(MDNode *&Result) { return false; } - // Create MDNode forward reference + // Create MDNode forward reference. + + // FIXME: This is not unique enough! std::string FwdRefName = "llvm.mdnode.fwdref." + utostr(MID); - SmallVector<Value *, 1> Elts; - Elts.push_back(MDString::get(Context, FwdRefName)); - MDNode *FwdNode = MDNode::get(Context, Elts.data(), Elts.size()); + Value *V = MDString::get(Context, FwdRefName)); + MDNode *FwdNode = MDNode::get(Context, &V, 1); ForwardRefMDNodes[MID] = std::make_pair(FwdNode, Lex.getLoc()); Result = FwdNode; return false; @@ -521,12 +522,11 @@ bool LLParser::ParseNamedMetadata() { Lex.Lex(); SmallVector<MetadataBase *, 8> Elts; do { - // FIXME: Eat if present. - if (Lex.getKind() != lltok::Metadata) - return TokError("Expected '!' here"); + if (ParseToken(lltok::Metadata, "Expected '!' here")) + return true; Lex.Lex(); - // FIXME: Will crash on mdstrings etc. + // FIXME: This rejects MDStrings. Are they legal in an named MDNode or not? MDNode *N = 0; if (ParseMDNode(N)) return true; Elts.push_back(N); |