1
0
Эх сурвалжийг харах

clang-tidy: Use `= delete`

Regina Pfeifer 6 жил өмнө
parent
commit
b05b778a2d
58 өөрчлөгдсөн 209 нэмэгдсэн , 139 устгасан
  1. 0 1
      .clang-tidy
  2. 0 10
      Help/dev/source.rst
  3. 3 2
      Source/CursesDialog/cmCursesBoolWidget.h
  4. 5 2
      Source/CursesDialog/cmCursesCacheEntryComposite.h
  5. 3 2
      Source/CursesDialog/cmCursesDummyWidget.h
  6. 3 2
      Source/CursesDialog/cmCursesFilePathWidget.h
  7. 3 2
      Source/CursesDialog/cmCursesForm.h
  8. 3 2
      Source/CursesDialog/cmCursesLabelWidget.h
  9. 3 2
      Source/CursesDialog/cmCursesLongMessageForm.h
  10. 3 2
      Source/CursesDialog/cmCursesMainForm.h
  11. 3 2
      Source/CursesDialog/cmCursesOptionsWidget.h
  12. 3 2
      Source/CursesDialog/cmCursesPathWidget.h
  13. 3 2
      Source/CursesDialog/cmCursesStringWidget.h
  14. 3 2
      Source/CursesDialog/cmCursesWidget.h
  15. 4 2
      Source/cmCLocaleEnvironmentScope.h
  16. 4 2
      Source/cmCPackPropertiesGenerator.h
  17. 3 2
      Source/cmCommand.h
  18. 4 2
      Source/cmCommandArgumentParserHelper.h
  19. 0 4
      Source/cmCommandArgumentsHelper.h
  20. 0 4
      Source/cmConfigure.cmake.h.in
  21. 3 2
      Source/cmConnection.h
  22. 3 2
      Source/cmCryptoHash.h
  23. 3 2
      Source/cmDepends.h
  24. 3 2
      Source/cmDependsC.h
  25. 3 2
      Source/cmDependsFortran.h
  26. 3 2
      Source/cmDependsJava.h
  27. 0 2
      Source/cmDynamicLoader.h
  28. 3 2
      Source/cmFileLock.h
  29. 6 4
      Source/cmFileLockPool.h
  30. 3 1
      Source/cmFileMonitor.h
  31. 2 3
      Source/cmGeneratedFileStream.h
  32. 14 8
      Source/cmGeneratorExpression.h
  33. 5 3
      Source/cmGeneratorExpressionEvaluator.h
  34. 3 2
      Source/cmGeneratorTarget.h
  35. 5 2
      Source/cmGlobalXCodeGenerator.cxx
  36. 0 1
      Source/cmInstallCommandArguments.h
  37. 3 2
      Source/cmInstallGenerator.h
  38. 3 2
      Source/cmLinkLineComputer.h
  39. 8 4
      Source/cmLinkLineDeviceComputer.h
  40. 4 2
      Source/cmLocale.h
  41. 4 2
      Source/cmMSVC60LinkLineComputer.h
  42. 7 3
      Source/cmMakefile.h
  43. 3 2
      Source/cmNinjaLinkLineComputer.h
  44. 3 1
      Source/cmQtAutoGenerator.h
  45. 20 6
      Source/cmQtAutoGeneratorMocUic.h
  46. 3 1
      Source/cmQtAutoGeneratorRcc.h
  47. 3 2
      Source/cmScriptGenerator.h
  48. 3 2
      Source/cmServer.h
  49. 3 2
      Source/cmServerProtocol.h
  50. 2 2
      Source/cmSourceFileLocation.h
  51. 3 1
      Source/cmSystemTools.h
  52. 3 2
      Source/cmTestGenerator.h
  53. 2 1
      Source/cmUVHandlePtr.h
  54. 6 2
      Source/cmVisualStudio10TargetGenerator.h
  55. 3 2
      Source/cmXMLWriter.h
  56. 8 4
      Source/cm_thread.hxx
  57. 3 2
      Source/cmake.h
  58. 0 1
      bootstrap

+ 0 - 1
.clang-tidy

@@ -14,7 +14,6 @@ modernize-*,\
 -modernize-raw-string-literal,\
 -modernize-return-braced-init-list,\
 -modernize-use-auto,\
--modernize-use-equals-delete,\
 -modernize-use-noexcept,\
 -modernize-use-transparent-functors,\
 -modernize-use-using,\

+ 0 - 10
Help/dev/source.rst

@@ -30,16 +30,6 @@ building on older toolchains some constructs need to be handled with care:
 
   The ``std::auto_ptr`` template is deprecated in C++11. Use ``std::unique_ptr``.
 
-* Use ``CM_DISABLE_COPY(Class)`` to mark classes as non-copyable.
-
-  The ``CM_DISABLE_COPY`` macro should be used in the private section of a
-  class to make sure that attempts to copy or assign an instance of the class
-  lead to compiler errors even if the compiler does not support *deleted*
-  functions.  As a guideline, all polymorphic classes should be made
-  non-copyable in order to avoid slicing.  Classes that are composed of or
-  derived from non-copyable classes must also be made non-copyable explicitly
-  with ``CM_DISABLE_COPY``.
-
 Source Tree Layout
 ==================
 

+ 3 - 2
Source/CursesDialog/cmCursesBoolWidget.h

