From 60cd9558ba1702f9f5011ffa97780c0efe5241d0 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 23 Mar 2005 01:29:26 +0000 Subject: [PATCH] don't crash in some bad cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20776 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/AsmParser/llvmAsmParser.y | 3 +++ 1 file changed, 3 insertions(+) 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...