r202859 - [C++11] Make StoredDeclsList move-only.
Benjamin Kramer
benny.kra at googlemail.com
Tue Mar 4 08:42:47 PST 2014
Author: d0k
Date: Tue Mar 4 10:42:46 2014
New Revision: 202859
URL: http://llvm.org/viewvc/llvm-project?rev=202859&view=rev
Log:
[C++11] Make StoredDeclsList move-only.
It is only moved when a StoredDeclsMap grows.
Modified:
cfe/trunk/include/clang/AST/DeclContextInternals.h
Modified: cfe/trunk/include/clang/AST/DeclContextInternals.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/DeclContextInternals.h?rev=202859&r1=202858&r2=202859&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/DeclContextInternals.h (original)
+++ cfe/trunk/include/clang/AST/DeclContextInternals.h Tue Mar 4 10:42:46 2014
@@ -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;
}
More information about the cfe-commits
mailing list