fix Analysis/BasicAA/2004-12-08-BasicAACrash.ll by allowing opaque types.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66395 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2009-03-09 04:56:22 +00:00
parent a9a9e07d1c
commit bce6091d95

View File

@ -1058,8 +1058,10 @@ static const Type* getIndexedTypeInternal(const Type *Ptr, IndexTy const *Idxs,
return Agg;
// If there is at least one index, the top level type must be sized, otherwise
// it cannot be 'stepped over'.
if (!Agg->isSized())
// it cannot be 'stepped over'. We explicitly allow abstract types (those
// that contain opaque types) under the assumption that it will be resolved to
// a sane type later.
if (!Agg->isSized() && !Agg->isAbstract())
return 0;
unsigned CurIdx = 1;