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
diff --git a/lib/Sema/Sema.h b/lib/Sema/Sema.h
index e01bf23..f17b77b 100644
--- a/lib/Sema/Sema.h
+++ b/lib/Sema/Sema.h
@@ -1468,7 +1468,7 @@
                                                     SourceLocation MemberLoc,
                                                     IdentifierInfo &Member,
                                                     DeclPtrTy ImplDecl);
-  virtual void ActOnDefaultInitializers(DeclPtrTy ConstructorDecl);
+  virtual void ActOnDefaultCDtorInitializers(DeclPtrTy CDtorDecl);
   bool ConvertArgumentsForCall(CallExpr *Call, Expr *Fn,
                                FunctionDecl *FDecl,
                                const FunctionProtoType *Proto,
diff --git a/lib/Sema/SemaDeclCXX.cpp b/lib/Sema/SemaDeclCXX.cpp
index 7d039dc..c62858a 100644
--- a/lib/Sema/SemaDeclCXX.cpp
+++ b/lib/Sema/SemaDeclCXX.cpp
@@ -902,15 +902,18 @@
   }
 }
 
-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 {