diff options
Diffstat (limited to 'clang/lib/AST/DeclCXX.cpp')
| -rw-r--r-- | clang/lib/AST/DeclCXX.cpp | 5 | 
1 files changed, 4 insertions, 1 deletions
| diff --git a/clang/lib/AST/DeclCXX.cpp b/clang/lib/AST/DeclCXX.cpp index b54f0e2ca60..4b1909e57c6 100644 --- a/clang/lib/AST/DeclCXX.cpp +++ b/clang/lib/AST/DeclCXX.cpp @@ -32,6 +32,7 @@ CXXRecordDecl::DefinitionData::DefinitionData(CXXRecordDecl *D)      Abstract(false), HasTrivialConstructor(true),      HasTrivialCopyConstructor(true), HasTrivialCopyAssignment(true),      HasTrivialDestructor(true), ComputedVisibleConversions(false), +    DeclaredCopyConstructor(false),       DeclaredCopyAssignment(false), DeclaredDestructor(false),      Bases(0), NumBases(0), VBases(0), NumVBases(0),      Definition(D), FirstFriend(0) { @@ -295,11 +296,13 @@ CXXRecordDecl::addedConstructor(ASTContext &Context,    // suppress the implicit declaration of a copy constructor.    if (ConDecl->isCopyConstructor()) {      data().UserDeclaredCopyConstructor = true; - +    data().DeclaredCopyConstructor = true; +          // C++ [class.copy]p6:      //   A copy constructor is trivial if it is implicitly declared.      // FIXME: C++0x: don't do this for "= default" copy constructors.      data().HasTrivialCopyConstructor = false; +        }  } | 

