]> granicus.if.org Git - clang/commitdiff
Inside isEmptyRecord function, for CXXRecordDecl just check the isEmpty bit.
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Tue, 17 May 2011 00:46:40 +0000 (00:46 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Tue, 17 May 2011 00:46:40 +0000 (00:46 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131447 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/TargetInfo.cpp

index bc2472cebbeb8106c0c68877ea9c39e449e42c5c..3c18b0b10836e8a462efb2ceb8aa6d9f1344d8ea 100644 (file)
@@ -128,12 +128,9 @@ static bool isEmptyRecord(ASTContext &Context, QualType T, bool AllowArrays) {
   if (RD->hasFlexibleArrayMember())
     return false;
 
-  // If this is a C++ record, check the bases first.
+  // If this is a C++ record, check if it is empty.
   if (const CXXRecordDecl *CXXRD = dyn_cast<CXXRecordDecl>(RD))
-    for (CXXRecordDecl::base_class_const_iterator i = CXXRD->bases_begin(),
-           e = CXXRD->bases_end(); i != e; ++i)
-      if (!isEmptyRecord(Context, i->getType(), true))
-        return false;
+    return CXXRD->isEmpty();
 
   for (RecordDecl::field_iterator i = RD->field_begin(), e = RD->field_end();
          i != e; ++i)