]> granicus.if.org Git - clang/commitdiff
Get the base element type even in multidimensional arrays.
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Thu, 28 Apr 2011 20:07:15 +0000 (20:07 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Thu, 28 Apr 2011 20:07:15 +0000 (20:07 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130427 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGExprAgg.cpp

index 457e44d086d56512fd1f079c267d8abb8e6ca81a..8747562ce5f33b30285338d26fbdfee034ddf3b6 100644 (file)
@@ -624,7 +624,8 @@ void AggExprEmitter::VisitInitListExpr(InitListExpr *E) {
 
     bool hasNonTrivialCXXConstructor = false;
     if (CGF.getContext().getLangOptions().CPlusPlus)
-      if (const RecordType *RT = ElementType->getAs<RecordType>()) {
+      if (const RecordType *RT = CGF.getContext()
+                        .getBaseElementType(ElementType)->getAs<RecordType>()) {
         const CXXRecordDecl *RD = cast<CXXRecordDecl>(RT->getDecl());
         hasNonTrivialCXXConstructor = !RD->hasTrivialConstructor();
       }