Remove move constructors that are identical to the generated default move ctor.

llvm-svn: 284856
This commit is contained in:
Benjamin Kramer 2016-10-21 18:55:07 +00:00
parent 0860259434
commit 33e9760376
8 changed files with 4 additions and 63 deletions

View File

@ -201,11 +201,6 @@ namespace consumed {
public:
ConsumedBlockInfo() = default;
ConsumedBlockInfo &operator=(ConsumedBlockInfo &&Other) {
StateMapsArray = std::move(Other.StateMapsArray);
VisitOrder = std::move(Other.VisitOrder);
return *this;
}
ConsumedBlockInfo(unsigned int NumBlocks, PostOrderCFGView *SortedGraph)
: StateMapsArray(NumBlocks), VisitOrder(NumBlocks, 0) {

View File

@ -415,25 +415,8 @@ private:
BlockInfo()
: HasBackEdges(false), UnprocessedSuccessors(0),
ProcessedPredecessors(0) {}
BlockInfo(BlockInfo &&RHS)
: ExitMap(std::move(RHS.ExitMap)),
HasBackEdges(RHS.HasBackEdges),
UnprocessedSuccessors(RHS.UnprocessedSuccessors),
ProcessedPredecessors(RHS.ProcessedPredecessors) {}
BlockInfo &operator=(BlockInfo &&RHS) {
if (this != &RHS) {
ExitMap = std::move(RHS.ExitMap);
HasBackEdges = RHS.HasBackEdges;
UnprocessedSuccessors = RHS.UnprocessedSuccessors;
ProcessedPredecessors = RHS.ProcessedPredecessors;
}
return *this;
}
private:
BlockInfo(const BlockInfo &) = delete;
void operator=(const BlockInfo &) = delete;
BlockInfo(BlockInfo &&) = default;
BlockInfo &operator=(BlockInfo &&) = default;
};
// We implement the CFGVisitor API

View File

@ -432,9 +432,6 @@ private:
bool PreambleEndsAtStartOfLine)
: Buffer(Buffer), Owner(std::move(Owner)), Size(Size),
PreambleEndsAtStartOfLine(PreambleEndsAtStartOfLine) {}
ComputedPreamble(ComputedPreamble &&C)
: Buffer(C.Buffer), Owner(std::move(C.Owner)), Size(C.Size),
PreambleEndsAtStartOfLine(C.PreambleEndsAtStartOfLine) {}
};
ComputedPreamble ComputePreamble(CompilerInvocation &Invocation,
unsigned MaxLines);

View File

@ -350,14 +350,6 @@ class Preprocessor : public RefCountedBase<Preprocessor> {
ThePPLexer(std::move(ThePPLexer)),
TheTokenLexer(std::move(TheTokenLexer)),
TheDirLookup(std::move(TheDirLookup)) {}
IncludeStackInfo(IncludeStackInfo &&RHS)
: CurLexerKind(std::move(RHS.CurLexerKind)),
TheSubmodule(std::move(RHS.TheSubmodule)),
TheLexer(std::move(RHS.TheLexer)),
ThePTHLexer(std::move(RHS.ThePTHLexer)),
ThePPLexer(std::move(RHS.ThePPLexer)),
TheTokenLexer(std::move(RHS.TheTokenLexer)),
TheDirLookup(std::move(RHS.TheDirLookup)) {}
};
std::vector<IncludeStackInfo> IncludeMacroStack;

View File

@ -896,19 +896,6 @@ public:
NumTypos(0),
ManglingContextDecl(ManglingContextDecl), MangleNumbering() { }
// FIXME: This is here only to make MSVC 2013 happy. Remove it and rely on
// the default move constructor once MSVC 2013 is gone.
ExpressionEvaluationContextRecord(ExpressionEvaluationContextRecord &&E)
: Context(E.Context), ParentCleanup(E.ParentCleanup),
IsDecltype(E.IsDecltype), NumCleanupObjects(E.NumCleanupObjects),
NumTypos(E.NumTypos),
SavedMaybeODRUseExprs(std::move(E.SavedMaybeODRUseExprs)),
Lambdas(std::move(E.Lambdas)),
ManglingContextDecl(E.ManglingContextDecl),
MangleNumbering(std::move(E.MangleNumbering)),
DelayedDecltypeCalls(std::move(E.DelayedDecltypeCalls)),
DelayedDecltypeBinds(std::move(E.DelayedDecltypeBinds)) {}
/// \brief Retrieve the mangling numbering context, used to consistently
/// number constructs like lambdas for mangling.
MangleNumberingContext &getMangleNumberingContext(ASTContext &Ctx);

View File

@ -7199,9 +7199,7 @@ class DataRecursiveIntBinOpEvaluator {
enum { AnyExprKind, BinOpKind, BinOpVisitedLHSKind } Kind;
Job() = default;
Job(Job &&J)
: E(J.E), LHSResult(J.LHSResult), Kind(J.Kind),
SpecEvalRAII(std::move(J.SpecEvalRAII)) {}
Job(Job &&) = default;
void startSpeculativeEval(EvalInfo &Info) {
SpecEvalRAII = SpeculativeEvaluationRAII(Info);

View File

@ -257,7 +257,7 @@ private:
struct BeforeInfo {
BeforeInfo() : Visited(0) {}
BeforeInfo(BeforeInfo &&O) : Vect(std::move(O.Vect)), Visited(O.Visited) {}
BeforeInfo(BeforeInfo &&) = default;
BeforeVect Vect;
int Visited;

View File

@ -110,17 +110,6 @@ public:
struct DeclContextLookupTable {
MultiOnDiskHashTable<ASTDeclContextNameLookupTrait> Table;
// These look redundant, but don't remove them -- they work around MSVC 2013's
// inability to synthesize move operations. Without them, the
// MultiOnDiskHashTable will be copied (despite being move-only!).
DeclContextLookupTable() : Table() {}
DeclContextLookupTable(DeclContextLookupTable &&O)
: Table(std::move(O.Table)) {}
DeclContextLookupTable &operator=(DeclContextLookupTable &&O) {
Table = std::move(O.Table);
return *this;
}
};
/// \brief Base class for the trait describing the on-disk hash table for the