Use ASTContext's allocator to deallocate Stmt objects instead of using 'delete'. This fixes <rdar://problem/6561143>.

llvm-svn: 63905
This commit is contained in:
Ted Kremenek 2009-02-06 01:42:09 +00:00
parent 9f3f72f144
commit fe7a9601e9
1 changed files with 5 additions and 3 deletions

View File

@ -15,6 +15,7 @@
#include "clang/AST/ExprCXX.h"
#include "clang/AST/ExprObjC.h"
#include "clang/AST/Type.h"
#include "clang/AST/ASTContext.h"
using namespace clang;
static struct StmtClassNameTable {
@ -52,13 +53,14 @@ void Stmt::Destroy(ASTContext& C) {
DestroyChildren(C);
// FIXME: Eventually all Stmts should be allocated with the allocator
// in ASTContext, just like with Decls.
// this->~Stmt();
delete this;
this->~Stmt();
C.Deallocate((void *)this);
}
void DeclStmt::Destroy(ASTContext& C) {
DG.Destroy(C);
delete this;
this->~DeclStmt();
C.Deallocate((void *)this);
}
void Stmt::PrintStats() {