diff options
author | Anders Carlsson <andersca@mac.com> | 2009-11-17 04:44:12 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2009-11-17 04:44:12 +0000 |
commit | dee9a3020466eb1f038477a2fb827ce5750b4730 (patch) | |
tree | 7b3d48be2b45976c35717f27087433bb00f82122 /clang/lib/AST/DeclPrinter.cpp | |
parent | cfd3012756054249edde121a2d58a3e5481089ee (diff) | |
download | bcm5719-llvm-dee9a3020466eb1f038477a2fb827ce5750b4730.tar.gz bcm5719-llvm-dee9a3020466eb1f038477a2fb827ce5750b4730.zip |
Unify the way destructor epilogues are generated for synthesized and regular destructors. Also fix PR5529.
llvm-svn: 89034
Diffstat (limited to 'clang/lib/AST/DeclPrinter.cpp')
-rw-r--r-- | clang/lib/AST/DeclPrinter.cpp | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/clang/lib/AST/DeclPrinter.cpp b/clang/lib/AST/DeclPrinter.cpp index d9d195016bf..b88a971f1ec 100644 --- a/clang/lib/AST/DeclPrinter.cpp +++ b/clang/lib/AST/DeclPrinter.cpp @@ -401,37 +401,6 @@ void DeclPrinter::VisitFunctionDecl(FunctionDecl *D) { } } } - else if (CXXDestructorDecl *DDecl = dyn_cast<CXXDestructorDecl>(D)) { - if (DDecl->getNumBaseOrMemberDestructions() > 0) { - // List order of base/member destruction for visualization purposes. - assert (D->isThisDeclarationADefinition() && "Destructor with dtor-list"); - Proto += "/* : "; - for (CXXDestructorDecl::destr_const_iterator *B = DDecl->destr_begin(), - *E = DDecl->destr_end(); - B != E; ++B) { - uintptr_t BaseOrMember = (*B); - if (B != DDecl->destr_begin()) - Proto += ", "; - - if (DDecl->isMemberToDestroy(BaseOrMember)) { - FieldDecl *FD = DDecl->getMemberToDestroy(BaseOrMember); - Proto += "~"; - Proto += FD->getNameAsString(); - } - else // FIXME. skip dependent types for now. - if (const RecordType *RT = - DDecl->getAnyBaseClassToDestroy(BaseOrMember) - ->getAs<RecordType>()) { - const CXXRecordDecl *BaseDecl = - cast<CXXRecordDecl>(RT->getDecl()); - Proto += "~"; - Proto += BaseDecl->getNameAsString(); - } - Proto += "()"; - } - Proto += " */"; - } - } else AFT->getResultType().getAsStringInternal(Proto, Policy); } else { |