Block pointer types are not aggregate types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61973 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CodeGenFunction.cpp b/lib/CodeGen/CodeGenFunction.cpp
index 2ef4bcf..c1a3438 100644
--- a/lib/CodeGen/CodeGenFunction.cpp
+++ b/lib/CodeGen/CodeGenFunction.cpp
@@ -63,8 +63,11 @@
}
bool CodeGenFunction::hasAggregateLLVMType(QualType T) {
+ // FIXME: Use positive checks instead of negative ones to be more
+ // robust in the face of extension.
return !isObjCPointerType(T) &&!T->isRealType() && !T->isPointerLikeType() &&
- !T->isVoidType() && !T->isVectorType() && !T->isFunctionType();
+ !T->isVoidType() && !T->isVectorType() && !T->isFunctionType() &&
+ !T->isBlockPointerType();
}
void CodeGenFunction::FinishFunction(SourceLocation EndLoc) {