@@ -12,11 +12,12 @@ class cmCursesMainForm;
 
 class cmCursesBoolWidget : public cmCursesWidget
 {
-  CM_DISABLE_COPY(cmCursesBoolWidget)
-
 public:
   cmCursesBoolWidget(int width, int height, int left, int top);
 
+  cmCursesBoolWidget(cmCursesBoolWidget const&) = delete;
+  cmCursesBoolWidget& operator=(cmCursesBoolWidget const&) = delete;
+
   // Description:
   // Handle user input. Called by the container of this widget
   // when this widget has focus. Returns true if the input was

+ 5 - 2
Source/CursesDialog/cmCursesCacheEntryComposite.h

@@ -13,14 +13,17 @@ class cmake;
 
 class cmCursesCacheEntryComposite
 {
-  CM_DISABLE_COPY(cmCursesCacheEntryComposite)
-
 public:
   cmCursesCacheEntryComposite(const std::string& key, int labelwidth,
                               int entrywidth);
   cmCursesCacheEntryComposite(const std::string& key, cmake* cm, bool isNew,
                               int labelwidth, int entrywidth);
   ~cmCursesCacheEntryComposite();
+
+  cmCursesCacheEntryComposite(cmCursesCacheEntryComposite const&) = delete;
+  cmCursesCacheEntryComposite& operator=(cmCursesCacheEntryComposite const&) =
+    delete;
+
   const char* GetValue();
 
   friend class cmCursesMainForm;

+ 3 - 2
Source/CursesDialog/cmCursesDummyWidget.h

@@ -12,11 +12,12 @@ class cmCursesMainForm;
 
 class cmCursesDummyWidget : public cmCursesWidget
 {
-  CM_DISABLE_COPY(cmCursesDummyWidget)
-
 public:
   cmCursesDummyWidget(int width, int height, int left, int top);
 
+  cmCursesDummyWidget(cmCursesDummyWidget const&) = delete;
+  cmCursesDummyWidget& operator=(cmCursesDummyWidget const&) = delete;
+
   // Description:
   // Handle user input. Called by the container of this widget
   // when this widget has focus. Returns true if the input was

+ 3 - 2
Source/CursesDialog/cmCursesFilePathWidget.h

@@ -9,10 +9,11 @@
 
 class cmCursesFilePathWidget : public cmCursesPathWidget
 {
-  CM_DISABLE_COPY(cmCursesFilePathWidget)
-
 public:
   cmCursesFilePathWidget(int width, int height, int left, int top);
+
+  cmCursesFilePathWidget(cmCursesFilePathWidget const&) = delete;
+  cmCursesFilePathWidget& operator=(cmCursesFilePathWidget const&) = delete;
 };
 
 #endif // cmCursesFilePathWidget_h

+ 3 - 2
Source/CursesDialog/cmCursesForm.h

@@ -11,12 +11,13 @@
 
 class cmCursesForm
 {
-  CM_DISABLE_COPY(cmCursesForm)
-
 public:
   cmCursesForm();
   virtual ~cmCursesForm();
 
+  cmCursesForm(cmCursesForm const&) = delete;
+  cmCursesForm& operator=(cmCursesForm const&) = delete;
+
   // Description:
   // Handle user input.
   virtual void HandleInput() = 0;

+ 3 - 2
Source/CursesDialog/cmCursesLabelWidget.h

@@ -14,13 +14,14 @@ class cmCursesMainForm;
 
 class cmCursesLabelWidget : public cmCursesWidget
 {
-  CM_DISABLE_COPY(cmCursesLabelWidget)
-
 public:
   cmCursesLabelWidget(int width, int height, int left, int top,
                       const std::string& name);
   ~cmCursesLabelWidget() override;
 
+  cmCursesLabelWidget(cmCursesLabelWidget const&) = delete;
+  cmCursesLabelWidget& operator=(cmCursesLabelWidget const&) = delete;
+
   // Description:
   // Handle user input. Called by the container of this widget
   // when this widget has focus. Returns true if the input was

+ 3 - 2
Source/CursesDialog/cmCursesLongMessageForm.h

@@ -13,13 +13,14 @@
 
 class cmCursesLongMessageForm : public cmCursesForm
 {
-  CM_DISABLE_COPY(cmCursesLongMessageForm)
-
 public:
   cmCursesLongMessageForm(std::vector<std::string> const& messages,
                           const char* title);
   ~cmCursesLongMessageForm() override;
 
+  cmCursesLongMessageForm(cmCursesLongMessageForm const&) = delete;
+  cmCursesLongMessageForm& operator=(cmCursesLongMessageForm const&) = delete;
+
   // Description:
   // Handle user input.
   void HandleInput() override;

+ 3 - 2
Source/CursesDialog/cmCursesMainForm.h

@@ -23,12 +23,13 @@ class cmake;
  */
 class cmCursesMainForm : public cmCursesForm
 {
-  CM_DISABLE_COPY(cmCursesMainForm)
-
 public:
   cmCursesMainForm(std::vector<std::string> args, int initwidth);
   ~cmCursesMainForm() override;
 
+  cmCursesMainForm(cmCursesMainForm const&) = delete;
+  cmCursesMainForm& operator=(cmCursesMainForm const&) = delete;
+
   /**
    * Set the widgets which represent the cache entries.
    */

+ 3 - 2
Source/CursesDialog/cmCursesOptionsWidget.h

@@ -15,11 +15,12 @@ class cmCursesMainForm;
 
 class cmCursesOptionsWidget : public cmCursesWidget
 {
-  CM_DISABLE_COPY(cmCursesOptionsWidget)
-
 public:
   cmCursesOptionsWidget(int width, int height, int left, int top);
 
+  cmCursesOptionsWidget(cmCursesOptionsWidget const&) = delete;
+  cmCursesOptionsWidget& operator=(cmCursesOptionsWidget const&) = delete;
+
   // Description:
   // Handle user input. Called by the container of this widget
   // when this widget has focus. Returns true if the input was

+ 3 - 2
Source/CursesDialog/cmCursesPathWidget.h

@@ -14,11 +14,12 @@ class cmCursesMainForm;
 
 class cmCursesPathWidget : public cmCursesStringWidget
 {
-  CM_DISABLE_COPY(cmCursesPathWidget)
-
 public:
   cmCursesPathWidget(int width, int height, int left, int top);
 
+  cmCursesPathWidget(cmCursesPathWidget const&) = delete;
+  cmCursesPathWidget& operator=(cmCursesPathWidget const&) = delete;
+
   /**
    * This method is called when different keys are pressed. The
    * subclass can have a special implementation handler for this.

+ 3 - 2
Source/CursesDialog/cmCursesStringWidget.h

@@ -20,11 +20,12 @@ class cmCursesMainForm;
 
 class cmCursesStringWidget : public cmCursesWidget
 {
-  CM_DISABLE_COPY(cmCursesStringWidget)
-
 public:
   cmCursesStringWidget(int width, int height, int left, int top);
 
+  cmCursesStringWidget(cmCursesStringWidget const&) = delete;
+  cmCursesStringWidget& operator=(cmCursesStringWidget const&) = delete;
+
   /**
    * Handle user input. Called by the container of this widget
    * when this widget has focus. Returns true if the input was

+ 3 - 2
Source/CursesDialog/cmCursesWidget.h

@@ -14,12 +14,13 @@ class cmCursesMainForm;
 
 class cmCursesWidget
 {
-  CM_DISABLE_COPY(cmCursesWidget)
-
 public:
   cmCursesWidget(int width, int height, int left, int top);
   virtual ~cmCursesWidget();
 
+  cmCursesWidget(cmCursesWidget const&) = delete;
+  cmCursesWidget& operator=(cmCursesWidget const&) = delete;
+
   /**
    * Handle user input. Called by the container of this widget
    * when this widget has focus. Returns true if the input was

+ 4 - 2
Source/cmCLocaleEnvironmentScope.h

@@ -10,12 +10,14 @@
 
 class cmCLocaleEnvironmentScope
 {
-  CM_DISABLE_COPY(cmCLocaleEnvironmentScope)
-
 public:
   cmCLocaleEnvironmentScope();
   ~cmCLocaleEnvironmentScope();
 
+  cmCLocaleEnvironmentScope(cmCLocaleEnvironmentScope const&) = delete;
+  cmCLocaleEnvironmentScope& operator=(cmCLocaleEnvironmentScope const&) =
+    delete;
+
 private:
   std::string GetEnv(std::string const& key);
   void SetEnv(std::string const& key, std::string const& value);

+ 4 - 2
Source/cmCPackPropertiesGenerator.h

@@ -20,13 +20,15 @@ class cmLocalGenerator;
  */
 class cmCPackPropertiesGenerator : public cmScriptGenerator
 {
-  CM_DISABLE_COPY(cmCPackPropertiesGenerator)
-
 public:
   cmCPackPropertiesGenerator(cmLocalGenerator* lg,
                              cmInstalledFile const& installedFile,
                              std::vector<std::string> const& configurations);
 
+  cmCPackPropertiesGenerator(cmCPackPropertiesGenerator const&) = delete;
+  cmCPackPropertiesGenerator& operator=(cmCPackPropertiesGenerator const&) =
+    delete;
+
 protected:
   void GenerateScriptForConfig(std::ostream& os, const std::string& config,
                                Indent indent) override;

+ 3 - 2
Source/cmCommand.h

@@ -24,8 +24,6 @@ struct cmListFileArgument;
  */
 class cmCommand
 {
-  CM_DISABLE_COPY(cmCommand)
-
 public:
   /**
    * Construct the command. By default it has no makefile.
@@ -37,6 +35,9 @@ public:
    */
   virtual ~cmCommand() = default;
 
+  cmCommand(cmCommand const&) = delete;
+  cmCommand& operator=(cmCommand const&) = delete;
+
   /**
    * Specify the makefile.
    */

+ 4 - 2
Source/cmCommandArgumentParserHelper.h

@@ -12,8 +12,6 @@ class cmMakefile;
 
 class cmCommandArgumentParserHelper
 {
-  CM_DISABLE_COPY(cmCommandArgumentParserHelper)
-
 public:
   struct ParserType
   {
@@ -23,6 +21,10 @@ public:
   cmCommandArgumentParserHelper();
   ~cmCommandArgumentParserHelper();
 
+  cmCommandArgumentParserHelper(cmCommandArgumentParserHelper const&) = delete;
+  cmCommandArgumentParserHelper& operator=(
+    cmCommandArgumentParserHelper const&) = delete;
+
   int ParseString(const char* str, int verb);
 
   // For the lexer:

+ 0 - 4
Source/cmCommandArgumentsHelper.h

@@ -103,7 +103,6 @@ private:
   std::vector<std::string> Vector;
   unsigned int DataStart;
   const char* Ignore;
-  cmCAStringVector();
   bool DoConsume(const std::string& arg, unsigned int index) override;
   void DoReset() override;
 };
@@ -125,7 +124,6 @@ private:
   unsigned int DataStart;
   bool DoConsume(const std::string& arg, unsigned int index) override;
   void DoReset() override;
-  cmCAString();
 };
 
 /** cmCAEnabler is to be used for options which are off by default and can be
@@ -143,7 +141,6 @@ private:
   bool Enabled;
   bool DoConsume(const std::string& arg, unsigned int index) override;
   void DoReset() override;
-  cmCAEnabler();
 };
 
 /** cmCADisable is to be used for options which are on by default and can be
@@ -161,7 +158,6 @@ private:
   bool Enabled;
   bool DoConsume(const std::string& arg, unsigned int index) override;
   void DoReset() override;
-  cmCADisabler();
 };
 
 /** Group of arguments, needed for ordering. E.g. WIN32, EXCLUDE_FROM_ALL and

+ 0 - 4
Source/cmConfigure.cmake.h.in

@@ -26,8 +26,4 @@
 
 #define CM_FALLTHROUGH cmsys_FALLTHROUGH
 
-#define CM_DISABLE_COPY(Class)                                                \
-  Class(Class const&) = delete;                                               \
-  Class& operator=(Class const&) = delete;
-
 #endif

+ 3 - 2
Source/cmConnection.h

@@ -60,11 +60,12 @@ public:
 
 class cmConnection
 {
-  CM_DISABLE_COPY(cmConnection)
-
 public:
   cmConnection() = default;
 
+  cmConnection(cmConnection const&) = delete;
+  cmConnection& operator=(cmConnection const&) = delete;
+
   virtual void WriteData(const std::string& data) = 0;
 
   virtual ~cmConnection();

+ 3 - 2
Source/cmCryptoHash.h

@@ -15,8 +15,6 @@
  */
 class cmCryptoHash
 {
-  CM_DISABLE_COPY(cmCryptoHash)
-
 public:
   enum Algo
   {
@@ -35,6 +33,9 @@ public:
   cmCryptoHash(Algo algo);
   ~cmCryptoHash();
 
+  cmCryptoHash(cmCryptoHash const&) = delete;
+  cmCryptoHash& operator=(cmCryptoHash const&) = delete;
+
   /// @brief Returns a new hash generator of the requested type
   /// @arg algo Hash type name. Supported hash types are
   ///      MD5, SHA1, SHA224, SHA256, SHA384, SHA512,

+ 3 - 2
Source/cmDepends.h

@@ -24,13 +24,14 @@ class cmLocalGenerator;
  */
 class cmDepends
 {
-  CM_DISABLE_COPY(cmDepends)
-
 public:
   /** Instances need to know the build directory name and the relative
       path from the build directory to the target file.  */
   cmDepends(cmLocalGenerator* lg = nullptr, std::string targetDir = "");
 
+  cmDepends(cmDepends const&) = delete;
+  cmDepends& operator=(cmDepends const&) = delete;
+
   /** Set the local generator for the directory in which we are
       scanning dependencies.  This is not a full local generator; it
       has been setup to do relative path conversions for the current

+ 3 - 2
Source/cmDependsC.h

@@ -22,8 +22,6 @@ class cmLocalGenerator;
  */
 class cmDependsC : public cmDepends
 {
-  CM_DISABLE_COPY(cmDependsC)
-
 public:
   /** Checking instances need to know the build directory name and the
       relative path from the build directory to the target file.  */
@@ -35,6 +33,9 @@ public:
   /** Virtual destructor to cleanup subclasses properly.  */
   ~cmDependsC() override;
 
+  cmDependsC(cmDependsC const&) = delete;
+  cmDependsC& operator=(cmDependsC const&) = delete;
+
 protected:
   // Implement writing/checking methods required by superclass.
   bool WriteDependencies(const std::set<std::string>& sources,

+ 3 - 2
Source/cmDependsFortran.h

@@ -21,8 +21,6 @@ class cmLocalGenerator;
  */
 class cmDependsFortran : public cmDepends
 {
-  CM_DISABLE_COPY(cmDependsFortran)
-
 public:
   /** Checking instances need to know the build directory name and the
       relative path from the build directory to the target file.  */
@@ -37,6 +35,9 @@ public:
   /** Virtual destructor to cleanup subclasses properly.  */
   ~cmDependsFortran() override;
 
+  cmDependsFortran(cmDependsFortran const&) = delete;
+  cmDependsFortran& operator=(cmDependsFortran const&) = delete;
+
   /** Callback from build system after a .mod file has been generated
       by a Fortran90 compiler to copy the .mod file to the
       corresponding stamp file.  */

+ 3 - 2
Source/cmDependsJava.h

@@ -17,8 +17,6 @@
  */
 class cmDependsJava : public cmDepends
 {
-  CM_DISABLE_COPY(cmDependsJava)
-
 public:
   /** Checking instances need to know the build directory name and the
       relative path from the build directory to the target file.  */
@@ -27,6 +25,9 @@ public:
   /** Virtual destructor to cleanup subclasses properly.  */
   ~cmDependsJava() override;
 
+  cmDependsJava(cmDependsJava const&) = delete;
+  cmDependsJava& operator=(cmDependsJava const&) = delete;
+
 protected:
   // Implement writing/checking methods required by superclass.
   bool WriteDependencies(const std::set<std::string>& sources,

+ 0 - 2
Source/cmDynamicLoader.h

@@ -14,8 +14,6 @@
 
 class cmDynamicLoader
 {
-  CM_DISABLE_COPY(cmDynamicLoader)
-
 public:
   // Description:
   // Load a dynamic library into the current process.

+ 3 - 2
Source/cmFileLock.h

@@ -21,12 +21,13 @@ class cmFileLockResult;
  */
 class cmFileLock
 {
-  CM_DISABLE_COPY(cmFileLock)
-
 public:
   cmFileLock();
   ~cmFileLock();
 
+  cmFileLock(cmFileLock const&) = delete;
+  cmFileLock& operator=(cmFileLock const&) = delete;
+
   /**
    * @brief Lock the file.
    * @param timeoutSec Lock timeout. If -1 try until success or fatal error.

+ 6 - 4
Source/cmFileLockPool.h

@@ -13,12 +13,13 @@ class cmFileLockResult;
 
 class cmFileLockPool
 {
-  CM_DISABLE_COPY(cmFileLockPool)
-
 public:
   cmFileLockPool();
   ~cmFileLockPool();
 
+  cmFileLockPool(cmFileLockPool const&) = delete;
+  cmFileLockPool& operator=(cmFileLockPool const&) = delete;
+
   //@{
   /**
    * @brief Function scope control.
@@ -58,12 +59,13 @@ private:
 
   class ScopePool
   {
-    CM_DISABLE_COPY(ScopePool)
-
   public:
     ScopePool();
     ~ScopePool();
 
+    ScopePool(ScopePool const&) = delete;
+    ScopePool& operator=(ScopePool const&) = delete;
+
     cmFileLockResult Lock(const std::string& filename,
                           unsigned long timeoutSec);
     cmFileLockResult Release(const std::string& filename);

+ 3 - 1
Source/cmFileMonitor.h

@@ -14,12 +14,14 @@ class cmRootWatcher;
 
 class cmFileMonitor
 {
-  CM_DISABLE_COPY(cmFileMonitor)
 
 public:
   cmFileMonitor(uv_loop_t* l);
   ~cmFileMonitor();
 
+  cmFileMonitor(cmFileMonitor const&) = delete;
+  cmFileMonitor& operator=(cmFileMonitor const&) = delete;
+
   using Callback = std::function<void(const std::string&, int, int)>;
   void MonitorPaths(const std::vector<std::string>& paths, Callback const& cb);
   void StopMonitoring();

+ 2 - 3
Source/cmGeneratedFileStream.h

@@ -97,6 +97,8 @@ public:
    */
   ~cmGeneratedFileStream() override;
 
+  cmGeneratedFileStream(cmGeneratedFileStream const&) = delete;
+
   /**
    * Open an output file by name.  This should be used only with a
    * non-open stream.  It automatically generates a name for the
@@ -134,9 +136,6 @@ public:
    * the output file to be changed during the use of cmGeneratedFileStream.
    */
   void SetName(const std::string& fname);
-
-private:
-  cmGeneratedFileStream(cmGeneratedFileStream const&); // not implemented
 };
 
 #endif

+ 14 - 8
Source/cmGeneratorExpression.h

@@ -32,13 +32,14 @@ struct cmGeneratorExpressionEvaluator;
  */
 class cmGeneratorExpression
 {
-  CM_DISABLE_COPY(cmGeneratorExpression)
-
 public:
   /** Construct. */
   cmGeneratorExpression(cmListFileBacktrace backtrace = cmListFileBacktrace());
   ~cmGeneratorExpression();
 
+  cmGeneratorExpression(cmGeneratorExpression const&) = delete;
+  cmGeneratorExpression& operator=(cmGeneratorExpression const&) = delete;
+
   std::unique_ptr<cmCompiledGeneratorExpression> Parse(
     std::string const& input);
   std::unique_ptr<cmCompiledGeneratorExpression> Parse(const char* input);
@@ -78,9 +79,13 @@ private:
 
 class cmCompiledGeneratorExpression
 {
-  CM_DISABLE_COPY(cmCompiledGeneratorExpression)
-
 public:
+  ~cmCompiledGeneratorExpression();
+
+  cmCompiledGeneratorExpression(cmCompiledGeneratorExpression const&) = delete;
+  cmCompiledGeneratorExpression& operator=(
+    cmCompiledGeneratorExpression const&) = delete;
+
   const std::string& Evaluate(
     cmLocalGenerator* lg, const std::string& config, bool quiet = false,
     cmGeneratorTarget const* headTarget = nullptr,
@@ -109,8 +114,6 @@ public:
     return this->AllTargetsSeen;
   }
 
-  ~cmCompiledGeneratorExpression();
-
   std::string const& GetInput() const { return this->Input; }
 
   cmListFileBacktrace GetBacktrace() const { return this->Backtrace; }
@@ -165,8 +168,6 @@ private:
 
 class cmGeneratorExpressionInterpreter
 {
-  CM_DISABLE_COPY(cmGeneratorExpressionInterpreter)
-
 public:
   cmGeneratorExpressionInterpreter(cmLocalGenerator* localGenerator,
                                    std::string config,
@@ -179,6 +180,11 @@ public:
   {
   }
 
+  cmGeneratorExpressionInterpreter(cmGeneratorExpressionInterpreter const&) =
+    delete;
+  cmGeneratorExpressionInterpreter& operator=(
+    cmGeneratorExpressionInterpreter const&) = delete;
+
   const std::string& Evaluate(const char* expression,
                               const std::string& property);
   const std::string& Evaluate(const std::string& expression,

+ 5 - 3
Source/cmGeneratorExpressionEvaluator.h

@@ -19,6 +19,11 @@ struct cmGeneratorExpressionEvaluator
   cmGeneratorExpressionEvaluator() = default;
   virtual ~cmGeneratorExpressionEvaluator() = default;
 
+  cmGeneratorExpressionEvaluator(cmGeneratorExpressionEvaluator const&) =
+    delete;
+  cmGeneratorExpressionEvaluator& operator=(
+    cmGeneratorExpressionEvaluator const&) = delete;
+
   enum Type
   {
     Text,
@@ -29,9 +34,6 @@ struct cmGeneratorExpressionEvaluator
 
   virtual std::string Evaluate(cmGeneratorExpressionContext* context,
                                cmGeneratorExpressionDAGChecker*) const = 0;
-
-private:
-  CM_DISABLE_COPY(cmGeneratorExpressionEvaluator)
 };
 
 struct TextContent : public cmGeneratorExpressionEvaluator

+ 3 - 2
Source/cmGeneratorTarget.h

@@ -27,12 +27,13 @@ class cmTarget;
 
 class cmGeneratorTarget
 {
-  CM_DISABLE_COPY(cmGeneratorTarget)
-
 public:
   cmGeneratorTarget(cmTarget*, cmLocalGenerator* lg);
   ~cmGeneratorTarget();
 
+  cmGeneratorTarget(cmGeneratorTarget const&) = delete;
+  cmGeneratorTarget& operator=(cmGeneratorTarget const&) = delete;
+
   cmLocalGenerator* GetLocalGenerator() const;
 
   cmGlobalGenerator* GetGlobalGenerator() const;

+ 5 - 2
Source/cmGlobalXCodeGenerator.cxx

@@ -752,8 +752,6 @@ cmXCodeObject* cmGlobalXCodeGenerator::CreateXCodeSourceFileFromPath(
 class XCodeGeneratorExpressionInterpreter
   : public cmGeneratorExpressionInterpreter
 {
-  CM_DISABLE_COPY(XCodeGeneratorExpressionInterpreter)
-
 public:
   XCodeGeneratorExpressionInterpreter(cmSourceFile* sourceFile,
                                       cmLocalGenerator* localGenerator,
@@ -765,6 +763,11 @@ public:
   {
   }
 
+  XCodeGeneratorExpressionInterpreter(
+    XCodeGeneratorExpressionInterpreter const&) = delete;
+  XCodeGeneratorExpressionInterpreter& operator=(
+    XCodeGeneratorExpressionInterpreter const&) = delete;
+
   using cmGeneratorExpressionInterpreter::Evaluate;
 
   const std::string& Evaluate(const char* expression,

+ 0 - 1
Source/cmInstallCommandArguments.h

@@ -45,7 +45,6 @@ public:
   cmCommandArgumentGroup ArgumentGroup;
 
 private:
-  cmInstallCommandArguments(); // disabled
   cmCAString Destination;
   cmCAString Component;
   cmCAString NamelinkComponent;

+ 3 - 2
Source/cmInstallGenerator.h

@@ -21,8 +21,6 @@ class cmMakefile;
  */
 class cmInstallGenerator : public cmScriptGenerator
 {
-  CM_DISABLE_COPY(cmInstallGenerator)
-
 public:
   enum MessageLevel
   {
@@ -38,6 +36,9 @@ public:
                      bool exclude_from_all);
   ~cmInstallGenerator() override;
 
+  cmInstallGenerator(cmInstallGenerator const&) = delete;
+  cmInstallGenerator& operator=(cmInstallGenerator const&) = delete;
+
   virtual bool HaveInstall();
   virtual void CheckCMP0082(bool& haveSubdirectoryInstall,
                             bool& haveInstallAfterSubdirectory);

+ 3 - 2
Source/cmLinkLineComputer.h

@@ -16,13 +16,14 @@ class cmOutputConverter;
 
 class cmLinkLineComputer
 {
-  CM_DISABLE_COPY(cmLinkLineComputer)
-
 public:
   cmLinkLineComputer(cmOutputConverter* outputConverter,
                      cmStateDirectory const& stateDir);
   virtual ~cmLinkLineComputer();
 
+  cmLinkLineComputer(cmLinkLineComputer const&) = delete;
+  cmLinkLineComputer& operator=(cmLinkLineComputer const&) = delete;
+
   void SetUseWatcomQuote(bool useWatcomQuote);
   void SetForResponse(bool forResponse);
   void SetRelink(bool relink);

+ 8 - 4
Source/cmLinkLineDeviceComputer.h

@@ -18,13 +18,15 @@ class cmStateDirectory;
 
 class cmLinkLineDeviceComputer : public cmLinkLineComputer
 {
-  CM_DISABLE_COPY(cmLinkLineDeviceComputer)
-
 public:
   cmLinkLineDeviceComputer(cmOutputConverter* outputConverter,
                            cmStateDirectory const& stateDir);
   ~cmLinkLineDeviceComputer() override;
 
+  cmLinkLineDeviceComputer(cmLinkLineDeviceComputer const&) = delete;
+  cmLinkLineDeviceComputer& operator=(cmLinkLineDeviceComputer const&) =
+    delete;
+
   std::string ComputeLinkLibraries(cmComputeLinkInformation& cli,
                                    std::string const& stdLibString) override;
 
@@ -34,13 +36,15 @@ public:
 
 class cmNinjaLinkLineDeviceComputer : public cmLinkLineDeviceComputer
 {
-  CM_DISABLE_COPY(cmNinjaLinkLineDeviceComputer)
-
 public:
   cmNinjaLinkLineDeviceComputer(cmOutputConverter* outputConverter,
                                 cmStateDirectory const& stateDir,
                                 cmGlobalNinjaGenerator const* gg);
 
+  cmNinjaLinkLineDeviceComputer(cmNinjaLinkLineDeviceComputer const&) = delete;
+  cmNinjaLinkLineDeviceComputer& operator=(
+    cmNinjaLinkLineDeviceComputer const&) = delete;
+
   std::string ConvertToLinkReference(std::string const& input) const override;
 
 private:

+ 4 - 2
Source/cmLocale.h

@@ -10,16 +10,18 @@
 
 class cmLocaleRAII
 {
-  CM_DISABLE_COPY(cmLocaleRAII)
-
 public:
   cmLocaleRAII()
     : OldLocale(setlocale(LC_CTYPE, nullptr))
   {
     setlocale(LC_CTYPE, "");
   }
+
   ~cmLocaleRAII() { setlocale(LC_CTYPE, this->OldLocale.c_str()); }
 
+  cmLocaleRAII(cmLocaleRAII const&) = delete;
+  cmLocaleRAII& operator=(cmLocaleRAII const&) = delete;
+
 private:
   std::string OldLocale;
 };

+ 4 - 2
Source/cmMSVC60LinkLineComputer.h

@@ -15,12 +15,14 @@ class cmStateDirectory;
 
 class cmMSVC60LinkLineComputer : public cmLinkLineComputer
 {
-  CM_DISABLE_COPY(cmMSVC60LinkLineComputer)
-
 public:
   cmMSVC60LinkLineComputer(cmOutputConverter* outputConverter,
                            cmStateDirectory const& stateDir);
 
+  cmMSVC60LinkLineComputer(cmMSVC60LinkLineComputer const&) = delete;
+  cmMSVC60LinkLineComputer& operator=(cmMSVC60LinkLineComputer const&) =
+    delete;
+
   std::string ConvertToLinkReference(std::string const& input) const override;
 };
 

+ 7 - 3
Source/cmMakefile.h

@@ -65,8 +65,6 @@ public:
  */
 class cmMakefile
 {
-  CM_DISABLE_COPY(cmMakefile)
-
 public:
   /* Mark a variable as used */
   void MarkVariableAsUsed(const std::string& var);
@@ -84,6 +82,9 @@ public:
    */
   ~cmMakefile();
 
+  cmMakefile(cmMakefile const&) = delete;
+  cmMakefile& operator=(cmMakefile const&) = delete;
+
   cmDirectoryId GetDirectoryId() const;
 
   bool ReadListFile(const std::string& filename);
@@ -780,15 +781,18 @@ public:
   /** Helper class to push and pop scopes automatically.  */
   class ScopePushPop
   {
-    CM_DISABLE_COPY(ScopePushPop)
   public:
     ScopePushPop(cmMakefile* m)
       : Makefile(m)
     {
       this->Makefile->PushScope();
     }
+
     ~ScopePushPop() { this->Makefile->PopScope(); }
 
+    ScopePushPop(ScopePushPop const&) = delete;
+    ScopePushPop& operator=(ScopePushPop const&) = delete;
+
   private:
     cmMakefile* Makefile;
   };

+ 3 - 2
Source/cmNinjaLinkLineComputer.h

@@ -16,13 +16,14 @@ class cmStateDirectory;
 
 class cmNinjaLinkLineComputer : public cmLinkLineComputer
 {
-  CM_DISABLE_COPY(cmNinjaLinkLineComputer)
-
 public:
   cmNinjaLinkLineComputer(cmOutputConverter* outputConverter,
                           cmStateDirectory const& stateDir,
                           cmGlobalNinjaGenerator const* gg);
 
+  cmNinjaLinkLineComputer(cmNinjaLinkLineComputer const&) = delete;
+  cmNinjaLinkLineComputer& operator=(cmNinjaLinkLineComputer const&) = delete;
+
   std::string ConvertToLinkReference(std::string const& input) const override;
 
 private:

+ 3 - 1
Source/cmQtAutoGenerator.h

@@ -24,7 +24,6 @@ class cmMakefile;
 /// @brief Base class for QtAutoGen gernerators
 class cmQtAutoGenerator : public cmQtAutoGen
 {
-  CM_DISABLE_COPY(cmQtAutoGenerator)
 public:
   // -- Types
 
@@ -245,6 +244,9 @@ public:
   cmQtAutoGenerator();
   virtual ~cmQtAutoGenerator();
 
+  cmQtAutoGenerator(cmQtAutoGenerator const&) = delete;
+  cmQtAutoGenerator& operator=(cmQtAutoGenerator const&) = delete;
+
   // -- Run
   bool Run(std::string const& infoFile, std::string const& config);
 

+ 20 - 6
Source/cmQtAutoGeneratorMocUic.h

@@ -28,11 +28,13 @@ class cmMakefile;
 // @brief AUTOMOC and AUTOUIC generator
 class cmQtAutoGeneratorMocUic : public cmQtAutoGenerator
 {
-  CM_DISABLE_COPY(cmQtAutoGeneratorMocUic)
 public:
   cmQtAutoGeneratorMocUic();
   ~cmQtAutoGeneratorMocUic() override;
 
+  cmQtAutoGeneratorMocUic(cmQtAutoGeneratorMocUic const&) = delete;
+  cmQtAutoGeneratorMocUic& operator=(cmQtAutoGeneratorMocUic const&) = delete;
+
 public:
   // -- Types
   class WorkerT;
@@ -63,7 +65,6 @@ public:
   ///
   class BaseSettingsT
   {
-    CM_DISABLE_COPY(BaseSettingsT)
   public:
     // -- Volatile methods
     BaseSettingsT(FileSystem* fileSystem)
@@ -75,6 +76,9 @@ public:
     {
     }
 
+    BaseSettingsT(BaseSettingsT const&) = delete;
+    BaseSettingsT& operator=(BaseSettingsT const&) = delete;
+
     // -- Const methods
     std::string AbsoluteBuildPath(std::string const& relativePath) const;
     bool FindHeader(std::string& header,
@@ -103,13 +107,15 @@ public:
   ///
   class MocSettingsT
   {
-    CM_DISABLE_COPY(MocSettingsT)
   public:
     MocSettingsT(FileSystem* fileSys)
       : FileSys(fileSys)
     {
     }
 
+    MocSettingsT(MocSettingsT const&) = delete;
+    MocSettingsT& operator=(MocSettingsT const&) = delete;
+
     // -- Const methods
     bool skipped(std::string const& fileName) const;
     std::string FindMacro(std::string const& content) const;
@@ -145,9 +151,12 @@ public:
   ///
   class UicSettingsT
   {
-    CM_DISABLE_COPY(UicSettingsT)
   public:
     UicSettingsT() = default;
+
+    UicSettingsT(UicSettingsT const&) = delete;
+    UicSettingsT& operator=(UicSettingsT const&) = delete;
+
     // -- Const methods
     bool skipped(std::string const& fileName) const;
 
@@ -166,10 +175,13 @@ public:
   ///
   class JobT
   {
-    CM_DISABLE_COPY(JobT)
   public:
     JobT() = default;
     virtual ~JobT() = default;
+
+    JobT(JobT const&) = delete;
+    JobT& operator=(JobT const&) = delete;
+
     // -- Abstract processing interface
     virtual void Process(WorkerT& wrk) = 0;
   };
@@ -293,11 +305,13 @@ public:
   ///
   class WorkerT
   {
-    CM_DISABLE_COPY(WorkerT)
   public:
     WorkerT(cmQtAutoGeneratorMocUic* gen, uv_loop_t* uvLoop);
     ~WorkerT();
 
+    WorkerT(WorkerT const&) = delete;
+    WorkerT& operator=(WorkerT const&) = delete;
+
     // -- Const accessors
     cmQtAutoGeneratorMocUic& Gen() const { return *Gen_; }
     Logger& Log() const { return Gen_->Log(); }

+ 3 - 1
Source/cmQtAutoGeneratorRcc.h

@@ -17,11 +17,13 @@ class cmMakefile;
 // @brief AUTORCC generator
 class cmQtAutoGeneratorRcc : public cmQtAutoGenerator
 {
-  CM_DISABLE_COPY(cmQtAutoGeneratorRcc)
 public:
   cmQtAutoGeneratorRcc();
   ~cmQtAutoGeneratorRcc() override;
 
+  cmQtAutoGeneratorRcc(cmQtAutoGeneratorRcc const&) = delete;
+  cmQtAutoGeneratorRcc& operator=(cmQtAutoGeneratorRcc const&) = delete;
+
 private:
   // -- Types
 

+ 3 - 2
Source/cmScriptGenerator.h

@@ -44,13 +44,14 @@ inline std::ostream& operator<<(std::ostream& os,
  */
 class cmScriptGenerator
 {
-  CM_DISABLE_COPY(cmScriptGenerator)
-
 public:
   cmScriptGenerator(std::string config_var,
                     std::vector<std::string> configurations);
   virtual ~cmScriptGenerator();
 
+  cmScriptGenerator(cmScriptGenerator const&) = delete;
+  cmScriptGenerator& operator=(cmScriptGenerator const&) = delete;
+
   void Generate(std::ostream& os, const std::string& config,
                 std::vector<std::string> const& configurationTypes);
 

+ 3 - 2
Source/cmServer.h

@@ -88,14 +88,15 @@ protected:
 
 class cmServer : public cmServerBase
 {
-  CM_DISABLE_COPY(cmServer)
-
 public:
   class DebugInfo;
 
   cmServer(cmConnection* conn, bool supportExperimental);
   ~cmServer() override;
 
+  cmServer(cmServer const&) = delete;
+  cmServer& operator=(cmServer const&) = delete;
+
   bool Serve(std::string* errorMessage) override;
 
   cmFileMonitor* FileMonitor() const;

+ 3 - 2
Source/cmServerProtocol.h

@@ -71,12 +71,13 @@ private:
 
 class cmServerProtocol
 {
-  CM_DISABLE_COPY(cmServerProtocol)
-
 public:
   cmServerProtocol() = default;
   virtual ~cmServerProtocol() = default;
 
+  cmServerProtocol(cmServerProtocol const&) = delete;
+  cmServerProtocol& operator=(cmServerProtocol const&) = delete;
+
   virtual std::pair<int, int> ProtocolVersion() const = 0;
   virtual bool IsExperimental() const = 0;
   virtual const cmServerResponse Process(const cmServerRequest& request) = 0;

+ 2 - 2
Source/cmSourceFileLocation.h

@@ -34,6 +34,8 @@ public:
   cmSourceFileLocation();
   cmSourceFileLocation(const cmSourceFileLocation& loc);
 
+  cmSourceFileLocation& operator=(cmSourceFileLocation const&) = delete;
+
   /**
    * Return whether the given source file location could refers to the
    * same source file as this location given the level of ambiguity in
@@ -94,8 +96,6 @@ private:
   // Update the location with additional knowledge.
   void Update(cmSourceFileLocation const& loc);
   void UpdateExtension(const std::string& name);
-
-  cmSourceFileLocation& operator=(const cmSourceFileLocation& loc) = delete;
 };
 
 #endif

+ 3 - 1
Source/cmSystemTools.h

@@ -410,11 +410,13 @@ public:
       original environment. */
   class SaveRestoreEnvironment
   {
-    CM_DISABLE_COPY(SaveRestoreEnvironment)
   public:
     SaveRestoreEnvironment();
     ~SaveRestoreEnvironment();
 
+    SaveRestoreEnvironment(SaveRestoreEnvironment const&) = delete;
+    SaveRestoreEnvironment& operator=(SaveRestoreEnvironment const&) = delete;
+
   private:
     std::vector<std::string> Env;
   };

+ 3 - 2
Source/cmTestGenerator.h

@@ -20,14 +20,15 @@ class cmTest;
  */
 class cmTestGenerator : public cmScriptGenerator
 {
-  CM_DISABLE_COPY(cmTestGenerator)
-
 public:
   cmTestGenerator(cmTest* test,
                   std::vector<std::string> const& configurations =
                     std::vector<std::string>());
   ~cmTestGenerator() override;
 
+  cmTestGenerator(cmTestGenerator const&) = delete;
+  cmTestGenerator& operator=(cmTestGenerator const&) = delete;
+
   void Compute(cmLocalGenerator* lg);
 
   /** Test if this generator installs the test for a given configuration.  */

+ 2 - 1
Source/cmUVHandlePtr.h

@@ -61,7 +61,8 @@ protected:
   void allocate(void* data = nullptr);
 
 public:
-  CM_DISABLE_COPY(uv_handle_ptr_base_)
+  uv_handle_ptr_base_(uv_handle_ptr_base_ const&) = delete;
+  uv_handle_ptr_base_& operator=(uv_handle_ptr_base_ const&) = delete;
   uv_handle_ptr_base_(uv_handle_ptr_base_&&) noexcept;
   uv_handle_ptr_base_& operator=(uv_handle_ptr_base_&&) noexcept;
 

+ 6 - 2
Source/cmVisualStudio10TargetGenerator.h

@@ -25,12 +25,16 @@ class cmVS10GeneratorOptions;
 
 class cmVisualStudio10TargetGenerator
 {
-  CM_DISABLE_COPY(cmVisualStudio10TargetGenerator)
-
 public:
   cmVisualStudio10TargetGenerator(cmGeneratorTarget* target,
                                   cmGlobalVisualStudio10Generator* gg);
   ~cmVisualStudio10TargetGenerator();
+
+  cmVisualStudio10TargetGenerator(cmVisualStudio10TargetGenerator const&) =
+    delete;
+  cmVisualStudio10TargetGenerator& operator=(
+    cmVisualStudio10TargetGenerator const&) = delete;
+
   void Generate();
 
 private:

+ 3 - 2
Source/cmXMLWriter.h

@@ -16,12 +16,13 @@
 
 class cmXMLWriter
 {
-  CM_DISABLE_COPY(cmXMLWriter)
-
 public:
   cmXMLWriter(std::ostream& output, std::size_t level = 0);
   ~cmXMLWriter();
 
+  cmXMLWriter(cmXMLWriter const&) = delete;
+  cmXMLWriter& operator=(cmXMLWriter const&) = delete;
+
   void StartDocument(const char* encoding = "UTF-8");
   void EndDocument();
 

+ 8 - 4
Source/cm_thread.hxx

@@ -11,18 +11,18 @@ namespace cm {
 class shared_mutex
 {
   uv_rwlock_t _M_;
-  CM_DISABLE_COPY(shared_mutex)
 
 public:
   shared_mutex() { uv_rwlock_init(&_M_); }
   ~shared_mutex() { uv_rwlock_destroy(&_M_); }
 
-  void lock() { uv_rwlock_wrlock(&_M_); }
+  shared_mutex(shared_mutex const&) = delete;
+  shared_mutex& operator=(shared_mutex const&) = delete;
 
+  void lock() { uv_rwlock_wrlock(&_M_); }
   void unlock() { uv_rwlock_wrunlock(&_M_); }
 
   void lock_shared() { uv_rwlock_rdlock(&_M_); }
-
   void unlock_shared() { uv_rwlock_rdunlock(&_M_); }
 };
 
@@ -30,7 +30,6 @@ template <typename T>
 class shared_lock
 {
   T& _mutex;
-  CM_DISABLE_COPY(shared_lock)
 
 public:
   shared_lock(T& m)
@@ -38,7 +37,12 @@ public:
   {
     _mutex.lock_shared();
   }
+
   ~shared_lock() { _mutex.unlock_shared(); }
+
+  shared_lock(shared_lock const&) = delete;
+  shared_lock& operator=(shared_lock const&) = delete;
 };
 }
+
 #endif

+ 3 - 2
Source/cmake.h

@@ -59,8 +59,6 @@ struct cmDocumentationEntry;
 
 class cmake
 {
-  CM_DISABLE_COPY(cmake)
-
 public:
   enum Role
   {
@@ -119,6 +117,9 @@ public:
   /// Destructor
   ~cmake();
 
+  cmake(cmake const&) = delete;
+  cmake& operator=(cmake const&) = delete;
+
 #if defined(CMAKE_BUILD_WITH_CMAKE)
   Json::Value ReportVersionJson() const;
   Json::Value ReportCapabilitiesJson(bool haveServerMode) const;

+ 0 - 1
bootstrap

@@ -1317,7 +1317,6 @@ cmake_report cmConfigure.h${_tmp} "#define CMAKE_BIN_DIR \"/bootstrap-not-insall
 cmake_report cmConfigure.h${_tmp} "#define CMAKE_DATA_DIR \"/bootstrap-not-insalled\""
 cmake_report cmConfigure.h${_tmp} "#define CMAKE_BOOTSTRAP"
 cmake_report cmConfigure.h${_tmp} "#define CM_FALLTHROUGH"
-cmake_report cmConfigure.h${_tmp} "#define CM_DISABLE_COPY(Class)"
 
 # Regenerate configured headers
 for h in Configure VersionConfig; do