diff options
author | Chris Lattner <sabre@nondot.org> | 2009-02-20 18:10:37 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-02-20 18:10:37 +0000 |
commit | ed89b3ff2f02ee9cafb358ee66cf1a8192b5de59 (patch) | |
tree | f1cd097021b399e0cd5040391210b8190465604a /clang/lib/AST/DeclObjC.cpp | |
parent | cdbb5e336d0f6072cc09ec744e1bcf0254c317ab (diff) | |
download | bcm5719-llvm-ed89b3ff2f02ee9cafb358ee66cf1a8192b5de59.tar.gz bcm5719-llvm-ed89b3ff2f02ee9cafb358ee66cf1a8192b5de59.zip |
Change ObjCForwardProtocolDecl to use an ObjCList.
llvm-svn: 65131
Diffstat (limited to 'clang/lib/AST/DeclObjC.cpp')
-rw-r--r-- | clang/lib/AST/DeclObjC.cpp | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/clang/lib/AST/DeclObjC.cpp b/clang/lib/AST/DeclObjC.cpp index b0d36dbab8d..2ae7ccc8165 100644 --- a/clang/lib/AST/DeclObjC.cpp +++ b/clang/lib/AST/DeclObjC.cpp @@ -137,26 +137,21 @@ void ObjCClassDecl::Destroy(ASTContext &C) { ObjCForwardProtocolDecl * ObjCForwardProtocolDecl::Create(ASTContext &C, DeclContext *DC, SourceLocation L, - ObjCProtocolDecl **Elts, unsigned NumElts) { + ObjCProtocolDecl *const *Elts, + unsigned NumElts) { return new (C) ObjCForwardProtocolDecl(DC, L, Elts, NumElts); } ObjCForwardProtocolDecl:: ObjCForwardProtocolDecl(DeclContext *DC, SourceLocation L, - ObjCProtocolDecl **Elts, unsigned nElts) + ObjCProtocolDecl *const *Elts, unsigned nElts) : Decl(ObjCForwardProtocol, DC, L) { - NumReferencedProtocols = nElts; - if (nElts) { - ReferencedProtocols = new ObjCProtocolDecl*[nElts]; - memcpy(ReferencedProtocols, Elts, nElts*sizeof(ObjCProtocolDecl*)); - } else { - ReferencedProtocols = 0; - } + ReferencedProtocols.set(Elts, nElts); } void ObjCForwardProtocolDecl::Destroy(ASTContext &C) { - delete [] ReferencedProtocols; - ReferencedProtocols = 0; + ReferencedProtocols.clear(); + Decl::Destroy(C); } ObjCCategoryDecl *ObjCCategoryDecl::Create(ASTContext &C, DeclContext *DC, |