From b99c6b5d94eeffc27572748c833e5c22335ddb14 Mon Sep 17 00:00:00 2001 From: Benjamin Kramer <benny.kra@googlemail.com> Date: Tue, 4 Mar 2014 16:42:46 +0000 Subject: [PATCH] [C++11] Make StoredDeclsList move-only. It is only moved when a StoredDeclsMap grows. llvm-svn: 202859 --- clang/include/clang/AST/DeclContextInternals.h | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/clang/include/clang/AST/DeclContextInternals.h b/clang/include/clang/AST/DeclContextInternals.h index 9c626c80aaee..f85cea5016b8 100644 --- a/clang/include/clang/AST/DeclContextInternals.h +++ b/clang/include/clang/AST/DeclContextInternals.h @@ -46,10 +46,8 @@ struct StoredDeclsList { public: StoredDeclsList() {} - StoredDeclsList(const StoredDeclsList &RHS) : Data(RHS.Data) { - if (DeclsTy *RHSVec = RHS.getAsVector()) - Data = DeclsAndHasExternalTy(new DeclsTy(*RHSVec), - RHS.hasExternalDecls()); + StoredDeclsList(StoredDeclsList &&RHS) : Data(RHS.Data) { + RHS.Data = (NamedDecl *)0; } ~StoredDeclsList() { @@ -58,12 +56,11 @@ public: delete Vector; } - StoredDeclsList &operator=(const StoredDeclsList &RHS) { + StoredDeclsList &operator=(StoredDeclsList &&RHS) { if (DeclsTy *Vector = getAsVector()) delete Vector; Data = RHS.Data; - if (DeclsTy *RHSVec = RHS.getAsVector()) - Data = DeclsAndHasExternalTy(new DeclsTy(*RHSVec), hasExternalDecls()); + RHS.Data = (NamedDecl *)0; return *this; }