diff options
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/AST/DeclObjC.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/AST/DeclObjC.cpp b/clang/lib/AST/DeclObjC.cpp index 4e22ebea16b..461bb9697fe 100644 --- a/clang/lib/AST/DeclObjC.cpp +++ b/clang/lib/AST/DeclObjC.cpp @@ -21,7 +21,7 @@ using namespace clang; //===----------------------------------------------------------------------===// void ObjCListBase::Destroy(ASTContext &Ctx) { - delete[] List; + Ctx.Deallocate(List); NumElts = 0; List = 0; } @@ -30,7 +30,8 @@ void ObjCListBase::set(void *const* InList, unsigned Elts, ASTContext &Ctx) { assert(List == 0 && "Elements already set!"); if (Elts == 0) return; // Setting to an empty list is a noop. - List = new void*[Elts]; + + List = new (Ctx) void*[Elts]; NumElts = Elts; memcpy(List, InList, sizeof(void*)*Elts); } |