Insetead of assert() just emit an error message for
an unimplemented work and continue.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43449 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/CodeGen/CGExprAgg.cpp b/CodeGen/CGExprAgg.cpp
index 5f353ed..9e2368e 100644
--- a/CodeGen/CGExprAgg.cpp
+++ b/CodeGen/CGExprAgg.cpp
@@ -185,8 +185,12 @@
unsigned NumInitElements = E->getNumInits();
- assert ( E->getType()->isArrayType()
- && "Only Array initializers are supported");
+ if (!E->getType()->isArrayType()) {
+ fprintf(stderr, "Unimplemented aggregate expr! ");
+ fprintf(stderr, "Only Array initializers are implemneted\n");
+ E->dump(CGF.getContext().SourceMgr);
+ return;
+ }
std::vector<llvm::Constant*> ArrayElts;
const llvm::PointerType *APType = cast<llvm::PointerType>(DestPtr->getType());