aboutsummaryrefslogtreecommitdiff
path: root/lib/Sema/SemaDeclCXX.cpp
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2009-07-15 22:34:08 +0000
committerFariborz Jahanian <fjahanian@apple.com>2009-07-15 22:34:08 +0000
commit560de45ccbf21c5e4dbeef3fc49f932e499cc181 (patch)
treef9d477eeec5d7b350031c47efa84bea707e325d5 /lib/Sema/SemaDeclCXX.cpp
parentfde2efe96e00c5d03e7caaf0c1e67d7b011d9d0c (diff)
Added ASTs to destructor decl AST for default destruction of object's
base/members. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75849 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaDeclCXX.cpp')
-rw-r--r--lib/Sema/SemaDeclCXX.cpp11
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 {