diff options
author | Chris Lattner <sabre@nondot.org> | 2005-03-23 01:29:26 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-03-23 01:29:26 +0000 |
commit | 60cd9558ba1702f9f5011ffa97780c0efe5241d0 (patch) | |
tree | 24bfc0a9b461e048af68e2c9316fcbcd6fc9f7e0 | |
parent | 1e9d1475bce167c9395defdc29d7983595244d9b (diff) |
don't crash in some bad cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20776 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/AsmParser/llvmAsmParser.y | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y index 0e88c01893..0e61b2beab 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<OpaqueType>(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... |