From: Douglas Gregor Date: Tue, 13 Jan 2009 19:47:12 +0000 (+0000) Subject: Turn off some Destroy calls that are currenly causing double-destruction of ScopedDec... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a0fc55f3e9d7d7aa8761d0a9726033947d0d6bc0;p=clang Turn off some Destroy calls that are currenly causing double-destruction of ScopedDecls. We will re-enable this later, when we have time to fully solve the ownership issue. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62175 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/AST/DeclBase.cpp b/lib/AST/DeclBase.cpp index 8eb52b722d..7363bd0247 100644 --- a/lib/AST/DeclBase.cpp +++ b/lib/AST/DeclBase.cpp @@ -332,6 +332,9 @@ void Decl::swapAttrs(Decl *RHS) { void Decl::Destroy(ASTContext& C) { +#if 0 + // FIXME: This causes double-destroys in some cases, so it is + // disabled at the moment. if (ScopedDecl* SD = dyn_cast(this)) { // Observe the unrolled recursion. By setting N->NextDeclarator = 0x0 @@ -347,7 +350,8 @@ void Decl::Destroy(ASTContext& C) { N = Tmp; } } - +#endif + this->~Decl(); C.getAllocator().Deallocate((void *)this); }