r210092 - Remove incorrect assertion.
Richard Smith
richard-llvm at metafoo.co.uk
Tue Jun 3 01:40:27 PDT 2014
Author: rsmith
Date: Tue Jun 3 03:40:27 2014
New Revision: 210092
URL: http://llvm.org/viewvc/llvm-project?rev=210092&view=rev
Log:
Remove incorrect assertion.
Modified:
cfe/trunk/lib/CodeGen/CGExprAgg.cpp
cfe/trunk/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp
Modified: cfe/trunk/lib/CodeGen/CGExprAgg.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGExprAgg.cpp?rev=210092&r1=210091&r2=210092&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CGExprAgg.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGExprAgg.cpp Tue Jun 3 03:40:27 2014
@@ -439,10 +439,9 @@ void AggExprEmitter::EmitArrayInit(llvm:
// type is an array (or array of array, etc.) of class type.
Expr *filler = E->getArrayFiller();
bool hasTrivialFiller = true;
- if (CXXConstructExpr *cons = dyn_cast_or_null<CXXConstructExpr>(filler)) {
- assert(cons->getConstructor()->isDefaultConstructor());
- hasTrivialFiller = cons->getConstructor()->isTrivial();
- }
+ if (CXXConstructExpr *cons = dyn_cast_or_null<CXXConstructExpr>(filler))
+ hasTrivialFiller = cons->getConstructor()->isDefaultConstructor() &&
+ cons->getConstructor()->isTrivial();
// Any remaining elements need to be zero-initialized, possibly
// using the filler expression. We can skip this if the we're
Modified: cfe/trunk/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp?rev=210092&r1=210091&r2=210092&view=diff
==============================================================================
--- cfe/trunk/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp (original)
+++ cfe/trunk/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp Tue Jun 3 03:40:27 2014
@@ -448,3 +448,10 @@ namespace DR1070 {
};
C c = {};
}
+
+namespace ArrayOfInitList {
+ struct S {
+ S(std::initializer_list<int>);
+ };
+ S x[1] = {};
+}
More information about the cfe-commits
mailing list