Not just arrays are unsized
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1450 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/TargetData.cpp b/lib/Target/TargetData.cpp
index 09bc600..a2383d1 100644
--- a/lib/Target/TargetData.cpp
+++ b/lib/Target/TargetData.cpp
@@ -95,6 +95,7 @@
static inline void getTypeInfo(const Type *Ty, const TargetData *TD,
unsigned &Size, unsigned char &Alignment) {
+ assert(Ty->isSized() && "Cannot getTypeInfo() on a type that is unsized!");
switch (Ty->getPrimitiveID()) {
case Type::VoidTyID:
case Type::BoolTyID:
@@ -114,7 +115,6 @@
return;
case Type::ArrayTyID: {
const ArrayType *ATy = (const ArrayType *)Ty;
- assert(ATy->isSized() && "Can't get TypeInfo of an unsized array!");
getTypeInfo(ATy->getElementType(), TD, Size, Alignment);
Size *= ATy->getNumElements();
return;