mirror of https://github.com/microsoft/clang.git
Remove move constructors that are identical to the generated default move ctor.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@284856 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
0f552af6ae
commit
2f23b38eed
|
@ -201,11 +201,6 @@ namespace consumed {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
ConsumedBlockInfo() = default;
|
ConsumedBlockInfo() = default;
|
||||||
ConsumedBlockInfo &operator=(ConsumedBlockInfo &&Other) {
|
|
||||||
StateMapsArray = std::move(Other.StateMapsArray);
|
|
||||||
VisitOrder = std::move(Other.VisitOrder);
|
|
||||||
return *this;
|
|
||||||
}
|
|
||||||
|
|
||||||
ConsumedBlockInfo(unsigned int NumBlocks, PostOrderCFGView *SortedGraph)
|
ConsumedBlockInfo(unsigned int NumBlocks, PostOrderCFGView *SortedGraph)
|
||||||
: StateMapsArray(NumBlocks), VisitOrder(NumBlocks, 0) {
|
: StateMapsArray(NumBlocks), VisitOrder(NumBlocks, 0) {
|
||||||
|
|
|
@ -415,25 +415,8 @@ private:
|
||||||
BlockInfo()
|
BlockInfo()
|
||||||
: HasBackEdges(false), UnprocessedSuccessors(0),
|
: HasBackEdges(false), UnprocessedSuccessors(0),
|
||||||
ProcessedPredecessors(0) {}
|
ProcessedPredecessors(0) {}
|
||||||
BlockInfo(BlockInfo &&RHS)
|
BlockInfo(BlockInfo &&) = default;
|
||||||
: ExitMap(std::move(RHS.ExitMap)),
|
BlockInfo &operator=(BlockInfo &&) = default;
|
||||||
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;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// We implement the CFGVisitor API
|
// We implement the CFGVisitor API
|
||||||
|
|
|
@ -432,9 +432,6 @@ private:
|
||||||
bool PreambleEndsAtStartOfLine)
|
bool PreambleEndsAtStartOfLine)
|
||||||
: Buffer(Buffer), Owner(std::move(Owner)), Size(Size),
|
: Buffer(Buffer), Owner(std::move(Owner)), Size(Size),
|
||||||
PreambleEndsAtStartOfLine(PreambleEndsAtStartOfLine) {}
|
PreambleEndsAtStartOfLine(PreambleEndsAtStartOfLine) {}
|
||||||
ComputedPreamble(ComputedPreamble &&C)
|
|
||||||
: Buffer(C.Buffer), Owner(std::move(C.Owner)), Size(C.Size),
|
|
||||||
PreambleEndsAtStartOfLine(C.PreambleEndsAtStartOfLine) {}
|
|
||||||
};
|
};
|
||||||
ComputedPreamble ComputePreamble(CompilerInvocation &Invocation,
|
ComputedPreamble ComputePreamble(CompilerInvocation &Invocation,
|
||||||
unsigned MaxLines);
|
unsigned MaxLines);
|
||||||
|
|
|
@ -350,14 +350,6 @@ class Preprocessor : public RefCountedBase<Preprocessor> {
|
||||||
ThePPLexer(std::move(ThePPLexer)),
|
ThePPLexer(std::move(ThePPLexer)),
|
||||||
TheTokenLexer(std::move(TheTokenLexer)),
|
TheTokenLexer(std::move(TheTokenLexer)),
|
||||||
TheDirLookup(std::move(TheDirLookup)) {}
|
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;
|
std::vector<IncludeStackInfo> IncludeMacroStack;
|
||||||
|
|
||||||
|
|
|
@ -896,19 +896,6 @@ public:
|
||||||
NumTypos(0),
|
NumTypos(0),
|
||||||
ManglingContextDecl(ManglingContextDecl), MangleNumbering() { }
|
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
|
/// \brief Retrieve the mangling numbering context, used to consistently
|
||||||
/// number constructs like lambdas for mangling.
|
/// number constructs like lambdas for mangling.
|
||||||
MangleNumberingContext &getMangleNumberingContext(ASTContext &Ctx);
|
MangleNumberingContext &getMangleNumberingContext(ASTContext &Ctx);
|
||||||
|
|
|
@ -7199,9 +7199,7 @@ class DataRecursiveIntBinOpEvaluator {
|
||||||
enum { AnyExprKind, BinOpKind, BinOpVisitedLHSKind } Kind;
|
enum { AnyExprKind, BinOpKind, BinOpVisitedLHSKind } Kind;
|
||||||
|
|
||||||
Job() = default;
|
Job() = default;
|
||||||
Job(Job &&J)
|
Job(Job &&) = default;
|
||||||
: E(J.E), LHSResult(J.LHSResult), Kind(J.Kind),
|
|
||||||
SpecEvalRAII(std::move(J.SpecEvalRAII)) {}
|
|
||||||
|
|
||||||
void startSpeculativeEval(EvalInfo &Info) {
|
void startSpeculativeEval(EvalInfo &Info) {
|
||||||
SpecEvalRAII = SpeculativeEvaluationRAII(Info);
|
SpecEvalRAII = SpeculativeEvaluationRAII(Info);
|
||||||
|
|
|
@ -257,7 +257,7 @@ private:
|
||||||
|
|
||||||
struct BeforeInfo {
|
struct BeforeInfo {
|
||||||
BeforeInfo() : Visited(0) {}
|
BeforeInfo() : Visited(0) {}
|
||||||
BeforeInfo(BeforeInfo &&O) : Vect(std::move(O.Vect)), Visited(O.Visited) {}
|
BeforeInfo(BeforeInfo &&) = default;
|
||||||
|
|
||||||
BeforeVect Vect;
|
BeforeVect Vect;
|
||||||
int Visited;
|
int Visited;
|
||||||
|
|
|
@ -110,17 +110,6 @@ public:
|
||||||
|
|
||||||
struct DeclContextLookupTable {
|
struct DeclContextLookupTable {
|
||||||
MultiOnDiskHashTable<ASTDeclContextNameLookupTrait> Table;
|
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
|
/// \brief Base class for the trait describing the on-disk hash table for the
|
||||||
|
|
Loading…
Reference in New Issue