From: Chris Lattner Date: Wed, 23 Mar 2005 01:29:26 +0000 (+0000) Subject: don't crash in some bad cases. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=60cd9558ba1702f9f5011ffa97780c0efe5241d0;p=oota-llvm.git don't crash in some bad cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20776 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y index 0e88c018937..0e61b2beab6 100644 --- a/lib/AsmParser/llvmAsmParser.y +++ b/lib/AsmParser/llvmAsmParser.y @@ -330,6 +330,9 @@ static Value *getVal(const Type *Ty, const ValID &ID) { Value *V = getValNonImprovising(Ty, ID); if (V) return V; + if (!Ty->isFirstClassType() && !isa(Ty)) + ThrowException("Invalid use of a composite type!"); + // If we reached here, we referenced either a symbol that we don't know about // or an id number that hasn't been read yet. We may be referencing something // forward, so just create an entry to be resolved later and get to it...