diff options
Diffstat (limited to 'clang/lib/AST/DeclCXX.cpp')
-rw-r--r-- | clang/lib/AST/DeclCXX.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/clang/lib/AST/DeclCXX.cpp b/clang/lib/AST/DeclCXX.cpp index b3607caef64..076e6376d15 100644 --- a/clang/lib/AST/DeclCXX.cpp +++ b/clang/lib/AST/DeclCXX.cpp @@ -259,9 +259,13 @@ CXXRecordDecl::setBases(CXXBaseSpecifier const * const *Bases, // C++ [class.virtual]p1: // A class that declares or inherits a virtual function is called a // polymorphic class. - if (BaseClassDecl->isPolymorphic()) + if (BaseClassDecl->isPolymorphic()) { data().Polymorphic = true; + // An aggregate is a class with [...] no virtual functions. + data().Aggregate = false; + } + // C++0x [class]p7: // A standard-layout class is a class that: [...] // -- has no non-standard-layout base classes |