Remove move constructors that are identical to the generated default move ctor.
authorBenjamin Kramer <benny.kra@googlemail.com>
Fri, 21 Oct 2016 18:55:07 +0000 (18:55 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Fri, 21 Oct 2016 18:55:07 +0000 (18:55 +0000)
llvm-svn: 284856

clang/include/clang/Analysis/Analyses/Consumed.h
clang/include/clang/Analysis/Analyses/ThreadSafetyCommon.h
clang/include/clang/Frontend/ASTUnit.h
clang/include/clang/Lex/Preprocessor.h
clang/include/clang/Sema/Sema.h
clang/lib/AST/ExprConstant.cpp
clang/lib/Analysis/ThreadSafety.cpp
clang/lib/Serialization/ASTReaderInternals.h

index 1f5aa12..c0fc027 100644 (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) {
index e357013..8c1d1da 100644 (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
index 2791227..cc8d4e6 100644 (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);
index 60add77..cbe6538 100644 (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;
 
index 8b81b40..70db36f 100644 (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);
index c5e7598..338f006 100644 (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);
index 1417a5a..984a5d4 100644 (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;
index cdfed9b..6cb4d66 100644 (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