diff options
Diffstat (limited to 'lib/Sema/SemaDeclCXX.cpp')
-rw-r--r-- | lib/Sema/SemaDeclCXX.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/Sema/SemaDeclCXX.cpp b/lib/Sema/SemaDeclCXX.cpp index 7d039dc2d6..c62858ac73 100644 --- a/lib/Sema/SemaDeclCXX.cpp +++ b/lib/Sema/SemaDeclCXX.cpp @@ -902,15 +902,18 @@ void Sema::ActOnMemInitializers(DeclPtrTy ConstructorDecl, } } -void Sema::ActOnDefaultInitializers(DeclPtrTy ConstructorDecl) { - if (!ConstructorDecl) +void Sema::ActOnDefaultCDtorInitializers(DeclPtrTy CDtorDecl) { + if (!CDtorDecl) return; if (CXXConstructorDecl *Constructor - = dyn_cast<CXXConstructorDecl>(ConstructorDecl.getAs<Decl>())) + = dyn_cast<CXXConstructorDecl>(CDtorDecl.getAs<Decl>())) Constructor->setBaseOrMemberInitializers(Context, (CXXBaseOrMemberInitializer **)0, 0); - + else + if (CXXDestructorDecl *Destructor + = dyn_cast<CXXDestructorDecl>(CDtorDecl.getAs<Decl>())) + Destructor->setBaseOrMemberDestructions(Context); } namespace { |