diff options
-rw-r--r-- | clang/include/clang/AST/DeclCXX.h | 12 | ||||
-rw-r--r-- | clang/lib/AST/DeclCXX.cpp | 5 |
2 files changed, 8 insertions, 9 deletions
diff --git a/clang/include/clang/AST/DeclCXX.h b/clang/include/clang/AST/DeclCXX.h index c523e96e03b..741998def10 100644 --- a/clang/include/clang/AST/DeclCXX.h +++ b/clang/include/clang/AST/DeclCXX.h @@ -750,17 +750,17 @@ public: /// init_const_iterator - Iterates through the memberbase initializer list. typedef CXXBaseOrMemberInitializer * const * init_const_iterator; + /// init_begin() - Retrieve an iterator to the first initializer. + init_iterator init_begin() { return BaseOrMemberInitializers; } /// begin() - Retrieve an iterator to the first initializer. - init_iterator begin() { return BaseOrMemberInitializers; } - /// begin() - Retrieve an iterator to the first initializer. - init_const_iterator begin() const { return BaseOrMemberInitializers; } + init_const_iterator init_begin() const { return BaseOrMemberInitializers; } - /// end() - Retrieve an iterator past the last initializer. - init_iterator end() { + /// init_end() - Retrieve an iterator past the last initializer. + init_iterator init_end() { return BaseOrMemberInitializers + NumBaseOrMemberInitializers; } /// end() - Retrieve an iterator past the last initializer. - init_const_iterator end() const { + init_const_iterator init_end() const { return BaseOrMemberInitializers + NumBaseOrMemberInitializers; } diff --git a/clang/lib/AST/DeclCXX.cpp b/clang/lib/AST/DeclCXX.cpp index b8b29528066..6be675ad834 100644 --- a/clang/lib/AST/DeclCXX.cpp +++ b/clang/lib/AST/DeclCXX.cpp @@ -419,7 +419,7 @@ CXXConstructorDecl::setBaseOrMemberInitializers( if (NumInitializers > 0) { NumBaseOrMemberInitializers = NumInitializers; BaseOrMemberInitializers = - new (C, 8) CXXBaseOrMemberInitializer*[NumInitializers]; + new (C) CXXBaseOrMemberInitializer*[NumInitializers]; for (unsigned Idx = 0; Idx < NumInitializers; ++Idx) BaseOrMemberInitializers[Idx] = Initializers[Idx]; } @@ -428,8 +428,7 @@ CXXConstructorDecl::setBaseOrMemberInitializers( void CXXConstructorDecl::Destroy(ASTContext& C) { C.Deallocate(BaseOrMemberInitializers); - this->~CXXMethodDecl(); - C.Deallocate((void *)this); + CXXMethodDecl::Destroy(C); } CXXConversionDecl * |