aboutsummaryrefslogtreecommitdiff
path: root/CodeGen/CGExprAgg.cpp
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2007-10-29 16:56:27 +0000
committerDevang Patel <dpatel@apple.com>2007-10-29 16:56:27 +0000
commit6cb812e186fe8786eaca6086d62564c8cab9e71e (patch)
treef212c8a09041c799b1b9c92d2d7609fcffc46daf /CodeGen/CGExprAgg.cpp
parente780f0db9b2d95265894227affe5211e747f9588 (diff)
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
Diffstat (limited to 'CodeGen/CGExprAgg.cpp')
-rw-r--r--CodeGen/CGExprAgg.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/CodeGen/CGExprAgg.cpp b/CodeGen/CGExprAgg.cpp
index 5f353edcf0..9e2368e1d5 100644
--- a/CodeGen/CGExprAgg.cpp
+++ b/CodeGen/CGExprAgg.cpp
@@ -185,8 +185,12 @@ void AggExprEmitter::VisitInitListExpr(InitListExpr *E) {
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());