fix deallocation of FunctionDecl::ParamInfo
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62469 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/clang/AST/Decl.h b/include/clang/AST/Decl.h
index c0325bd..050768f 100644
--- a/include/clang/AST/Decl.h
+++ b/include/clang/AST/Decl.h
@@ -664,7 +664,7 @@
SClass(S), IsInline(isInline), IsVirtual(false), IsPure(false),
TypeSpecStartLoc(TSSL) {}
- virtual ~FunctionDecl();
+ virtual ~FunctionDecl() {}
virtual void Destroy(ASTContext& C);
public:
diff --git a/lib/AST/Decl.cpp b/lib/AST/Decl.cpp
index 8ae9311..5ec6aff 100644
--- a/lib/AST/Decl.cpp
+++ b/lib/AST/Decl.cpp
@@ -224,17 +224,15 @@
// FunctionDecl Implementation
//===----------------------------------------------------------------------===//
-FunctionDecl::~FunctionDecl() {
- delete[] ParamInfo;
-}
-
void FunctionDecl::Destroy(ASTContext& C) {
if (Body)
Body->Destroy(C);
for (param_iterator I=param_begin(), E=param_end(); I!=E; ++I)
(*I)->Destroy(C);
-
+
+ C.getAllocator().Deallocate(ParamInfo);
+
Decl::Destroy(C);
}