From 55671b41d2d182ce8d3201012ec55badd7116615 Mon Sep 17 00:00:00 2001
From: Regina Pfeifer <regina@mailbox.org>
Date: Tue, 22 Jan 2019 23:44:50 +0100
Subject: clang-tidy: Use `= default`

Suppress some cases in `Source/cmGeneratorExpressionNode.cxx` and
`Source/cmUVHandlePtr.h` where a few older compilers require a
user-defined default constructor (with `{}`).
---
 .clang-tidy                                   |  1 -
 Source/CPack/IFW/cmCPackIFWGenerator.cxx      |  4 +-
 Source/CPack/IFW/cmCPackIFWInstaller.cxx      |  4 +-
 Source/CPack/IFW/cmCPackIFWPackage.cxx        |  4 +-
 Source/CPack/cmCPack7zGenerator.cxx           |  4 +-
 Source/CPack/cmCPackArchiveGenerator.cxx      |  4 +-
 Source/CPack/cmCPackBundleGenerator.cxx       |  8 +--
 Source/CPack/cmCPackDebGenerator.cxx          |  8 +--
 Source/CPack/cmCPackDragNDropGenerator.cxx    |  4 +-
 Source/CPack/cmCPackFreeBSDGenerator.cxx      |  6 +-
 Source/CPack/cmCPackNSISGenerator.cxx         |  4 +-
 Source/CPack/cmCPackOSXX11Generator.cxx       |  8 +--
 Source/CPack/cmCPackPKGGenerator.cxx          |  4 +-
 Source/CPack/cmCPackPackageMakerGenerator.cxx |  4 +-
 Source/CPack/cmCPackProductBuildGenerator.cxx |  4 +-
 Source/CPack/cmCPackRPMGenerator.cxx          |  8 +--
 Source/CPack/cmCPackSTGZGenerator.cxx         |  8 +--
 Source/CPack/cmCPackTGZGenerator.cxx          |  4 +-
 Source/CPack/cmCPackTXZGenerator.cxx          |  4 +-
 Source/CPack/cmCPackTarBZip2Generator.cxx     |  4 +-
 Source/CPack/cmCPackTarCompressGenerator.cxx  |  4 +-
 Source/CPack/cmCPackZIPGenerator.cxx          |  4 +-
 Source/CTest/cmCTestBZR.cxx                   |  4 +-
 Source/CTest/cmCTestBuildHandler.cxx          |  2 +-
 Source/CTest/cmCTestCVS.cxx                   |  4 +-
 Source/CTest/cmCTestConfigureHandler.cxx      |  4 +-
 Source/CTest/cmCTestCoverageHandler.cxx       |  4 +-
 Source/CTest/cmCTestGIT.cxx                   |  6 +-
 Source/CTest/cmCTestGenericHandler.cxx        |  4 +-
 Source/CTest/cmCTestGlobalVC.cxx              |  4 +-
 Source/CTest/cmCTestHG.cxx                    |  4 +-
 Source/CTest/cmCTestMultiProcessHandler.cxx   |  6 +-
 Source/CTest/cmCTestP4.cxx                    |  4 +-
 Source/CTest/cmCTestSVN.cxx                   |  4 +-
 Source/CTest/cmCTestScriptHandler.cxx         |  4 +-
 Source/CTest/cmCTestSubmitHandler.cxx         |  2 +-
 Source/CTest/cmCTestUpdateHandler.cxx         |  4 +-
 Source/CTest/cmCTestVC.cxx                    |  4 +-
 Source/CTest/cmParseBlanketJSCoverage.cxx     |  2 +-
 Source/CTest/cmParseCoberturaCoverage.cxx     |  2 +-
 Source/CTest/cmParseDelphiCoverage.cxx        |  2 +-
 Source/CTest/cmParseJacocoCoverage.cxx        |  2 +-
 Source/CTest/cmParseMumpsCoverage.cxx         |  4 +-
 Source/CTest/cmProcess.cxx                    |  4 +-
 Source/CursesDialog/cmCursesLabelWidget.cxx   |  4 +-
 Source/QtDialog/FirstConfigure.cxx            | 20 ++----
 Source/QtDialog/QCMakeCacheView.cxx           |  4 +-
 Source/cmBase32.cxx                           |  8 +--
 Source/cmCPluginAPI.cxx                       |  2 +-
 Source/cmCTest.h                              |  2 +-
 Source/cmCacheManager.h                       |  2 +-
 Source/cmCommand.h                            |  4 +-
 Source/cmCommandArgumentsHelper.h             |  4 +-
 Source/cmCommonTargetGenerator.cxx            |  4 +-
 Source/cmComputeComponentGraph.cxx            |  4 +-
 Source/cmComputeLinkDepends.h                 | 10 +--
 Source/cmComputeLinkInformation.h             |  2 +-
 Source/cmComputeTargetDepends.cxx             |  4 +-
 Source/cmConnection.cxx                       |  4 +-
 Source/cmConnection.h                         |  2 +-
 Source/cmDefinitions.h                        |  2 +-
 Source/cmDependsC.cxx                         |  4 +-
 Source/cmDependsC.h                           |  2 +-
 Source/cmDependsFortran.cxx                   |  4 +-
 Source/cmDependsJava.cxx                      |  8 +--
 Source/cmDocumentation.h                      |  2 +-
 Source/cmDocumentationEntry.h                 |  2 +-
 Source/cmDocumentationFormatter.cxx           |  8 +--
 Source/cmDynamicLoader.cxx                    |  4 +-
 Source/cmDynamicLoader.h                      |  4 +-
 Source/cmExecutionStatus.h                    |  2 +-
 Source/cmExpandedCommandArgument.cxx          |  4 +-
 Source/cmExportFileGenerator.h                |  2 +-
 Source/cmExprParserHelper.cxx                 |  4 +-
 Source/cmExternalMakefileProjectGenerator.cxx |  4 +-
 Source/cmExternalMakefileProjectGenerator.h   |  2 +-
 Source/cmExtraCodeBlocksGenerator.cxx         |  4 +-
 Source/cmExtraKateGenerator.cxx               |  4 +-
 Source/cmFileCommand.cxx                      |  4 +-
 Source/cmFileLockPool.cxx                     |  8 +--
 Source/cmFileLockUnix.cxx                     |  4 +-
 Source/cmFileMonitor.cxx                      |  5 +-
 Source/cmFilePathChecksum.cxx                 |  4 +-
 Source/cmFindCommon.cxx                       |  4 +-
 Source/cmFindLibraryCommand.cxx               |  2 +-
 Source/cmFindPackageCommand.cxx               |  6 +-
 Source/cmFunctionBlocker.h                    |  2 +-
 Source/cmFunctionCommand.cxx                  |  4 +-
 Source/cmFunctionCommand.h                    |  2 +-
 Source/cmGeneratedFileStream.cxx              |  4 +-
 Source/cmGeneratorExpression.cxx              |  4 +-
 Source/cmGeneratorExpressionEvaluator.h       |  4 +-
 Source/cmGeneratorExpressionLexer.cxx         |  4 +-
 Source/cmGeneratorExpressionNode.cxx          | 96 ++++++++++++++-------------
 Source/cmGeneratorExpressionNode.h            |  2 +-
 Source/cmGeneratorTarget.h                    | 10 +--
 Source/cmGlobVerificationManager.h            |  4 +-
 Source/cmGlobalCommonGenerator.cxx            |  4 +-
 Source/cmGlobalGenerator.h                    |  4 +-
 Source/cmGlobalGeneratorFactory.h             |  2 +-
 Source/cmGlobalNinjaGenerator.h               |  2 +-
 Source/cmGlobalUnixMakefileGenerator3.h       |  2 +-
 Source/cmIfCommand.h                          |  2 +-
 Source/cmInstallCommandArguments.cxx          |  4 +-
 Source/cmInstallDirectoryGenerator.cxx        |  4 +-
 Source/cmInstallFilesGenerator.cxx            |  4 +-
 Source/cmInstallGenerator.cxx                 |  4 +-
 Source/cmInstallScriptGenerator.cxx           |  4 +-
 Source/cmInstallSubdirectoryGenerator.cxx     |  4 +-
 Source/cmInstallTargetGenerator.cxx           |  4 +-
 Source/cmInstalledFile.cxx                    |  8 +--
 Source/cmLinkItem.cxx                         |  4 +-
 Source/cmLinkItem.h                           |  6 +-
 Source/cmLinkLineComputer.cxx                 |  4 +-
 Source/cmLinkLineDeviceComputer.cxx           |  4 +-
 Source/cmListCommand.cxx                      |  4 +-
 Source/cmListFileCache.h                      |  8 +--
 Source/cmLocalCommonGenerator.cxx             |  4 +-
 Source/cmLocalNinjaGenerator.cxx              |  4 +-
 Source/cmLocalUnixMakefileGenerator3.cxx      |  4 +-
 Source/cmLocalUnixMakefileGenerator3.h        |  4 +-
 Source/cmLocalXCodeGenerator.cxx              |  4 +-
 Source/cmMachO.cxx                            |  2 +-
 Source/cmMacroCommand.cxx                     |  4 +-
 Source/cmMacroCommand.h                       |  2 +-
 Source/cmMakefile.cxx                         |  2 +-
 Source/cmNewLineStyle.cxx                     |  4 +-
 Source/cmNinjaUtilityTargetGenerator.cxx      |  4 +-
 Source/cmOSXBundleGenerator.h                 |  2 +-
 Source/cmOrderDirectories.cxx                 |  2 +-
 Source/cmOutputRequiredFilesCommand.cxx       |  2 +-
 Source/cmProcessOutput.cxx                    |  4 +-
 Source/cmProcessTools.h                       |  2 +-
 Source/cmQtAutoGenGlobalInitializer.cxx       |  4 +-
 Source/cmQtAutoGenInitializer.h               |  2 +-
 Source/cmQtAutoGeneratorMocUic.cxx            |  4 +-
 Source/cmQtAutoGeneratorRcc.cxx               |  4 +-
 Source/cmScriptGenerator.cxx                  |  4 +-
 Source/cmScriptGenerator.h                    |  2 +-
 Source/cmSearchPath.cxx                       |  4 +-
 Source/cmServerConnection.cxx                 |  4 +-
 Source/cmSourceFileLocation.cxx               |  4 +-
 Source/cmStringReplaceHelper.h                |  2 +-
 Source/cmTest.cxx                             |  4 +-
 Source/cmTestGenerator.cxx                    |  4 +-
 Source/cmTimestamp.h                          |  2 +-
 Source/cmUVHandlePtr.h                        |  4 +-
 Source/cmVariableWatch.cxx                    |  8 +--
 Source/cmVariableWatch.h                      |  2 +-
 Source/cmVariableWatchCommand.cxx             |  4 +-
 Source/cm_codecvt.cxx                         |  4 +-
 151 files changed, 241 insertions(+), 463 deletions(-)

diff --git a/.clang-tidy b/.clang-tidy
index 626c754..dace6f1 100644
--- a/.clang-tidy
+++ b/.clang-tidy
@@ -14,7 +14,6 @@ modernize-*,\
 -modernize-raw-string-literal,\
 -modernize-return-braced-init-list,\
 -modernize-use-auto,\
--modernize-use-equals-default,\
 -modernize-use-equals-delete,\
 -modernize-use-noexcept,\
 -modernize-use-transparent-functors,\
diff --git a/Source/CPack/IFW/cmCPackIFWGenerator.cxx b/Source/CPack/IFW/cmCPackIFWGenerator.cxx
index 180c92e..9102e3e 100644
--- a/Source/CPack/IFW/cmCPackIFWGenerator.cxx
+++ b/Source/CPack/IFW/cmCPackIFWGenerator.cxx
@@ -21,9 +21,7 @@ cmCPackIFWGenerator::cmCPackIFWGenerator()
   this->Generator = this;
 }
 
-cmCPackIFWGenerator::~cmCPackIFWGenerator()
-{
-}
+cmCPackIFWGenerator::~cmCPackIFWGenerator() = default;
 
 int cmCPackIFWGenerator::PackageFiles()
 {
diff --git a/Source/CPack/IFW/cmCPackIFWInstaller.cxx b/Source/CPack/IFW/cmCPackIFWInstaller.cxx
index 8f492af..24d19d9 100644
--- a/Source/CPack/IFW/cmCPackIFWInstaller.cxx
+++ b/Source/CPack/IFW/cmCPackIFWInstaller.cxx
@@ -16,9 +16,7 @@
 #include <stddef.h>
 #include <utility>
 
-cmCPackIFWInstaller::cmCPackIFWInstaller()
-{
-}
+cmCPackIFWInstaller::cmCPackIFWInstaller() = default;
 
 void cmCPackIFWInstaller::printSkippedOptionWarning(
   const std::string& optionName, const std::string& optionValue)
diff --git a/Source/CPack/IFW/cmCPackIFWPackage.cxx b/Source/CPack/IFW/cmCPackIFWPackage.cxx
index c96b5d4..a1a52b1 100644
--- a/Source/CPack/IFW/cmCPackIFWPackage.cxx
+++ b/Source/CPack/IFW/cmCPackIFWPackage.cxx
@@ -24,9 +24,7 @@ cmCPackIFWPackage::CompareStruct::CompareStruct()
 }
 
 //------------------------------------------------------- DependenceStruct ---
-cmCPackIFWPackage::DependenceStruct::DependenceStruct()
-{
-}
+cmCPackIFWPackage::DependenceStruct::DependenceStruct() = default;
 
 cmCPackIFWPackage::DependenceStruct::DependenceStruct(
   const std::string& dependence)
diff --git a/Source/CPack/cmCPack7zGenerator.cxx b/Source/CPack/cmCPack7zGenerator.cxx
index f0c41a2..7413770 100644
--- a/Source/CPack/cmCPack7zGenerator.cxx
+++ b/Source/CPack/cmCPack7zGenerator.cxx
@@ -10,6 +10,4 @@ cmCPack7zGenerator::cmCPack7zGenerator()
 {
 }
 
-cmCPack7zGenerator::~cmCPack7zGenerator()
-{
-}
+cmCPack7zGenerator::~cmCPack7zGenerator() = default;
diff --git a/Source/CPack/cmCPackArchiveGenerator.cxx b/Source/CPack/cmCPackArchiveGenerator.cxx
index 1756218..98fb29d 100644
--- a/Source/CPack/cmCPackArchiveGenerator.cxx
+++ b/Source/CPack/cmCPackArchiveGenerator.cxx
@@ -22,9 +22,7 @@ cmCPackArchiveGenerator::cmCPackArchiveGenerator(cmArchiveWrite::Compress t,
   this->ArchiveFormat = format;
 }
 
-cmCPackArchiveGenerator::~cmCPackArchiveGenerator()
-{
-}
+cmCPackArchiveGenerator::~cmCPackArchiveGenerator() = default;
 
 std::string cmCPackArchiveGenerator::GetArchiveComponentFileName(
   const std::string& component, bool isGroupName)
diff --git a/Source/CPack/cmCPackBundleGenerator.cxx b/Source/CPack/cmCPackBundleGenerator.cxx
index f8fd108..3a476f4 100644
--- a/Source/CPack/cmCPackBundleGenerator.cxx
+++ b/Source/CPack/cmCPackBundleGenerator.cxx
@@ -8,13 +8,9 @@
 #include "cmCPackLog.h"
 #include "cmSystemTools.h"
 
-cmCPackBundleGenerator::cmCPackBundleGenerator()
-{
-}
+cmCPackBundleGenerator::cmCPackBundleGenerator() = default;
 
-cmCPackBundleGenerator::~cmCPackBundleGenerator()
-{
-}
+cmCPackBundleGenerator::~cmCPackBundleGenerator() = default;
 
 int cmCPackBundleGenerator::InitializeInternal()
 {
diff --git a/Source/CPack/cmCPackDebGenerator.cxx b/Source/CPack/cmCPackDebGenerator.cxx
index 46a428f..635de49 100644
--- a/Source/CPack/cmCPackDebGenerator.cxx
+++ b/Source/CPack/cmCPackDebGenerator.cxx
@@ -432,13 +432,9 @@ bool DebGenerator::generateDeb() const
 
 } // end anonymous namespace
 
-cmCPackDebGenerator::cmCPackDebGenerator()
-{
-}
+cmCPackDebGenerator::cmCPackDebGenerator() = default;
 
-cmCPackDebGenerator::~cmCPackDebGenerator()
-{
-}
+cmCPackDebGenerator::~cmCPackDebGenerator() = default;
 
 int cmCPackDebGenerator::InitializeInternal()
 {
diff --git a/Source/CPack/cmCPackDragNDropGenerator.cxx b/Source/CPack/cmCPackDragNDropGenerator.cxx
index be4a18e..80b9ef3 100644
--- a/Source/CPack/cmCPackDragNDropGenerator.cxx
+++ b/Source/CPack/cmCPackDragNDropGenerator.cxx
@@ -62,9 +62,7 @@ cmCPackDragNDropGenerator::cmCPackDragNDropGenerator()
   this->componentPackageMethod = ONE_PACKAGE;
 }
 
-cmCPackDragNDropGenerator::~cmCPackDragNDropGenerator()
-{
-}
+cmCPackDragNDropGenerator::~cmCPackDragNDropGenerator() = default;
 
 int cmCPackDragNDropGenerator::InitializeInternal()
 {
diff --git a/Source/CPack/cmCPackFreeBSDGenerator.cxx b/Source/CPack/cmCPackFreeBSDGenerator.cxx
index 0ff0054..fcf8af1 100644
--- a/Source/CPack/cmCPackFreeBSDGenerator.cxx
+++ b/Source/CPack/cmCPackFreeBSDGenerator.cxx
@@ -31,9 +31,7 @@ int cmCPackFreeBSDGenerator::InitializeInternal()
   return this->Superclass::InitializeInternal();
 }
 
-cmCPackFreeBSDGenerator::~cmCPackFreeBSDGenerator()
-{
-}
+cmCPackFreeBSDGenerator::~cmCPackFreeBSDGenerator() = default;
 
 // This is a wrapper, for use only in stream-based output,
 // that will output a string in UCL escaped fashion (in particular,
@@ -103,7 +101,7 @@ public:
   {
   }
 
-  virtual ~ManifestKey() {}
+  virtual ~ManifestKey() = default;
 
   // Output the value associated with this key to the stream @p s.
   // Format is to be decided by subclasses.
diff --git a/Source/CPack/cmCPackNSISGenerator.cxx b/Source/CPack/cmCPackNSISGenerator.cxx
index 4b865ca..37ea66e 100644
--- a/Source/CPack/cmCPackNSISGenerator.cxx
+++ b/Source/CPack/cmCPackNSISGenerator.cxx
@@ -30,9 +30,7 @@ cmCPackNSISGenerator::cmCPackNSISGenerator(bool nsis64)
   Nsis64 = nsis64;
 }
 
-cmCPackNSISGenerator::~cmCPackNSISGenerator()
-{
-}
+cmCPackNSISGenerator::~cmCPackNSISGenerator() = default;
 
 int cmCPackNSISGenerator::PackageFiles()
 {
diff --git a/Source/CPack/cmCPackOSXX11Generator.cxx b/Source/CPack/cmCPackOSXX11Generator.cxx
index 1908c17..486633c 100644
--- a/Source/CPack/cmCPackOSXX11Generator.cxx
+++ b/Source/CPack/cmCPackOSXX11Generator.cxx
@@ -11,13 +11,9 @@
 #include "cmSystemTools.h"
 #include "cm_sys_stat.h"
 
-cmCPackOSXX11Generator::cmCPackOSXX11Generator()
-{
-}
+cmCPackOSXX11Generator::cmCPackOSXX11Generator() = default;
 
-cmCPackOSXX11Generator::~cmCPackOSXX11Generator()
-{
-}
+cmCPackOSXX11Generator::~cmCPackOSXX11Generator() = default;
 
 int cmCPackOSXX11Generator::PackageFiles()
 {
diff --git a/Source/CPack/cmCPackPKGGenerator.cxx b/Source/CPack/cmCPackPKGGenerator.cxx
index 9401bca..ae227aa 100644
--- a/Source/CPack/cmCPackPKGGenerator.cxx
+++ b/Source/CPack/cmCPackPKGGenerator.cxx
@@ -15,9 +15,7 @@ cmCPackPKGGenerator::cmCPackPKGGenerator()
   this->componentPackageMethod = ONE_PACKAGE;
 }
 
-cmCPackPKGGenerator::~cmCPackPKGGenerator()
-{
-}
+cmCPackPKGGenerator::~cmCPackPKGGenerator() = default;
 
 bool cmCPackPKGGenerator::SupportsComponentInstallation() const
 {
diff --git a/Source/CPack/cmCPackPackageMakerGenerator.cxx b/Source/CPack/cmCPackPackageMakerGenerator.cxx
index 28e0561..246178d 100644
--- a/Source/CPack/cmCPackPackageMakerGenerator.cxx
+++ b/Source/CPack/cmCPackPackageMakerGenerator.cxx
@@ -30,9 +30,7 @@ cmCPackPackageMakerGenerator::cmCPackPackageMakerGenerator()
   this->PackageCompatibilityVersion = getVersion(10, 4);
 }
 
-cmCPackPackageMakerGenerator::~cmCPackPackageMakerGenerator()
-{
-}
+cmCPackPackageMakerGenerator::~cmCPackPackageMakerGenerator() = default;
 
 bool cmCPackPackageMakerGenerator::SupportsComponentInstallation() const
 {
diff --git a/Source/CPack/cmCPackProductBuildGenerator.cxx b/Source/CPack/cmCPackProductBuildGenerator.cxx
index e73d01f..a556e0c 100644
--- a/Source/CPack/cmCPackProductBuildGenerator.cxx
+++ b/Source/CPack/cmCPackProductBuildGenerator.cxx
@@ -17,9 +17,7 @@ cmCPackProductBuildGenerator::cmCPackProductBuildGenerator()
   this->componentPackageMethod = ONE_PACKAGE;
 }
 
-cmCPackProductBuildGenerator::~cmCPackProductBuildGenerator()
-{
-}
+cmCPackProductBuildGenerator::~cmCPackProductBuildGenerator() = default;
 
 int cmCPackProductBuildGenerator::PackageFiles()
 {
diff --git a/Source/CPack/cmCPackRPMGenerator.cxx b/Source/CPack/cmCPackRPMGenerator.cxx
index 5834829..33ab62b 100644
--- a/Source/CPack/cmCPackRPMGenerator.cxx
+++ b/Source/CPack/cmCPackRPMGenerator.cxx
@@ -14,13 +14,9 @@
 #include "cmCPackLog.h"
 #include "cmSystemTools.h"
 
-cmCPackRPMGenerator::cmCPackRPMGenerator()
-{
-}
+cmCPackRPMGenerator::cmCPackRPMGenerator() = default;
 
-cmCPackRPMGenerator::~cmCPackRPMGenerator()
-{
-}
+cmCPackRPMGenerator::~cmCPackRPMGenerator() = default;
 
 int cmCPackRPMGenerator::InitializeInternal()
 {
diff --git a/Source/CPack/cmCPackSTGZGenerator.cxx b/Source/CPack/cmCPackSTGZGenerator.cxx
index e55ea87..aba15d2 100644
--- a/Source/CPack/cmCPackSTGZGenerator.cxx
+++ b/Source/CPack/cmCPackSTGZGenerator.cxx
@@ -13,13 +13,9 @@
 #include "cmSystemTools.h"
 #include "cm_sys_stat.h"
 
-cmCPackSTGZGenerator::cmCPackSTGZGenerator()
-{
-}
+cmCPackSTGZGenerator::cmCPackSTGZGenerator() = default;
 
-cmCPackSTGZGenerator::~cmCPackSTGZGenerator()
-{
-}
+cmCPackSTGZGenerator::~cmCPackSTGZGenerator() = default;
 
 int cmCPackSTGZGenerator::InitializeInternal()
 {
diff --git a/Source/CPack/cmCPackTGZGenerator.cxx b/Source/CPack/cmCPackTGZGenerator.cxx
index eaf8186..6f4676e 100644
--- a/Source/CPack/cmCPackTGZGenerator.cxx
+++ b/Source/CPack/cmCPackTGZGenerator.cxx
@@ -10,6 +10,4 @@ cmCPackTGZGenerator::cmCPackTGZGenerator()
 {
 }
 
-cmCPackTGZGenerator::~cmCPackTGZGenerator()
-{
-}
+cmCPackTGZGenerator::~cmCPackTGZGenerator() = default;
diff --git a/Source/CPack/cmCPackTXZGenerator.cxx b/Source/CPack/cmCPackTXZGenerator.cxx
index e55e903..ccbccde 100644
--- a/Source/CPack/cmCPackTXZGenerator.cxx
+++ b/Source/CPack/cmCPackTXZGenerator.cxx
@@ -10,6 +10,4 @@ cmCPackTXZGenerator::cmCPackTXZGenerator()
 {
 }
 
-cmCPackTXZGenerator::~cmCPackTXZGenerator()
-{
-}
+cmCPackTXZGenerator::~cmCPackTXZGenerator() = default;
diff --git a/Source/CPack/cmCPackTarBZip2Generator.cxx b/Source/CPack/cmCPackTarBZip2Generator.cxx
index c7a3dd4..85abeb1 100644
--- a/Source/CPack/cmCPackTarBZip2Generator.cxx
+++ b/Source/CPack/cmCPackTarBZip2Generator.cxx
@@ -10,6 +10,4 @@ cmCPackTarBZip2Generator::cmCPackTarBZip2Generator()
 {
 }
 
-cmCPackTarBZip2Generator::~cmCPackTarBZip2Generator()
-{
-}
+cmCPackTarBZip2Generator::~cmCPackTarBZip2Generator() = default;
diff --git a/Source/CPack/cmCPackTarCompressGenerator.cxx b/Source/CPack/cmCPackTarCompressGenerator.cxx
index 0a7cd97..55a6de5 100644
--- a/Source/CPack/cmCPackTarCompressGenerator.cxx
+++ b/Source/CPack/cmCPackTarCompressGenerator.cxx
@@ -10,6 +10,4 @@ cmCPackTarCompressGenerator::cmCPackTarCompressGenerator()
 {
 }
 
-cmCPackTarCompressGenerator::~cmCPackTarCompressGenerator()
-{
-}
+cmCPackTarCompressGenerator::~cmCPackTarCompressGenerator() = default;
diff --git a/Source/CPack/cmCPackZIPGenerator.cxx b/Source/CPack/cmCPackZIPGenerator.cxx
index 6b77c36..f06494c 100644
--- a/Source/CPack/cmCPackZIPGenerator.cxx
+++ b/Source/CPack/cmCPackZIPGenerator.cxx
@@ -10,6 +10,4 @@ cmCPackZIPGenerator::cmCPackZIPGenerator()
 {
 }
 
-cmCPackZIPGenerator::~cmCPackZIPGenerator()
-{
-}
+cmCPackZIPGenerator::~cmCPackZIPGenerator() = default;
diff --git a/Source/CTest/cmCTestBZR.cxx b/Source/CTest/cmCTestBZR.cxx
index 365f267..b154caf 100644
--- a/Source/CTest/cmCTestBZR.cxx
+++ b/Source/CTest/cmCTestBZR.cxx
@@ -77,9 +77,7 @@ cmCTestBZR::cmCTestBZR(cmCTest* ct, std::ostream& log)
   cmSystemTools::PutEnv("BZR_PROGRESS_BAR=none");
 }
 
-cmCTestBZR::~cmCTestBZR()
-{
-}
+cmCTestBZR::~cmCTestBZR() = default;
 
 class cmCTestBZR::InfoParser : public cmCTestVC::LineParser
 {
diff --git a/Source/CTest/cmCTestBuildHandler.cxx b/Source/CTest/cmCTestBuildHandler.cxx
index d07bd21..3c96ebb 100644
--- a/Source/CTest/cmCTestBuildHandler.cxx
+++ b/Source/CTest/cmCTestBuildHandler.cxx
@@ -507,7 +507,7 @@ public:
     : FTC(ftc)
   {
   }
-  FragmentCompare() {}
+  FragmentCompare() = default;
   bool operator()(std::string const& l, std::string const& r) const
   {
     // Order files by modification time.  Use lexicographic order
diff --git a/Source/CTest/cmCTestCVS.cxx b/Source/CTest/cmCTestCVS.cxx
index 6e1ada1..6e8f73f 100644
--- a/Source/CTest/cmCTestCVS.cxx
+++ b/Source/CTest/cmCTestCVS.cxx
@@ -16,9 +16,7 @@ cmCTestCVS::cmCTestCVS(cmCTest* ct, std::ostream& log)
 {
 }
 
-cmCTestCVS::~cmCTestCVS()
-{
-}
+cmCTestCVS::~cmCTestCVS() = default;
 
 class cmCTestCVS::UpdateParser : public cmCTestVC::LineParser
 {
diff --git a/Source/CTest/cmCTestConfigureHandler.cxx b/Source/CTest/cmCTestConfigureHandler.cxx
index 5967b74..6b7601b 100644
--- a/Source/CTest/cmCTestConfigureHandler.cxx
+++ b/Source/CTest/cmCTestConfigureHandler.cxx
@@ -11,9 +11,7 @@
 #include <ostream>
 #include <string>
 
-cmCTestConfigureHandler::cmCTestConfigureHandler()
-{
-}
+cmCTestConfigureHandler::cmCTestConfigureHandler() = default;
 
 void cmCTestConfigureHandler::Initialize()
 {
diff --git a/Source/CTest/cmCTestCoverageHandler.cxx b/Source/CTest/cmCTestCoverageHandler.cxx
index 6c68f46..1e99c75 100644
--- a/Source/CTest/cmCTestCoverageHandler.cxx
+++ b/Source/CTest/cmCTestCoverageHandler.cxx
@@ -112,9 +112,7 @@ private:
   cmDuration TimeOut;
 };
 
-cmCTestCoverageHandler::cmCTestCoverageHandler()
-{
-}
+cmCTestCoverageHandler::cmCTestCoverageHandler() = default;
 
 void cmCTestCoverageHandler::Initialize()
 {
diff --git a/Source/CTest/cmCTestGIT.cxx b/Source/CTest/cmCTestGIT.cxx
index 4ede3d4..c0225ea 100644
--- a/Source/CTest/cmCTestGIT.cxx
+++ b/Source/CTest/cmCTestGIT.cxx
@@ -31,9 +31,7 @@ cmCTestGIT::cmCTestGIT(cmCTest* ct, std::ostream& log)
   this->CurrentGitVersion = 0;
 }
 
-cmCTestGIT::~cmCTestGIT()
-{
-}
+cmCTestGIT::~cmCTestGIT() = default;
 
 class cmCTestGIT::OneLineParser : public cmCTestVC::LineParser
 {
@@ -477,7 +475,7 @@ private:
     std::string EMail;
     unsigned long Time = 0;
     long TimeZone = 0;
-    Person() {}
+    Person() = default;
   };
 
   void ParsePerson(const char* str, Person& person)
diff --git a/Source/CTest/cmCTestGenericHandler.cxx b/Source/CTest/cmCTestGenericHandler.cxx
index dc1bba0..d3020b5 100644
--- a/Source/CTest/cmCTestGenericHandler.cxx
+++ b/Source/CTest/cmCTestGenericHandler.cxx
@@ -18,9 +18,7 @@ cmCTestGenericHandler::cmCTestGenericHandler()
   this->TestLoad = 0;
 }
 
-cmCTestGenericHandler::~cmCTestGenericHandler()
-{
-}
+cmCTestGenericHandler::~cmCTestGenericHandler() = default;
 
 void cmCTestGenericHandler::SetOption(const std::string& op, const char* value)
 {
diff --git a/Source/CTest/cmCTestGlobalVC.cxx b/Source/CTest/cmCTestGlobalVC.cxx
index d2714d90..a2d4d2c 100644
--- a/Source/CTest/cmCTestGlobalVC.cxx
+++ b/Source/CTest/cmCTestGlobalVC.cxx
@@ -15,9 +15,7 @@ cmCTestGlobalVC::cmCTestGlobalVC(cmCTest* ct, std::ostream& log)
   this->PriorRev = this->Unknown;
 }
 
-cmCTestGlobalVC::~cmCTestGlobalVC()
-{
-}
+cmCTestGlobalVC::~cmCTestGlobalVC() = default;
 
 const char* cmCTestGlobalVC::LocalPath(std::string const& path)
 {
diff --git a/Source/CTest/cmCTestHG.cxx b/Source/CTest/cmCTestHG.cxx
index 9c6a80d..6fb99d8 100644
--- a/Source/CTest/cmCTestHG.cxx
+++ b/Source/CTest/cmCTestHG.cxx
@@ -18,9 +18,7 @@ cmCTestHG::cmCTestHG(cmCTest* ct, std::ostream& log)
   this->PriorRev = this->Unknown;
 }
 
-cmCTestHG::~cmCTestHG()
-{
-}
+cmCTestHG::~cmCTestHG() = default;
 
 class cmCTestHG::IdentifyParser : public cmCTestVC::LineParser
 {
diff --git a/Source/CTest/cmCTestMultiProcessHandler.cxx b/Source/CTest/cmCTestMultiProcessHandler.cxx
index 320647a..2b17d03 100644
--- a/Source/CTest/cmCTestMultiProcessHandler.cxx
+++ b/Source/CTest/cmCTestMultiProcessHandler.cxx
@@ -44,7 +44,7 @@ public:
     : Handler(handler)
   {
   }
-  ~TestComparator() {}
+  ~TestComparator() = default;
 
   // Sorts tests in descending order of cost
   bool operator()(int index1, int index2) const
@@ -70,9 +70,7 @@ cmCTestMultiProcessHandler::cmCTestMultiProcessHandler()
   this->SerialTestRunning = false;
 }
 
-cmCTestMultiProcessHandler::~cmCTestMultiProcessHandler()
-{
-}
+cmCTestMultiProcessHandler::~cmCTestMultiProcessHandler() = default;
 
 // Set the tests
 void cmCTestMultiProcessHandler::SetTests(TestMap& tests,
diff --git a/Source/CTest/cmCTestP4.cxx b/Source/CTest/cmCTestP4.cxx
index c0bdc17..435be97 100644
--- a/Source/CTest/cmCTestP4.cxx
+++ b/Source/CTest/cmCTestP4.cxx
@@ -19,9 +19,7 @@ cmCTestP4::cmCTestP4(cmCTest* ct, std::ostream& log)
   this->PriorRev = this->Unknown;
 }
 
-cmCTestP4::~cmCTestP4()
-{
-}
+cmCTestP4::~cmCTestP4() = default;
 
 class cmCTestP4::IdentifyParser : public cmCTestVC::LineParser
 {
diff --git a/Source/CTest/cmCTestSVN.cxx b/Source/CTest/cmCTestSVN.cxx
index afde61c..3bf66ca 100644
--- a/Source/CTest/cmCTestSVN.cxx
+++ b/Source/CTest/cmCTestSVN.cxx
@@ -26,9 +26,7 @@ cmCTestSVN::cmCTestSVN(cmCTest* ct, std::ostream& log)
   this->PriorRev = this->Unknown;
 }
 
-cmCTestSVN::~cmCTestSVN()
-{
-}
+cmCTestSVN::~cmCTestSVN() = default;
 
 void cmCTestSVN::CleanupImpl()
 {
diff --git a/Source/CTest/cmCTestScriptHandler.cxx b/Source/CTest/cmCTestScriptHandler.cxx
index f417f53..1231f31 100644
--- a/Source/CTest/cmCTestScriptHandler.cxx
+++ b/Source/CTest/cmCTestScriptHandler.cxx
@@ -53,8 +53,8 @@ struct cmListFileFunction;
 class cmCTestScriptFunctionBlocker : public cmFunctionBlocker
 {
 public:
-  cmCTestScriptFunctionBlocker() {}
-  ~cmCTestScriptFunctionBlocker() override {}
+  cmCTestScriptFunctionBlocker() = default;
+  ~cmCTestScriptFunctionBlocker() override = default;
   bool IsFunctionBlocked(const cmListFileFunction& lff, cmMakefile& mf,
                          cmExecutionStatus& /*status*/) override;
   // virtual bool ShouldRemove(const cmListFileFunction& lff, cmMakefile &mf);
diff --git a/Source/CTest/cmCTestSubmitHandler.cxx b/Source/CTest/cmCTestSubmitHandler.cxx
index 5213bd3..9e1f409 100644
--- a/Source/CTest/cmCTestSubmitHandler.cxx
+++ b/Source/CTest/cmCTestSubmitHandler.cxx
@@ -31,7 +31,7 @@ class cmCTestSubmitHandler::ResponseParser : public cmXMLParser
 {
 public:
   ResponseParser() { this->Status = STATUS_OK; }
-  ~ResponseParser() override {}
+  ~ResponseParser() override = default;
 
 public:
   enum StatusType
diff --git a/Source/CTest/cmCTestUpdateHandler.cxx b/Source/CTest/cmCTestUpdateHandler.cxx
index 57e40ce..e3b7e9e 100644
--- a/Source/CTest/cmCTestUpdateHandler.cxx
+++ b/Source/CTest/cmCTestUpdateHandler.cxx
@@ -34,9 +34,7 @@ static const char* cmCTestUpdateHandlerUpdateToString(int type)
   return cmCTestUpdateHandlerUpdateStrings[type];
 }
 
-cmCTestUpdateHandler::cmCTestUpdateHandler()
-{
-}
+cmCTestUpdateHandler::cmCTestUpdateHandler() = default;
 
 void cmCTestUpdateHandler::Initialize()
 {
diff --git a/Source/CTest/cmCTestVC.cxx b/Source/CTest/cmCTestVC.cxx
index 63bd0e6..374e73f 100644
--- a/Source/CTest/cmCTestVC.cxx
+++ b/Source/CTest/cmCTestVC.cxx
@@ -24,9 +24,7 @@ cmCTestVC::cmCTestVC(cmCTest* ct, std::ostream& log)
   this->Unknown.Rev = "Unknown";
 }
 
-cmCTestVC::~cmCTestVC()
-{
-}
+cmCTestVC::~cmCTestVC() = default;
 
 void cmCTestVC::SetCommandLineTool(std::string const& tool)
 {
diff --git a/Source/CTest/cmParseBlanketJSCoverage.cxx b/Source/CTest/cmParseBlanketJSCoverage.cxx
index 308e6f7..63d6a15 100644
--- a/Source/CTest/cmParseBlanketJSCoverage.cxx
+++ b/Source/CTest/cmParseBlanketJSCoverage.cxx
@@ -20,7 +20,7 @@ public:
   {
   }
 
-  virtual ~JSONParser() {}
+  virtual ~JSONParser() = default;
 
   std::string getValue(std::string const& line, int type)
   {
diff --git a/Source/CTest/cmParseCoberturaCoverage.cxx b/Source/CTest/cmParseCoberturaCoverage.cxx
index 5bb6424..1669b07 100644
--- a/Source/CTest/cmParseCoberturaCoverage.cxx
+++ b/Source/CTest/cmParseCoberturaCoverage.cxx
@@ -24,7 +24,7 @@ public:
     this->CurFileName.clear();
   }
 
-  ~XMLParser() override {}
+  ~XMLParser() override = default;
 
 protected:
   void EndElement(const std::string& name) override
diff --git a/Source/CTest/cmParseDelphiCoverage.cxx b/Source/CTest/cmParseDelphiCoverage.cxx
index d99de06..9eda6f8 100644
--- a/Source/CTest/cmParseDelphiCoverage.cxx
+++ b/Source/CTest/cmParseDelphiCoverage.cxx
@@ -20,7 +20,7 @@ public:
   {
   }
 
-  virtual ~HTMLParser() {}
+  virtual ~HTMLParser() = default;
 
   bool initializeDelphiFile(
     std::string const& filename,
diff --git a/Source/CTest/cmParseJacocoCoverage.cxx b/Source/CTest/cmParseJacocoCoverage.cxx
index 31e7cd4..b2d3b1b 100644
--- a/Source/CTest/cmParseJacocoCoverage.cxx
+++ b/Source/CTest/cmParseJacocoCoverage.cxx
@@ -23,7 +23,7 @@ public:
     this->PackageName.clear();
   }
 
-  ~XMLParser() override {}
+  ~XMLParser() override = default;
 
 protected:
   void EndElement(const std::string& /*name*/) override {}
diff --git a/Source/CTest/cmParseMumpsCoverage.cxx b/Source/CTest/cmParseMumpsCoverage.cxx
index 488d237..4a81ee4 100644
--- a/Source/CTest/cmParseMumpsCoverage.cxx
+++ b/Source/CTest/cmParseMumpsCoverage.cxx
@@ -18,9 +18,7 @@ cmParseMumpsCoverage::cmParseMumpsCoverage(
 {
 }
 
-cmParseMumpsCoverage::~cmParseMumpsCoverage()
-{
-}
+cmParseMumpsCoverage::~cmParseMumpsCoverage() = default;
 
 bool cmParseMumpsCoverage::ReadCoverageFile(const char* file)
 {
diff --git a/Source/CTest/cmProcess.cxx b/Source/CTest/cmProcess.cxx
index 7737f65..70ef8df 100644
--- a/Source/CTest/cmProcess.cxx
+++ b/Source/CTest/cmProcess.cxx
@@ -69,9 +69,7 @@ cmProcess::cmProcess(cmCTestRunTest& runner)
   this->StartTime = std::chrono::steady_clock::time_point();
 }
 
-cmProcess::~cmProcess()
-{
-}
+cmProcess::~cmProcess() = default;
 
 void cmProcess::SetCommand(const char* command)
 {
diff --git a/Source/CursesDialog/cmCursesLabelWidget.cxx b/Source/CursesDialog/cmCursesLabelWidget.cxx
index 1dfd4ce..83aea5a 100644
--- a/Source/CursesDialog/cmCursesLabelWidget.cxx
+++ b/Source/CursesDialog/cmCursesLabelWidget.cxx
@@ -14,9 +14,7 @@ cmCursesLabelWidget::cmCursesLabelWidget(int width, int height, int left,
   this->SetValue(name);
 }
 
-cmCursesLabelWidget::~cmCursesLabelWidget()
-{
-}
+cmCursesLabelWidget::~cmCursesLabelWidget() = default;
 
 bool cmCursesLabelWidget::HandleInput(int& /*key*/, cmCursesMainForm* /*fm*/,
                                       WINDOW* /*w*/)
diff --git a/Source/QtDialog/FirstConfigure.cxx b/Source/QtDialog/FirstConfigure.cxx
index ae5179c..f28e1a8 100644
--- a/Source/QtDialog/FirstConfigure.cxx
+++ b/Source/QtDialog/FirstConfigure.cxx
@@ -86,9 +86,7 @@ QFrame* StartCompilerSetup::CreatePlatformWidgets()
   return frame;
 }
 
-StartCompilerSetup::~StartCompilerSetup()
-{
-}
+StartCompilerSetup::~StartCompilerSetup() = default;
 
 void StartCompilerSetup::setGenerators(
   std::vector<cmake::GeneratorInfo> const& gens)
@@ -237,9 +235,7 @@ NativeCompilerSetup::NativeCompilerSetup(QWidget* p)
   this->setupUi(c);
 }
 
-NativeCompilerSetup::~NativeCompilerSetup()
-{
-}
+NativeCompilerSetup::~NativeCompilerSetup() = default;
 
 QString NativeCompilerSetup::getCCompiler() const
 {
@@ -301,9 +297,7 @@ CrossCompilerSetup::CrossCompilerSetup(QWidget* p)
   this->registerField("systemName*", this->systemName);
 }
 
-CrossCompilerSetup::~CrossCompilerSetup()
-{
-}
+CrossCompilerSetup::~CrossCompilerSetup() = default;
 
 QString CrossCompilerSetup::getCCompiler() const
 {
@@ -414,9 +408,7 @@ ToolchainCompilerSetup::ToolchainCompilerSetup(QWidget* p)
   l->addWidget(this->ToolchainFile);
 }
 
-ToolchainCompilerSetup::~ToolchainCompilerSetup()
-{
-}
+ToolchainCompilerSetup::~ToolchainCompilerSetup() = default;
 
 QString ToolchainCompilerSetup::toolchainFile() const
 {
@@ -446,9 +438,7 @@ FirstConfigure::FirstConfigure()
   this->setPage(ToolchainSetup, this->mToolchainCompilerSetupPage);
 }
 
-FirstConfigure::~FirstConfigure()
-{
-}
+FirstConfigure::~FirstConfigure() = default;
 
 void FirstConfigure::setGenerators(
   std::vector<cmake::GeneratorInfo> const& gens)
diff --git a/Source/QtDialog/QCMakeCacheView.cxx b/Source/QtDialog/QCMakeCacheView.cxx
index 821c3f4..78a2710 100644
--- a/Source/QtDialog/QCMakeCacheView.cxx
+++ b/Source/QtDialog/QCMakeCacheView.cxx
@@ -186,9 +186,7 @@ QCMakeCacheModel::QCMakeCacheModel(QObject* p)
   this->setHorizontalHeaderLabels(labels);
 }
 
-QCMakeCacheModel::~QCMakeCacheModel()
-{
-}
+QCMakeCacheModel::~QCMakeCacheModel() = default;
 
 static uint qHash(const QCMakeProperty& p)
 {
diff --git a/Source/cmBase32.cxx b/Source/cmBase32.cxx
index 1dac212..80ada47 100644
--- a/Source/cmBase32.cxx
+++ b/Source/cmBase32.cxx
@@ -34,13 +34,9 @@ void Base32Encode5(const unsigned char src[5], char dst[8])
 
 // -- Class methods
 
-cmBase32Encoder::cmBase32Encoder()
-{
-}
+cmBase32Encoder::cmBase32Encoder() = default;
 
-cmBase32Encoder::~cmBase32Encoder()
-{
-}
+cmBase32Encoder::~cmBase32Encoder() = default;
 
 std::string cmBase32Encoder::encodeString(const unsigned char* input,
                                           size_t len, bool padding)
diff --git a/Source/cmCPluginAPI.cxx b/Source/cmCPluginAPI.cxx
index 8ed43f9..f49df74 100644
--- a/Source/cmCPluginAPI.cxx
+++ b/Source/cmCPluginAPI.cxx
@@ -474,7 +474,7 @@ int CCONV cmGetTotalArgumentSize(int argc, char** argv)
 // API for source files.
 struct cmCPluginAPISourceFile
 {
-  cmCPluginAPISourceFile() {}
+  cmCPluginAPISourceFile() = default;
   cmSourceFile* RealSourceFile = nullptr;
   std::string SourceName;
   std::string SourceExtension;
diff --git a/Source/cmCTest.h b/Source/cmCTest.h
index a82f400..cdbd665 100644
--- a/Source/cmCTest.h
+++ b/Source/cmCTest.h
@@ -57,7 +57,7 @@ public:
   /** Representation of one part.  */
   struct PartInfo
   {
-    PartInfo() {}
+    PartInfo() = default;
 
     void SetName(const std::string& name) { this->Name = name; }
     const std::string& GetName() const { return this->Name; }
diff --git a/Source/cmCacheManager.h b/Source/cmCacheManager.h
index b39856e..1031d11 100644
--- a/Source/cmCacheManager.h
+++ b/Source/cmCacheManager.h
@@ -42,7 +42,7 @@ private:
     void AppendProperty(const std::string& property, const char* value,
                         bool asString = false);
     bool Initialized = false;
-    CacheEntry() {}
+    CacheEntry() = default;
   };
 
 public:
diff --git a/Source/cmCommand.h b/Source/cmCommand.h
index dfc3e78..07333bb 100644
--- a/Source/cmCommand.h
+++ b/Source/cmCommand.h
@@ -30,12 +30,12 @@ public:
   /**
    * Construct the command. By default it has no makefile.
    */
-  cmCommand() {}
+  cmCommand() = default;
 
   /**
    * Need virtual destructor to destroy real command type.
    */
-  virtual ~cmCommand() {}
+  virtual ~cmCommand() = default;
 
   /**
    * Specify the makefile.
diff --git a/Source/cmCommandArgumentsHelper.h b/Source/cmCommandArgumentsHelper.h
index c68e64c..76d17ab 100644
--- a/Source/cmCommandArgumentsHelper.h
+++ b/Source/cmCommandArgumentsHelper.h
@@ -39,7 +39,7 @@ class cmCommandArgument
 public:
   cmCommandArgument(cmCommandArgumentsHelper* args, const char* key,
                     cmCommandArgumentGroup* group = nullptr);
-  virtual ~cmCommandArgument() {}
+  virtual ~cmCommandArgument() = default;
 
   /// this argument may follow after arg. 0 means it comes first.
   void Follows(const cmCommandArgument* arg);
@@ -172,7 +172,7 @@ class cmCommandArgumentGroup
   friend class cmCommandArgument;
 
 public:
-  cmCommandArgumentGroup() {}
+  cmCommandArgumentGroup() = default;
 
   /// All members of this group may follow the given argument
   void Follows(const cmCommandArgument* arg);
diff --git a/Source/cmCommonTargetGenerator.cxx b/Source/cmCommonTargetGenerator.cxx
index a1df271..2046d26 100644
--- a/Source/cmCommonTargetGenerator.cxx
+++ b/Source/cmCommonTargetGenerator.cxx
@@ -29,9 +29,7 @@ cmCommonTargetGenerator::cmCommonTargetGenerator(cmGeneratorTarget* gt)
 {
 }
 
-cmCommonTargetGenerator::~cmCommonTargetGenerator()
-{
-}
+cmCommonTargetGenerator::~cmCommonTargetGenerator() = default;
 
 std::string const& cmCommonTargetGenerator::GetConfigName() const
 {
diff --git a/Source/cmComputeComponentGraph.cxx b/Source/cmComputeComponentGraph.cxx
index 5820df6..113463f 100644
--- a/Source/cmComputeComponentGraph.cxx
+++ b/Source/cmComputeComponentGraph.cxx
@@ -18,9 +18,7 @@ cmComputeComponentGraph::cmComputeComponentGraph(Graph const& input)
   this->TransferEdges();
 }
 
-cmComputeComponentGraph::~cmComputeComponentGraph()
-{
-}
+cmComputeComponentGraph::~cmComputeComponentGraph() = default;
 
 void cmComputeComponentGraph::Tarjan()
 {
diff --git a/Source/cmComputeLinkDepends.h b/Source/cmComputeLinkDepends.h
index 32a2a62..a6bb49f 100644
--- a/Source/cmComputeLinkDepends.h
+++ b/Source/cmComputeLinkDepends.h
@@ -38,14 +38,8 @@ public:
     cmGeneratorTarget const* Target = nullptr;
     bool IsSharedDep = false;
     bool IsFlag = false;
-    LinkEntry() {}
-    LinkEntry(LinkEntry const& r)
-      : Item(r.Item)
-      , Target(r.Target)
-      , IsSharedDep(r.IsSharedDep)
-      , IsFlag(r.IsFlag)
-    {
-    }
+    LinkEntry() = default;
+    LinkEntry(LinkEntry const& r) = default;
   };
 
   typedef std::vector<LinkEntry> EntryVector;
diff --git a/Source/cmComputeLinkInformation.h b/Source/cmComputeLinkInformation.h
index 61fcf03..863639c 100644
--- a/Source/cmComputeLinkInformation.h
+++ b/Source/cmComputeLinkInformation.h
@@ -31,7 +31,7 @@ public:
 
   struct Item
   {
-    Item() {}
+    Item() = default;
     Item(std::string v, bool p, cmGeneratorTarget const* target = nullptr)
       : Value(std::move(v))
       , IsPath(p)
diff --git a/Source/cmComputeTargetDepends.cxx b/Source/cmComputeTargetDepends.cxx
index fde9750..041ad4f 100644
--- a/Source/cmComputeTargetDepends.cxx
+++ b/Source/cmComputeTargetDepends.cxx
@@ -103,9 +103,7 @@ cmComputeTargetDepends::cmComputeTargetDepends(cmGlobalGenerator* gg)
     cm->GetState()->GetGlobalPropertyAsBool("GLOBAL_DEPENDS_NO_CYCLES");
 }
 
-cmComputeTargetDepends::~cmComputeTargetDepends()
-{
-}
+cmComputeTargetDepends::~cmComputeTargetDepends() = default;
 
 bool cmComputeTargetDepends::Compute()
 {
diff --git a/Source/cmConnection.cxx b/Source/cmConnection.cxx
index 50e1936..166426b 100644
--- a/Source/cmConnection.cxx
+++ b/Source/cmConnection.cxx
@@ -127,9 +127,7 @@ void cmEventBasedConnection::OnDisconnect(int onerror)
   }
 }
 
-cmConnection::~cmConnection()
-{
-}
+cmConnection::~cmConnection() = default;
 
 bool cmConnection::OnConnectionShuttingDown()
 {
diff --git a/Source/cmConnection.h b/Source/cmConnection.h
index ce2d2dc..3a7f1b9 100644
--- a/Source/cmConnection.h
+++ b/Source/cmConnection.h
@@ -63,7 +63,7 @@ class cmConnection
   CM_DISABLE_COPY(cmConnection)
 
 public:
-  cmConnection() {}
+  cmConnection() = default;
 
   virtual void WriteData(const std::string& data) = 0;
 
diff --git a/Source/cmDefinitions.h b/Source/cmDefinitions.h
index b2794fa..6c252be 100644
--- a/Source/cmDefinitions.h
+++ b/Source/cmDefinitions.h
@@ -47,7 +47,7 @@ private:
     typedef std::string std_string;
 
   public:
-    Def() {}
+    Def() = default;
     Def(const char* v)
       : std_string(v ? v : "")
       , Exists(v ? true : false)
diff --git a/Source/cmDependsC.cxx b/Source/cmDependsC.cxx
index f6ac4f2..049f840 100644
--- a/Source/cmDependsC.cxx
+++ b/Source/cmDependsC.cxx
@@ -19,9 +19,7 @@
 #define INCLUDE_REGEX_COMPLAIN_MARKER "#IncludeRegexComplain: "
 #define INCLUDE_REGEX_TRANSFORM_MARKER "#IncludeRegexTransform: "
 
-cmDependsC::cmDependsC()
-{
-}
+cmDependsC::cmDependsC() = default;
 
 cmDependsC::cmDependsC(
   cmLocalGenerator* lg, const std::string& targetDir, const std::string& lang,
diff --git a/Source/cmDependsC.h b/Source/cmDependsC.h
index af2b06e..dab03f3 100644
--- a/Source/cmDependsC.h
+++ b/Source/cmDependsC.h
@@ -75,7 +75,7 @@ public:
 
   struct cmIncludeLines
   {
-    cmIncludeLines() {}
+    cmIncludeLines() = default;
     std::vector<UnscannedEntry> UnscannedEntries;
     bool Used = false;
   };
diff --git a/Source/cmDependsFortran.cxx b/Source/cmDependsFortran.cxx
index 6c5f647..cae3ff6 100644
--- a/Source/cmDependsFortran.cxx
+++ b/Source/cmDependsFortran.cxx
@@ -68,9 +68,7 @@ public:
   }
 };
 
-cmDependsFortran::cmDependsFortran()
-{
-}
+cmDependsFortran::cmDependsFortran() = default;
 
 cmDependsFortran::cmDependsFortran(cmLocalGenerator* lg)
   : cmDepends(lg)
diff --git a/Source/cmDependsJava.cxx b/Source/cmDependsJava.cxx
index b44b3a2..2485e15 100644
--- a/Source/cmDependsJava.cxx
+++ b/Source/cmDependsJava.cxx
@@ -4,13 +4,9 @@
 
 #include "cmSystemTools.h"
 
-cmDependsJava::cmDependsJava()
-{
-}
+cmDependsJava::cmDependsJava() = default;
 
-cmDependsJava::~cmDependsJava()
-{
-}
+cmDependsJava::~cmDependsJava() = default;
 
 bool cmDependsJava::WriteDependencies(const std::set<std::string>& sources,
                                       const std::string& /*obj*/,
diff --git a/Source/cmDocumentation.h b/Source/cmDocumentation.h
index b2ff01a..1026064 100644
--- a/Source/cmDocumentation.h
+++ b/Source/cmDocumentation.h
@@ -115,7 +115,7 @@ private:
 
   struct RequestedHelpItem
   {
-    RequestedHelpItem() {}
+    RequestedHelpItem() = default;
     cmDocumentationEnums::Type HelpType = None;
     std::string Filename;
     std::string Argument;
diff --git a/Source/cmDocumentationEntry.h b/Source/cmDocumentationEntry.h
index ca323cc..afbca5e 100644
--- a/Source/cmDocumentationEntry.h
+++ b/Source/cmDocumentationEntry.h
@@ -13,7 +13,7 @@ struct cmDocumentationEntry
   std::string Name;
   std::string Brief;
   char CustomNamePrefix = ' ';
-  cmDocumentationEntry() {}
+  cmDocumentationEntry() = default;
   cmDocumentationEntry(const char* doc[2])
   {
     if (doc[0]) {
diff --git a/Source/cmDocumentationFormatter.cxx b/Source/cmDocumentationFormatter.cxx
index e573c04..3e7f989 100644
--- a/Source/cmDocumentationFormatter.cxx
+++ b/Source/cmDocumentationFormatter.cxx
@@ -11,13 +11,9 @@
 #include <string>
 #include <vector>
 
-cmDocumentationFormatter::cmDocumentationFormatter()
-{
-}
+cmDocumentationFormatter::cmDocumentationFormatter() = default;
 
-cmDocumentationFormatter::~cmDocumentationFormatter()
-{
-}
+cmDocumentationFormatter::~cmDocumentationFormatter() = default;
 
 void cmDocumentationFormatter::PrintFormatted(std::ostream& os,
                                               const char* text)
diff --git a/Source/cmDynamicLoader.cxx b/Source/cmDynamicLoader.cxx
index 7da6ff5..0549cf9 100644
--- a/Source/cmDynamicLoader.cxx
+++ b/Source/cmDynamicLoader.cxx
@@ -24,9 +24,7 @@ private:
 
 cmDynamicLoaderCache* cmDynamicLoaderCache::Instance = nullptr;
 
-cmDynamicLoaderCache::~cmDynamicLoaderCache()
-{
-}
+cmDynamicLoaderCache::~cmDynamicLoaderCache() = default;
 
 void cmDynamicLoaderCache::CacheFile(const char* path,
                                      cmsys::DynamicLoader::LibraryHandle p)
diff --git a/Source/cmDynamicLoader.h b/Source/cmDynamicLoader.h
index 61d3b46..e9fe97a 100644
--- a/Source/cmDynamicLoader.h
+++ b/Source/cmDynamicLoader.h
@@ -28,8 +28,8 @@ public:
   static void FlushCache();
 
 protected:
-  cmDynamicLoader() {}
-  ~cmDynamicLoader() {}
+  cmDynamicLoader() = default;
+  ~cmDynamicLoader() = default;
 };
 
 #endif
diff --git a/Source/cmExecutionStatus.h b/Source/cmExecutionStatus.h
index 1946231..f9189f7 100644
--- a/Source/cmExecutionStatus.h
+++ b/Source/cmExecutionStatus.h
@@ -11,7 +11,7 @@
 class cmExecutionStatus
 {
 public:
-  cmExecutionStatus() {}
+  cmExecutionStatus() = default;
 
   void Clear()
   {
diff --git a/Source/cmExpandedCommandArgument.cxx b/Source/cmExpandedCommandArgument.cxx
index 00848a6..43f648b 100644
--- a/Source/cmExpandedCommandArgument.cxx
+++ b/Source/cmExpandedCommandArgument.cxx
@@ -4,9 +4,7 @@
 
 #include <utility>
 
-cmExpandedCommandArgument::cmExpandedCommandArgument()
-{
-}
+cmExpandedCommandArgument::cmExpandedCommandArgument() = default;
 
 cmExpandedCommandArgument::cmExpandedCommandArgument(std::string value,
                                                      bool quoted)
diff --git a/Source/cmExportFileGenerator.h b/Source/cmExportFileGenerator.h
index 41c6538..747503e 100644
--- a/Source/cmExportFileGenerator.h
+++ b/Source/cmExportFileGenerator.h
@@ -42,7 +42,7 @@ class cmExportFileGenerator
 {
 public:
   cmExportFileGenerator();
-  virtual ~cmExportFileGenerator() {}
+  virtual ~cmExportFileGenerator() = default;
 
   /** Set the full path to the export file to generate.  */
   void SetExportFile(const char* mainFile);
diff --git a/Source/cmExprParserHelper.cxx b/Source/cmExprParserHelper.cxx
index 8d3dad7..80c78a3 100644
--- a/Source/cmExprParserHelper.cxx
+++ b/Source/cmExprParserHelper.cxx
@@ -18,9 +18,7 @@ cmExprParserHelper::cmExprParserHelper()
   this->Result = 0;
 }
 
-cmExprParserHelper::~cmExprParserHelper()
-{
-}
+cmExprParserHelper::~cmExprParserHelper() = default;
 
 int cmExprParserHelper::ParseString(const char* str, int verb)
 {
diff --git a/Source/cmExternalMakefileProjectGenerator.cxx b/Source/cmExternalMakefileProjectGenerator.cxx
index 150995f..ac54811 100644
--- a/Source/cmExternalMakefileProjectGenerator.cxx
+++ b/Source/cmExternalMakefileProjectGenerator.cxx
@@ -41,9 +41,7 @@ cmExternalMakefileProjectGeneratorFactory::
 }
 
 cmExternalMakefileProjectGeneratorFactory::
-  ~cmExternalMakefileProjectGeneratorFactory()
-{
-}
+  ~cmExternalMakefileProjectGeneratorFactory() = default;
 
 std::string cmExternalMakefileProjectGeneratorFactory::GetName() const
 {
diff --git a/Source/cmExternalMakefileProjectGenerator.h b/Source/cmExternalMakefileProjectGenerator.h
index 492987d..4438f28 100644
--- a/Source/cmExternalMakefileProjectGenerator.h
+++ b/Source/cmExternalMakefileProjectGenerator.h
@@ -26,7 +26,7 @@ class cmMakefile;
 class cmExternalMakefileProjectGenerator
 {
 public:
-  virtual ~cmExternalMakefileProjectGenerator() {}
+  virtual ~cmExternalMakefileProjectGenerator() = default;
 
   virtual void EnableLanguage(std::vector<std::string> const& languages,
                               cmMakefile*, bool optional);
diff --git a/Source/cmExtraCodeBlocksGenerator.cxx b/Source/cmExtraCodeBlocksGenerator.cxx
index d70352f..397508c 100644
--- a/Source/cmExtraCodeBlocksGenerator.cxx
+++ b/Source/cmExtraCodeBlocksGenerator.cxx
@@ -32,9 +32,7 @@ Discussion:
 http://forums.codeblocks.org/index.php/topic,6789.0.html
 */
 
-cmExtraCodeBlocksGenerator::cmExtraCodeBlocksGenerator()
-{
-}
+cmExtraCodeBlocksGenerator::cmExtraCodeBlocksGenerator() = default;
 
 cmExternalMakefileProjectGeneratorFactory*
 cmExtraCodeBlocksGenerator::GetFactory()
diff --git a/Source/cmExtraKateGenerator.cxx b/Source/cmExtraKateGenerator.cxx
index a9ed7fe..e28a865 100644
--- a/Source/cmExtraKateGenerator.cxx
+++ b/Source/cmExtraKateGenerator.cxx
@@ -16,9 +16,7 @@
 #include <string.h>
 #include <vector>
 
-cmExtraKateGenerator::cmExtraKateGenerator()
-{
-}
+cmExtraKateGenerator::cmExtraKateGenerator() = default;
 
 cmExternalMakefileProjectGeneratorFactory* cmExtraKateGenerator::GetFactory()
 {
diff --git a/Source/cmFileCommand.cxx b/Source/cmFileCommand.cxx
index 999af54..0b404fe 100644
--- a/Source/cmFileCommand.cxx
+++ b/Source/cmFileCommand.cxx
@@ -1079,7 +1079,7 @@ struct cmFileCopier
     , Doing(DoingNone)
   {
   }
-  virtual ~cmFileCopier() {}
+  virtual ~cmFileCopier() = default;
 
   bool Run(std::vector<std::string> const& args);
 
@@ -1102,7 +1102,7 @@ protected:
   {
     bool Exclude = false;
     mode_t Permissions = 0;
-    MatchProperties() {}
+    MatchProperties() = default;
   };
   struct MatchRule
   {
diff --git a/Source/cmFileLockPool.cxx b/Source/cmFileLockPool.cxx
index 5dc9243..d700a79 100644
--- a/Source/cmFileLockPool.cxx
+++ b/Source/cmFileLockPool.cxx
@@ -8,9 +8,7 @@
 #include "cmFileLock.h"
 #include "cmFileLockResult.h"
 
-cmFileLockPool::cmFileLockPool()
-{
-}
+cmFileLockPool::cmFileLockPool() = default;
 
 cmFileLockPool::~cmFileLockPool()
 {
@@ -111,9 +109,7 @@ bool cmFileLockPool::IsAlreadyLocked(const std::string& filename) const
   return this->ProcessScope.IsAlreadyLocked(filename);
 }
 
-cmFileLockPool::ScopePool::ScopePool()
-{
-}
+cmFileLockPool::ScopePool::ScopePool() = default;
 
 cmFileLockPool::ScopePool::~ScopePool()
 {
diff --git a/Source/cmFileLockUnix.cxx b/Source/cmFileLockUnix.cxx
index 9b653e8..1bf5013 100644
--- a/Source/cmFileLockUnix.cxx
+++ b/Source/cmFileLockUnix.cxx
@@ -8,9 +8,7 @@
 #include <stdio.h> // SEEK_SET
 #include <unistd.h>
 
-cmFileLock::cmFileLock()
-{
-}
+cmFileLock::cmFileLock() = default;
 
 cmFileLockResult cmFileLock::Release()
 {
diff --git a/Source/cmFileMonitor.cxx b/Source/cmFileMonitor.cxx
index b36ac78..8287747 100644
--- a/Source/cmFileMonitor.cxx
+++ b/Source/cmFileMonitor.cxx
@@ -150,10 +150,7 @@ public:
     p->AddChildWatcher(ps, this);
   }
 
-  ~cmRealDirectoryWatcher() override
-  {
-    // Handle is freed via uv_handle_close callback!
-  }
+  ~cmRealDirectoryWatcher() override = default;
 
   void StartWatching() final
   {
diff --git a/Source/cmFilePathChecksum.cxx b/Source/cmFilePathChecksum.cxx
index f84360e..2cffa7c 100644
--- a/Source/cmFilePathChecksum.cxx
+++ b/Source/cmFilePathChecksum.cxx
@@ -9,9 +9,7 @@
 
 #include <vector>
 
-cmFilePathChecksum::cmFilePathChecksum()
-{
-}
+cmFilePathChecksum::cmFilePathChecksum() = default;
 
 cmFilePathChecksum::cmFilePathChecksum(std::string const& currentSrcDir,
                                        std::string const& currentBinDir,
diff --git a/Source/cmFindCommon.cxx b/Source/cmFindCommon.cxx
index 39051b9..78be64e 100644
--- a/Source/cmFindCommon.cxx
+++ b/Source/cmFindCommon.cxx
@@ -48,9 +48,7 @@ cmFindCommon::cmFindCommon()
   this->InitializeSearchPathGroups();
 }
 
-cmFindCommon::~cmFindCommon()
-{
-}
+cmFindCommon::~cmFindCommon() = default;
 
 void cmFindCommon::InitializeSearchPathGroups()
 {
diff --git a/Source/cmFindLibraryCommand.cxx b/Source/cmFindLibraryCommand.cxx
index bcf876d..3400b36 100644
--- a/Source/cmFindLibraryCommand.cxx
+++ b/Source/cmFindLibraryCommand.cxx
@@ -202,7 +202,7 @@ struct cmFindLibraryHelper
     bool TryRaw = false;
     std::string Raw;
     cmsys::RegularExpression Regex;
-    Name() {}
+    Name() = default;
   };
   std::vector<Name> Names;
 
diff --git a/Source/cmFindPackageCommand.cxx b/Source/cmFindPackageCommand.cxx
index bec2af9..0a5463b 100644
--- a/Source/cmFindPackageCommand.cxx
+++ b/Source/cmFindPackageCommand.cxx
@@ -1671,7 +1671,7 @@ void cmFindPackageCommand::StoreVersionFound()
 class cmFileListGeneratorBase
 {
 public:
-  virtual ~cmFileListGeneratorBase() {}
+  virtual ~cmFileListGeneratorBase() = default;
 
 protected:
   bool Consider(std::string const& fullPath, cmFileList& listing);
@@ -1688,8 +1688,8 @@ private:
 class cmFileList
 {
 public:
-  cmFileList() {}
-  virtual ~cmFileList() {}
+  cmFileList() = default;
+  virtual ~cmFileList() = default;
   cmFileList& operator/(cmFileListGeneratorBase const& rhs)
   {
     if (this->Last) {
diff --git a/Source/cmFunctionBlocker.h b/Source/cmFunctionBlocker.h
index b3450b3..cd6b05d 100644
--- a/Source/cmFunctionBlocker.h
+++ b/Source/cmFunctionBlocker.h
@@ -26,7 +26,7 @@ public:
     return false;
   }
 
-  virtual ~cmFunctionBlocker() {}
+  virtual ~cmFunctionBlocker() = default;
 
   /** Set/Get the context in which this blocker is created.  */
   void SetStartingContext(cmListFileContext const& lfc)
diff --git a/Source/cmFunctionCommand.cxx b/Source/cmFunctionCommand.cxx
index 67c9e9a..d2bf687 100644
--- a/Source/cmFunctionCommand.cxx
+++ b/Source/cmFunctionCommand.cxx
@@ -14,10 +14,10 @@
 class cmFunctionHelperCommand : public cmCommand
 {
 public:
-  cmFunctionHelperCommand() {}
+  cmFunctionHelperCommand() = default;
 
   ///! clean up any memory allocated by the function
-  ~cmFunctionHelperCommand() override {}
+  ~cmFunctionHelperCommand() override = default;
 
   /**
    * This is a virtual constructor for the command.
diff --git a/Source/cmFunctionCommand.h b/Source/cmFunctionCommand.h
index 3352b92..90f7d82 100644
--- a/Source/cmFunctionCommand.h
+++ b/Source/cmFunctionCommand.h
@@ -19,7 +19,7 @@ class cmFunctionFunctionBlocker : public cmFunctionBlocker
 {
 public:
   cmFunctionFunctionBlocker() { this->Depth = 0; }
-  ~cmFunctionFunctionBlocker() override {}
+  ~cmFunctionFunctionBlocker() override = default;
   bool IsFunctionBlocked(const cmListFileFunction&, cmMakefile& mf,
                          cmExecutionStatus&) override;
   bool ShouldRemove(const cmListFileFunction&, cmMakefile& mf) override;
diff --git a/Source/cmGeneratedFileStream.cxx b/Source/cmGeneratedFileStream.cxx
index bf53dbf..b55e786 100644
--- a/Source/cmGeneratedFileStream.cxx
+++ b/Source/cmGeneratedFileStream.cxx
@@ -102,9 +102,7 @@ void cmGeneratedFileStream::SetCompressionExtraExtension(bool ext)
   this->CompressExtraExtension = ext;
 }
 
-cmGeneratedFileStreamBase::cmGeneratedFileStreamBase()
-{
-}
+cmGeneratedFileStreamBase::cmGeneratedFileStreamBase() = default;
 
 cmGeneratedFileStreamBase::cmGeneratedFileStreamBase(std::string const& name)
 {
diff --git a/Source/cmGeneratorExpression.cxx b/Source/cmGeneratorExpression.cxx
index f3f9771..175a26d 100644
--- a/Source/cmGeneratorExpression.cxx
+++ b/Source/cmGeneratorExpression.cxx
@@ -33,9 +33,7 @@ std::unique_ptr<cmCompiledGeneratorExpression> cmGeneratorExpression::Parse(
   return this->Parse(std::string(input ? input : ""));
 }
 
-cmGeneratorExpression::~cmGeneratorExpression()
-{
-}
+cmGeneratorExpression::~cmGeneratorExpression() = default;
 
 const std::string& cmCompiledGeneratorExpression::Evaluate(
   cmLocalGenerator* lg, const std::string& config, bool quiet,
diff --git a/Source/cmGeneratorExpressionEvaluator.h b/Source/cmGeneratorExpressionEvaluator.h
index 0561799..0f553f2 100644
--- a/Source/cmGeneratorExpressionEvaluator.h
+++ b/Source/cmGeneratorExpressionEvaluator.h
@@ -16,8 +16,8 @@ struct cmGeneratorExpressionNode;
 
 struct cmGeneratorExpressionEvaluator
 {
-  cmGeneratorExpressionEvaluator() {}
-  virtual ~cmGeneratorExpressionEvaluator() {}
+  cmGeneratorExpressionEvaluator() = default;
+  virtual ~cmGeneratorExpressionEvaluator() = default;
 
   enum Type
   {
diff --git a/Source/cmGeneratorExpressionLexer.cxx b/Source/cmGeneratorExpressionLexer.cxx
index dd1e243..a7f090a 100644
--- a/Source/cmGeneratorExpressionLexer.cxx
+++ b/Source/cmGeneratorExpressionLexer.cxx
@@ -2,9 +2,7 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmGeneratorExpressionLexer.h"
 
-cmGeneratorExpressionLexer::cmGeneratorExpressionLexer()
-{
-}
+cmGeneratorExpressionLexer::cmGeneratorExpressionLexer() = default;
 
 static void InsertText(const char* upto, const char* c,
                        std::vector<cmGeneratorExpressionToken>& result)
diff --git a/Source/cmGeneratorExpressionNode.cxx b/Source/cmGeneratorExpressionNode.cxx
index 6a3f73d..eb66ed5 100644
--- a/Source/cmGeneratorExpressionNode.cxx
+++ b/Source/cmGeneratorExpressionNode.cxx
@@ -56,7 +56,7 @@ std::string cmGeneratorExpressionNode::EvaluateDependentExpression(
 
 static const struct ZeroNode : public cmGeneratorExpressionNode
 {
-  ZeroNode() {}
+  ZeroNode() {} // NOLINT(modernize-use-equals-default)
 
   bool GeneratesContent() const override { return false; }
 
@@ -74,7 +74,7 @@ static const struct ZeroNode : public cmGeneratorExpressionNode
 
 static const struct OneNode : public cmGeneratorExpressionNode
 {
-  OneNode() {}
+  OneNode() {} // NOLINT(modernize-use-equals-default)
 
   bool AcceptsArbitraryContentParameter() const override { return true; }
 
@@ -127,7 +127,7 @@ BOOLEAN_OP_NODE(orNode, OR, 0, 1)
 
 static const struct NotNode : public cmGeneratorExpressionNode
 {
-  NotNode() {}
+  NotNode() {} // NOLINT(modernize-use-equals-default)
 
   std::string Evaluate(
     const std::vector<std::string>& parameters,
@@ -147,7 +147,7 @@ static const struct NotNode : public cmGeneratorExpressionNode
 
 static const struct BoolNode : public cmGeneratorExpressionNode
 {
-  BoolNode() {}
+  BoolNode() {} // NOLINT(modernize-use-equals-default)
 
   int NumExpectedParameters() const override { return 1; }
 
@@ -163,7 +163,7 @@ static const struct BoolNode : public cmGeneratorExpressionNode
 
 static const struct IfNode : public cmGeneratorExpressionNode
 {
-  IfNode() {}
+  IfNode() {} // NOLINT(modernize-use-equals-default)
 
   int NumExpectedParameters() const override { return 3; }
 
@@ -184,7 +184,7 @@ static const struct IfNode : public cmGeneratorExpressionNode
 
 static const struct StrEqualNode : public cmGeneratorExpressionNode
 {
-  StrEqualNode() {}
+  StrEqualNode() {} // NOLINT(modernize-use-equals-default)
 
   int NumExpectedParameters() const override { return 2; }
 
@@ -200,7 +200,7 @@ static const struct StrEqualNode : public cmGeneratorExpressionNode
 
 static const struct EqualNode : public cmGeneratorExpressionNode
 {
-  EqualNode() {}
+  EqualNode() {} // NOLINT(modernize-use-equals-default)
 
   int NumExpectedParameters() const override { return 2; }
 
@@ -278,7 +278,7 @@ static const struct EqualNode : public cmGeneratorExpressionNode
 
 static const struct InListNode : public cmGeneratorExpressionNode
 {
-  InListNode() {}
+  InListNode() {} // NOLINT(modernize-use-equals-default)
 
   int NumExpectedParameters() const override { return 2; }
 
@@ -328,7 +328,7 @@ static const struct InListNode : public cmGeneratorExpressionNode
 
 static const struct TargetExistsNode : public cmGeneratorExpressionNode
 {
-  TargetExistsNode() {}
+  TargetExistsNode() {} // NOLINT(modernize-use-equals-default)
 
   int NumExpectedParameters() const override { return 1; }
 
@@ -359,7 +359,7 @@ static const struct TargetExistsNode : public cmGeneratorExpressionNode
 
 static const struct TargetNameIfExistsNode : public cmGeneratorExpressionNode
 {
-  TargetNameIfExistsNode() {}
+  TargetNameIfExistsNode() {} // NOLINT(modernize-use-equals-default)
 
   int NumExpectedParameters() const override { return 1; }
 
@@ -393,7 +393,7 @@ static const struct TargetNameIfExistsNode : public cmGeneratorExpressionNode
 
 struct GenexEvaluator : public cmGeneratorExpressionNode
 {
-  GenexEvaluator() {}
+  GenexEvaluator() {} // NOLINT(modernize-use-equals-default)
 
 protected:
   std::string EvaluateExpression(
@@ -430,7 +430,7 @@ protected:
 
 static const struct TargetGenexEvalNode : public GenexEvaluator
 {
-  TargetGenexEvalNode() {}
+  TargetGenexEvalNode() {} // NOLINT(modernize-use-equals-default)
 
   int NumExpectedParameters() const override { return 2; }
 
@@ -476,7 +476,7 @@ static const struct TargetGenexEvalNode : public GenexEvaluator
 
 static const struct GenexEvalNode : public GenexEvaluator
 {
-  GenexEvalNode() {}
+  GenexEvalNode() {} // NOLINT(modernize-use-equals-default)
 
   int NumExpectedParameters() const override { return 1; }
 
@@ -500,7 +500,7 @@ static const struct GenexEvalNode : public GenexEvaluator
 
 static const struct LowerCaseNode : public cmGeneratorExpressionNode
 {
-  LowerCaseNode() {}
+  LowerCaseNode() {} // NOLINT(modernize-use-equals-default)
 
   bool AcceptsArbitraryContentParameter() const override { return true; }
 
@@ -516,7 +516,7 @@ static const struct LowerCaseNode : public cmGeneratorExpressionNode
 
 static const struct UpperCaseNode : public cmGeneratorExpressionNode
 {
-  UpperCaseNode() {}
+  UpperCaseNode() {} // NOLINT(modernize-use-equals-default)
 
   bool AcceptsArbitraryContentParameter() const override { return true; }
 
@@ -532,7 +532,7 @@ static const struct UpperCaseNode : public cmGeneratorExpressionNode
 
 static const struct MakeCIdentifierNode : public cmGeneratorExpressionNode
 {
-  MakeCIdentifierNode() {}
+  MakeCIdentifierNode() {} // NOLINT(modernize-use-equals-default)
 
   bool AcceptsArbitraryContentParameter() const override { return true; }
 
@@ -548,7 +548,7 @@ static const struct MakeCIdentifierNode : public cmGeneratorExpressionNode
 
 static const struct Angle_RNode : public cmGeneratorExpressionNode
 {
-  Angle_RNode() {}
+  Angle_RNode() {} // NOLINT(modernize-use-equals-default)
 
   int NumExpectedParameters() const override { return 0; }
 
@@ -564,7 +564,7 @@ static const struct Angle_RNode : public cmGeneratorExpressionNode
 
 static const struct CommaNode : public cmGeneratorExpressionNode
 {
-  CommaNode() {}
+  CommaNode() {} // NOLINT(modernize-use-equals-default)
 
   int NumExpectedParameters() const override { return 0; }
 
@@ -580,7 +580,7 @@ static const struct CommaNode : public cmGeneratorExpressionNode
 
 static const struct SemicolonNode : public cmGeneratorExpressionNode
 {
-  SemicolonNode() {}
+  SemicolonNode() {} // NOLINT(modernize-use-equals-default)
 
   int NumExpectedParameters() const override { return 0; }
 
@@ -596,7 +596,7 @@ static const struct SemicolonNode : public cmGeneratorExpressionNode
 
 struct CompilerIdNode : public cmGeneratorExpressionNode
 {
-  CompilerIdNode() {}
+  CompilerIdNode() {} // NOLINT(modernize-use-equals-default)
 
   int NumExpectedParameters() const override { return OneOrZeroParameters; }
 
@@ -650,7 +650,7 @@ struct CompilerIdNode : public cmGeneratorExpressionNode
 
 static const struct CCompilerIdNode : public CompilerIdNode
 {
-  CCompilerIdNode() {}
+  CCompilerIdNode() {} // NOLINT(modernize-use-equals-default)
 
   std::string Evaluate(
     const std::vector<std::string>& parameters,
@@ -672,7 +672,7 @@ static const struct CCompilerIdNode : public CompilerIdNode
 
 static const struct CXXCompilerIdNode : public CompilerIdNode
 {
-  CXXCompilerIdNode() {}
+  CXXCompilerIdNode() {} // NOLINT(modernize-use-equals-default)
 
   std::string Evaluate(
     const std::vector<std::string>& parameters,
@@ -694,7 +694,7 @@ static const struct CXXCompilerIdNode : public CompilerIdNode
 
 static const struct FortranCompilerIdNode : public CompilerIdNode
 {
-  FortranCompilerIdNode() {}
+  FortranCompilerIdNode() {} // NOLINT(modernize-use-equals-default)
 
   std::string Evaluate(
     const std::vector<std::string>& parameters,
@@ -716,7 +716,7 @@ static const struct FortranCompilerIdNode : public CompilerIdNode
 
 struct CompilerVersionNode : public cmGeneratorExpressionNode
 {
-  CompilerVersionNode() {}
+  CompilerVersionNode() {} // NOLINT(modernize-use-equals-default)
 
   int NumExpectedParameters() const override { return OneOrZeroParameters; }
 
@@ -753,7 +753,7 @@ struct CompilerVersionNode : public cmGeneratorExpressionNode
 
 static const struct CCompilerVersionNode : public CompilerVersionNode
 {
-  CCompilerVersionNode() {}
+  CCompilerVersionNode() {} // NOLINT(modernize-use-equals-default)
 
   std::string Evaluate(
     const std::vector<std::string>& parameters,
@@ -775,7 +775,7 @@ static const struct CCompilerVersionNode : public CompilerVersionNode
 
 static const struct CxxCompilerVersionNode : public CompilerVersionNode
 {
-  CxxCompilerVersionNode() {}
+  CxxCompilerVersionNode() {} // NOLINT(modernize-use-equals-default)
 
   std::string Evaluate(
     const std::vector<std::string>& parameters,
@@ -797,7 +797,7 @@ static const struct CxxCompilerVersionNode : public CompilerVersionNode
 
 static const struct FortranCompilerVersionNode : public CompilerVersionNode
 {
-  FortranCompilerVersionNode() {}
+  FortranCompilerVersionNode() {} // NOLINT(modernize-use-equals-default)
 
   std::string Evaluate(
     const std::vector<std::string>& parameters,
@@ -819,7 +819,7 @@ static const struct FortranCompilerVersionNode : public CompilerVersionNode
 
 struct PlatformIdNode : public cmGeneratorExpressionNode
 {
-  PlatformIdNode() {}
+  PlatformIdNode() {} // NOLINT(modernize-use-equals-default)
 
   int NumExpectedParameters() const override { return OneOrZeroParameters; }
 
@@ -848,7 +848,7 @@ struct PlatformIdNode : public cmGeneratorExpressionNode
 
 static const struct VersionGreaterNode : public cmGeneratorExpressionNode
 {
-  VersionGreaterNode() {}
+  VersionGreaterNode() {} // NOLINT(modernize-use-equals-default)
 
   int NumExpectedParameters() const override { return 2; }
 
@@ -868,7 +868,7 @@ static const struct VersionGreaterNode : public cmGeneratorExpressionNode
 
 static const struct VersionGreaterEqNode : public cmGeneratorExpressionNode
 {
-  VersionGreaterEqNode() {}
+  VersionGreaterEqNode() {} // NOLINT(modernize-use-equals-default)
 
   int NumExpectedParameters() const override { return 2; }
 
@@ -888,7 +888,7 @@ static const struct VersionGreaterEqNode : public cmGeneratorExpressionNode
 
 static const struct VersionLessNode : public cmGeneratorExpressionNode
 {
-  VersionLessNode() {}
+  VersionLessNode() {} // NOLINT(modernize-use-equals-default)
 
   int NumExpectedParameters() const override { return 2; }
 
@@ -908,7 +908,7 @@ static const struct VersionLessNode : public cmGeneratorExpressionNode
 
 static const struct VersionLessEqNode : public cmGeneratorExpressionNode
 {
-  VersionLessEqNode() {}
+  VersionLessEqNode() {} // NOLINT(modernize-use-equals-default)
 
   int NumExpectedParameters() const override { return 2; }
 
@@ -928,7 +928,7 @@ static const struct VersionLessEqNode : public cmGeneratorExpressionNode
 
 static const struct VersionEqualNode : public cmGeneratorExpressionNode
 {
-  VersionEqualNode() {}
+  VersionEqualNode() {} // NOLINT(modernize-use-equals-default)
 
   int NumExpectedParameters() const override { return 2; }
 
@@ -948,7 +948,7 @@ static const struct VersionEqualNode : public cmGeneratorExpressionNode
 
 static const struct LinkOnlyNode : public cmGeneratorExpressionNode
 {
-  LinkOnlyNode() {}
+  LinkOnlyNode() {} // NOLINT(modernize-use-equals-default)
 
   std::string Evaluate(
     const std::vector<std::string>& parameters,
@@ -970,7 +970,7 @@ static const struct LinkOnlyNode : public cmGeneratorExpressionNode
 
 static const struct ConfigurationNode : public cmGeneratorExpressionNode
 {
-  ConfigurationNode() {}
+  ConfigurationNode() {} // NOLINT(modernize-use-equals-default)
 
   int NumExpectedParameters() const override { return 0; }
 
@@ -987,7 +987,7 @@ static const struct ConfigurationNode : public cmGeneratorExpressionNode
 
 static const struct ConfigurationTestNode : public cmGeneratorExpressionNode
 {
-  ConfigurationTestNode() {}
+  ConfigurationTestNode() {} // NOLINT(modernize-use-equals-default)
 
   int NumExpectedParameters() const override { return OneOrZeroParameters; }
 
@@ -1046,7 +1046,7 @@ static const struct ConfigurationTestNode : public cmGeneratorExpressionNode
 
 static const struct JoinNode : public cmGeneratorExpressionNode
 {
-  JoinNode() {}
+  JoinNode() {} // NOLINT(modernize-use-equals-default)
 
   int NumExpectedParameters() const override { return 2; }
 
@@ -1066,7 +1066,7 @@ static const struct JoinNode : public cmGeneratorExpressionNode
 
 static const struct CompileLanguageNode : public cmGeneratorExpressionNode
 {
-  CompileLanguageNode() {}
+  CompileLanguageNode() {} // NOLINT(modernize-use-equals-default)
 
   int NumExpectedParameters() const override { return OneOrZeroParameters; }
 
@@ -1146,7 +1146,7 @@ std::string getLinkedTargetsContent(
 
 static const struct TargetPropertyNode : public cmGeneratorExpressionNode
 {
-  TargetPropertyNode() {}
+  TargetPropertyNode() {} // NOLINT(modernize-use-equals-default)
 
   // This node handles errors on parameter count itself.
   int NumExpectedParameters() const override { return OneOrMoreParameters; }
@@ -1442,7 +1442,7 @@ static const struct TargetPropertyNode : public cmGeneratorExpressionNode
 
 static const struct TargetNameNode : public cmGeneratorExpressionNode
 {
-  TargetNameNode() {}
+  TargetNameNode() {} // NOLINT(modernize-use-equals-default)
 
   bool GeneratesContent() const override { return true; }
 
@@ -1464,7 +1464,7 @@ static const struct TargetNameNode : public cmGeneratorExpressionNode
 
 static const struct TargetObjectsNode : public cmGeneratorExpressionNode
 {
-  TargetObjectsNode() {}
+  TargetObjectsNode() {} // NOLINT(modernize-use-equals-default)
 
   std::string Evaluate(
     const std::vector<std::string>& parameters,
@@ -1546,7 +1546,7 @@ static const struct TargetObjectsNode : public cmGeneratorExpressionNode
 
 static const struct CompileFeaturesNode : public cmGeneratorExpressionNode
 {
-  CompileFeaturesNode() {}
+  CompileFeaturesNode() {} // NOLINT(modernize-use-equals-default)
 
   int NumExpectedParameters() const override { return OneOrMoreParameters; }
 
@@ -1671,7 +1671,7 @@ cmPolicies::PolicyID policyForString(const char* policy_id)
 
 static const struct TargetPolicyNode : public cmGeneratorExpressionNode
 {
-  TargetPolicyNode() {}
+  TargetPolicyNode() {} // NOLINT(modernize-use-equals-default)
 
   int NumExpectedParameters() const override { return 1; }
 
@@ -1732,7 +1732,7 @@ static const struct TargetPolicyNode : public cmGeneratorExpressionNode
 
 static const struct InstallPrefixNode : public cmGeneratorExpressionNode
 {
-  InstallPrefixNode() {}
+  InstallPrefixNode() {} // NOLINT(modernize-use-equals-default)
 
   bool GeneratesContent() const override { return true; }
   int NumExpectedParameters() const override { return 0; }
@@ -1953,7 +1953,7 @@ struct TargetFilesystemArtifactResultGetter<ArtifactPathTag>
 template <typename ArtifactT, typename ComponentT>
 struct TargetFilesystemArtifact : public cmGeneratorExpressionNode
 {
-  TargetFilesystemArtifact() {}
+  TargetFilesystemArtifact() {} // NOLINT(modernize-use-equals-default)
 
   int NumExpectedParameters() const override { return 1; }
 
@@ -2009,7 +2009,9 @@ struct TargetFilesystemArtifact : public cmGeneratorExpressionNode
 template <typename ArtifactT>
 struct TargetFilesystemArtifactNodeGroup
 {
-  TargetFilesystemArtifactNodeGroup() {}
+  TargetFilesystemArtifactNodeGroup() // NOLINT(modernize-use-equals-default)
+  {
+  }
 
   TargetFilesystemArtifact<ArtifactT, ArtifactPathTag> File;
   TargetFilesystemArtifact<ArtifactT, ArtifactNameTag> FileName;
@@ -2037,7 +2039,7 @@ static const TargetFilesystemArtifact<ArtifactBundleContentDirTag,
 
 static const struct ShellPathNode : public cmGeneratorExpressionNode
 {
-  ShellPathNode() {}
+  ShellPathNode() {} // NOLINT(modernize-use-equals-default)
 
   std::string Evaluate(
     const std::vector<std::string>& parameters,
diff --git a/Source/cmGeneratorExpressionNode.h b/Source/cmGeneratorExpressionNode.h
index ece1c11..3dbfc6e 100644
--- a/Source/cmGeneratorExpressionNode.h
+++ b/Source/cmGeneratorExpressionNode.h
@@ -22,7 +22,7 @@ struct cmGeneratorExpressionNode
     OneOrMoreParameters = -1,
     OneOrZeroParameters = -2
   };
-  virtual ~cmGeneratorExpressionNode() {}
+  virtual ~cmGeneratorExpressionNode() = default;
 
   virtual bool GeneratesContent() const { return true; }
 
diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h
index d9221f0..8afb548 100644
--- a/Source/cmGeneratorTarget.h
+++ b/Source/cmGeneratorTarget.h
@@ -111,7 +111,7 @@ public:
     std::set<std::string> ExpectedXamlHeaders;
     std::set<std::string> ExpectedXamlSources;
     bool Initialized = false;
-    KindedSources() {}
+    KindedSources() = default;
   };
 
   /** Get all sources needed for a configuration with kinds assigned.  */
@@ -562,7 +562,7 @@ public:
   };
   struct SourceFileFlags
   {
-    SourceFileFlags() {}
+    SourceFileFlags() = default;
     SourceFileType Type = SourceFileTypeNormal;
     const char* MacFolder = nullptr; // location inside Mac content folders
   };
@@ -750,7 +750,7 @@ private:
 
   struct CompatibleInterfaces : public CompatibleInterfacesBase
   {
-    CompatibleInterfaces() {}
+    CompatibleInterfaces() = default;
     bool Done = false;
   };
   mutable std::map<std::string, CompatibleInterfaces> CompatibleInterfacesMap;
@@ -764,7 +764,7 @@ private:
 
   struct LinkImplClosure : public std::vector<cmGeneratorTarget const*>
   {
-    LinkImplClosure() {}
+    LinkImplClosure() = default;
     bool Done = false;
   };
   mutable std::map<std::string, LinkImplClosure> LinkImplClosureMap;
@@ -784,7 +784,7 @@ private:
   // Cache import information from properties for each configuration.
   struct ImportInfo
   {
-    ImportInfo() {}
+    ImportInfo() = default;
     bool NoSOName = false;
     ManagedType Managed = Native;
     unsigned int Multiplicity = 0;
diff --git a/Source/cmGlobVerificationManager.h b/Source/cmGlobVerificationManager.h
index c293a76..1024328 100644
--- a/Source/cmGlobVerificationManager.h
+++ b/Source/cmGlobVerificationManager.h
@@ -22,7 +22,7 @@
 class cmGlobVerificationManager
 {
 public:
-  cmGlobVerificationManager() {}
+  cmGlobVerificationManager() = default;
 
 protected:
   ///! Save verification script for given makefile.
@@ -73,7 +73,7 @@ private:
     bool Initialized = false;
     std::vector<std::string> Files;
     std::vector<std::pair<std::string, cmListFileBacktrace>> Backtraces;
-    CacheEntryValue() {}
+    CacheEntryValue() = default;
   };
 
   typedef std::map<CacheEntryKey, CacheEntryValue> CacheEntryMap;
diff --git a/Source/cmGlobalCommonGenerator.cxx b/Source/cmGlobalCommonGenerator.cxx
index 3b7de4b..bf992b4 100644
--- a/Source/cmGlobalCommonGenerator.cxx
+++ b/Source/cmGlobalCommonGenerator.cxx
@@ -9,6 +9,4 @@ cmGlobalCommonGenerator::cmGlobalCommonGenerator(cmake* cm)
 {
 }
 
-cmGlobalCommonGenerator::~cmGlobalCommonGenerator()
-{
-}
+cmGlobalCommonGenerator::~cmGlobalCommonGenerator() = default;
diff --git a/Source/cmGlobalGenerator.h b/Source/cmGlobalGenerator.h
index 36d3d10..3bf6309 100644
--- a/Source/cmGlobalGenerator.h
+++ b/Source/cmGlobalGenerator.h
@@ -479,7 +479,7 @@ protected:
     std::vector<std::string> Depends;
     std::string WorkingDir;
     bool UsesTerminal = false;
-    GlobalTargetInfo() {}
+    GlobalTargetInfo() = default;
   };
 
   void CreateDefaultGlobalTargets(std::vector<GlobalTargetInfo>& targets);
@@ -608,7 +608,7 @@ private:
     long LastDiskTime = -1;
     std::set<std::string> All;
     std::set<std::string> Generated;
-    DirectoryContent() {}
+    DirectoryContent() = default;
   };
   std::map<std::string, DirectoryContent> DirectoryContentMap;
 
diff --git a/Source/cmGlobalGeneratorFactory.h b/Source/cmGlobalGeneratorFactory.h
index d4f772b..bb5f74c 100644
--- a/Source/cmGlobalGeneratorFactory.h
+++ b/Source/cmGlobalGeneratorFactory.h
@@ -20,7 +20,7 @@ struct cmDocumentationEntry;
 class cmGlobalGeneratorFactory
 {
 public:
-  virtual ~cmGlobalGeneratorFactory() {}
+  virtual ~cmGlobalGeneratorFactory() = default;
 
   /** Create a GlobalGenerator */
   virtual cmGlobalGenerator* CreateGlobalGenerator(const std::string& n,
diff --git a/Source/cmGlobalNinjaGenerator.h b/Source/cmGlobalNinjaGenerator.h
index 00fa348..fb39b30 100644
--- a/Source/cmGlobalNinjaGenerator.h
+++ b/Source/cmGlobalNinjaGenerator.h
@@ -183,7 +183,7 @@ public:
     return new cmGlobalGeneratorSimpleFactory<cmGlobalNinjaGenerator>();
   }
 
-  ~cmGlobalNinjaGenerator() override {}
+  ~cmGlobalNinjaGenerator() override = default;
 
   cmLocalGenerator* CreateLocalGenerator(cmMakefile* mf) override;
 
diff --git a/Source/cmGlobalUnixMakefileGenerator3.h b/Source/cmGlobalUnixMakefileGenerator3.h
index 6199586..a6b58e8 100644
--- a/Source/cmGlobalUnixMakefileGenerator3.h
+++ b/Source/cmGlobalUnixMakefileGenerator3.h
@@ -217,7 +217,7 @@ protected:
   // Store per-target progress counters.
   struct TargetProgress
   {
-    TargetProgress() {}
+    TargetProgress() = default;
     unsigned long NumberOfActions = 0;
     std::string VariableFile;
     std::vector<unsigned long> Marks;
diff --git a/Source/cmIfCommand.h b/Source/cmIfCommand.h
index e3d30dd..c984976 100644
--- a/Source/cmIfCommand.h
+++ b/Source/cmIfCommand.h
@@ -25,7 +25,7 @@ public:
     this->ElseSeen = false;
     this->ScopeDepth = 0;
   }
-  ~cmIfFunctionBlocker() override {}
+  ~cmIfFunctionBlocker() override = default;
   bool IsFunctionBlocked(const cmListFileFunction& lff, cmMakefile& mf,
                          cmExecutionStatus&) override;
   bool ShouldRemove(const cmListFileFunction& lff, cmMakefile& mf) override;
diff --git a/Source/cmInstallCommandArguments.cxx b/Source/cmInstallCommandArguments.cxx
index 4f872f4..155f055 100644
--- a/Source/cmInstallCommandArguments.cxx
+++ b/Source/cmInstallCommandArguments.cxx
@@ -206,9 +206,7 @@ bool cmInstallCommandArguments::CheckPermissions(
   return false;
 }
 
-cmInstallCommandIncludesArgument::cmInstallCommandIncludesArgument()
-{
-}
+cmInstallCommandIncludesArgument::cmInstallCommandIncludesArgument() = default;
 
 const std::vector<std::string>&
 cmInstallCommandIncludesArgument::GetIncludeDirs() const
diff --git a/Source/cmInstallDirectoryGenerator.cxx b/Source/cmInstallDirectoryGenerator.cxx
index c9b50a3..a88c7af 100644
--- a/Source/cmInstallDirectoryGenerator.cxx
+++ b/Source/cmInstallDirectoryGenerator.cxx
@@ -39,9 +39,7 @@ cmInstallDirectoryGenerator::cmInstallDirectoryGenerator(
   }
 }
 
-cmInstallDirectoryGenerator::~cmInstallDirectoryGenerator()
-{
-}
+cmInstallDirectoryGenerator::~cmInstallDirectoryGenerator() = default;
 
 void cmInstallDirectoryGenerator::Compute(cmLocalGenerator* lg)
 {
diff --git a/Source/cmInstallFilesGenerator.cxx b/Source/cmInstallFilesGenerator.cxx
index 68e3f86..07094cb 100644
--- a/Source/cmInstallFilesGenerator.cxx
+++ b/Source/cmInstallFilesGenerator.cxx
@@ -38,9 +38,7 @@ cmInstallFilesGenerator::cmInstallFilesGenerator(
   }
 }
 
-cmInstallFilesGenerator::~cmInstallFilesGenerator()
-{
-}
+cmInstallFilesGenerator::~cmInstallFilesGenerator() = default;
 
 void cmInstallFilesGenerator::Compute(cmLocalGenerator* lg)
 {
diff --git a/Source/cmInstallGenerator.cxx b/Source/cmInstallGenerator.cxx
index 2b23658..d139190 100644
--- a/Source/cmInstallGenerator.cxx
+++ b/Source/cmInstallGenerator.cxx
@@ -18,9 +18,7 @@ cmInstallGenerator::cmInstallGenerator(
 {
 }
 
-cmInstallGenerator::~cmInstallGenerator()
-{
-}
+cmInstallGenerator::~cmInstallGenerator() = default;
 
 bool cmInstallGenerator::HaveInstall()
 {
diff --git a/Source/cmInstallScriptGenerator.cxx b/Source/cmInstallScriptGenerator.cxx
index 12e87c7..a513958 100644
--- a/Source/cmInstallScriptGenerator.cxx
+++ b/Source/cmInstallScriptGenerator.cxx
@@ -27,9 +27,7 @@ cmInstallScriptGenerator::cmInstallScriptGenerator(const char* script,
   }
 }
 
-cmInstallScriptGenerator::~cmInstallScriptGenerator()
-{
-}
+cmInstallScriptGenerator::~cmInstallScriptGenerator() = default;
 
 void cmInstallScriptGenerator::Compute(cmLocalGenerator* lg)
 {
diff --git a/Source/cmInstallSubdirectoryGenerator.cxx b/Source/cmInstallSubdirectoryGenerator.cxx
index ca9f134..ad7121f 100644
--- a/Source/cmInstallSubdirectoryGenerator.cxx
+++ b/Source/cmInstallSubdirectoryGenerator.cxx
@@ -20,9 +20,7 @@ cmInstallSubdirectoryGenerator::cmInstallSubdirectoryGenerator(
 {
 }
 
-cmInstallSubdirectoryGenerator::~cmInstallSubdirectoryGenerator()
-{
-}
+cmInstallSubdirectoryGenerator::~cmInstallSubdirectoryGenerator() = default;
 
 bool cmInstallSubdirectoryGenerator::HaveInstall()
 {
diff --git a/Source/cmInstallTargetGenerator.cxx b/Source/cmInstallTargetGenerator.cxx
index 08f46aa..6922d53 100644
--- a/Source/cmInstallTargetGenerator.cxx
+++ b/Source/cmInstallTargetGenerator.cxx
@@ -39,9 +39,7 @@ cmInstallTargetGenerator::cmInstallTargetGenerator(
   this->NamelinkMode = NamelinkModeNone;
 }
 
-cmInstallTargetGenerator::~cmInstallTargetGenerator()
-{
-}
+cmInstallTargetGenerator::~cmInstallTargetGenerator() = default;
 
 void cmInstallTargetGenerator::GenerateScript(std::ostream& os)
 {
diff --git a/Source/cmInstalledFile.cxx b/Source/cmInstalledFile.cxx
index 9f61e5b..537b4ec 100644
--- a/Source/cmInstalledFile.cxx
+++ b/Source/cmInstalledFile.cxx
@@ -9,18 +9,14 @@
 
 #include <utility>
 
-cmInstalledFile::cmInstalledFile()
-{
-}
+cmInstalledFile::cmInstalledFile() = default;
 
 cmInstalledFile::~cmInstalledFile()
 {
   delete NameExpression;
 }
 
-cmInstalledFile::Property::Property()
-{
-}
+cmInstalledFile::Property::Property() = default;
 
 cmInstalledFile::Property::~Property()
 {
diff --git a/Source/cmLinkItem.cxx b/Source/cmLinkItem.cxx
index b035c8c..9b03ad0 100644
--- a/Source/cmLinkItem.cxx
+++ b/Source/cmLinkItem.cxx
@@ -6,9 +6,7 @@
 
 #include <utility> // IWYU pragma: keep
 
-cmLinkItem::cmLinkItem()
-{
-}
+cmLinkItem::cmLinkItem() = default;
 
 cmLinkItem::cmLinkItem(std::string n, cmListFileBacktrace bt)
   : String(std::move(n))
diff --git a/Source/cmLinkItem.h b/Source/cmLinkItem.h
index d2459db..d50b5fc 100644
--- a/Source/cmLinkItem.h
+++ b/Source/cmLinkItem.h
@@ -78,12 +78,12 @@ struct cmLinkInterface : public cmLinkInterfaceLibraries
 
   bool ImplementationIsInterface = false;
 
-  cmLinkInterface() {}
+  cmLinkInterface() = default;
 };
 
 struct cmOptionalLinkInterface : public cmLinkInterface
 {
-  cmOptionalLinkInterface() {}
+  cmOptionalLinkInterface() = default;
   bool LibrariesDone = false;
   bool AllDone = false;
   bool Exists = false;
@@ -105,7 +105,7 @@ struct cmLinkImplementation : public cmLinkImplementationLibraries
 // Cache link implementation computation from each configuration.
 struct cmOptionalLinkImplementation : public cmLinkImplementation
 {
-  cmOptionalLinkImplementation() {}
+  cmOptionalLinkImplementation() = default;
   bool LibrariesDone = false;
   bool LanguagesDone = false;
   bool HadHeadSensitiveCondition = false;
diff --git a/Source/cmLinkLineComputer.cxx b/Source/cmLinkLineComputer.cxx
index 6643990..2a8bee6 100644
--- a/Source/cmLinkLineComputer.cxx
+++ b/Source/cmLinkLineComputer.cxx
@@ -23,9 +23,7 @@ cmLinkLineComputer::cmLinkLineComputer(cmOutputConverter* outputConverter,
 {
 }
 
-cmLinkLineComputer::~cmLinkLineComputer()
-{
-}
+cmLinkLineComputer::~cmLinkLineComputer() = default;
 
 void cmLinkLineComputer::SetUseWatcomQuote(bool useWatcomQuote)
 {
diff --git a/Source/cmLinkLineDeviceComputer.cxx b/Source/cmLinkLineDeviceComputer.cxx
index a93ec12..a403dc9 100644
--- a/Source/cmLinkLineDeviceComputer.cxx
+++ b/Source/cmLinkLineDeviceComputer.cxx
@@ -21,9 +21,7 @@ cmLinkLineDeviceComputer::cmLinkLineDeviceComputer(
 {
 }
 
-cmLinkLineDeviceComputer::~cmLinkLineDeviceComputer()
-{
-}
+cmLinkLineDeviceComputer::~cmLinkLineDeviceComputer() = default;
 
 static bool cmLinkItemValidForDevice(std::string const& item)
 {
diff --git a/Source/cmListCommand.cxx b/Source/cmListCommand.cxx
index 05b22cf..7c1076c 100644
--- a/Source/cmListCommand.cxx
+++ b/Source/cmListCommand.cxx
@@ -426,7 +426,7 @@ public:
 class TransformSelector
 {
 public:
-  virtual ~TransformSelector() {}
+  virtual ~TransformSelector() = default;
 
   std::string Tag;
 
@@ -580,7 +580,7 @@ private:
 class TransformAction
 {
 public:
-  virtual ~TransformAction() {}
+  virtual ~TransformAction() = default;
 
   virtual std::string Transform(const std::string& input) = 0;
 };
diff --git a/Source/cmListFileCache.h b/Source/cmListFileCache.h
index 529c389..e7b1c87 100644
--- a/Source/cmListFileCache.h
+++ b/Source/cmListFileCache.h
@@ -29,12 +29,12 @@ struct cmCommandContext
   {
     std::string Lower;
     std::string Original;
-    cmCommandName() {}
+    cmCommandName() = default;
     cmCommandName(std::string const& name) { *this = name; }
     cmCommandName& operator=(std::string const& name);
   } Name;
   long Line = 0;
-  cmCommandContext() {}
+  cmCommandContext() = default;
   cmCommandContext(const char* name, int line)
     : Name(name)
     , Line(line)
@@ -50,7 +50,7 @@ struct cmListFileArgument
     Quoted,
     Bracket
   };
-  cmListFileArgument() {}
+  cmListFileArgument() = default;
   cmListFileArgument(std::string v, Delimiter d, long line)
     : Value(std::move(v))
     , Delim(d)
@@ -73,7 +73,7 @@ public:
   std::string Name;
   std::string FilePath;
   long Line = 0;
-  cmListFileContext() {}
+  cmListFileContext() = default;
 
   static cmListFileContext FromCommandContext(cmCommandContext const& lfcc,
                                               std::string const& fileName)
diff --git a/Source/cmLocalCommonGenerator.cxx b/Source/cmLocalCommonGenerator.cxx
index c6d2c58..c5fc325 100644
--- a/Source/cmLocalCommonGenerator.cxx
+++ b/Source/cmLocalCommonGenerator.cxx
@@ -26,9 +26,7 @@ cmLocalCommonGenerator::cmLocalCommonGenerator(cmGlobalGenerator* gg,
   }
 }
 
-cmLocalCommonGenerator::~cmLocalCommonGenerator()
-{
-}
+cmLocalCommonGenerator::~cmLocalCommonGenerator() = default;
 
 std::string cmLocalCommonGenerator::GetTargetFortranFlags(
   cmGeneratorTarget const* target, std::string const& config)
diff --git a/Source/cmLocalNinjaGenerator.cxx b/Source/cmLocalNinjaGenerator.cxx
index a8647b1..2ffb8bd 100644
--- a/Source/cmLocalNinjaGenerator.cxx
+++ b/Source/cmLocalNinjaGenerator.cxx
@@ -46,9 +46,7 @@ cmLocalNinjaGenerator::CreateRulePlaceholderExpander() const
   return ret;
 }
 
-cmLocalNinjaGenerator::~cmLocalNinjaGenerator()
-{
-}
+cmLocalNinjaGenerator::~cmLocalNinjaGenerator() = default;
 
 void cmLocalNinjaGenerator::Generate()
 {
diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx
index c50dcb7..0954645 100644
--- a/Source/cmLocalUnixMakefileGenerator3.cxx
+++ b/Source/cmLocalUnixMakefileGenerator3.cxx
@@ -98,9 +98,7 @@ cmLocalUnixMakefileGenerator3::cmLocalUnixMakefileGenerator3(
   this->BorlandMakeCurlyHack = false;
 }
 
-cmLocalUnixMakefileGenerator3::~cmLocalUnixMakefileGenerator3()
-{
-}
+cmLocalUnixMakefileGenerator3::~cmLocalUnixMakefileGenerator3() = default;
 
 void cmLocalUnixMakefileGenerator3::Generate()
 {
diff --git a/Source/cmLocalUnixMakefileGenerator3.h b/Source/cmLocalUnixMakefileGenerator3.h
index 5268e6b..a3a0ddf 100644
--- a/Source/cmLocalUnixMakefileGenerator3.h
+++ b/Source/cmLocalUnixMakefileGenerator3.h
@@ -267,7 +267,7 @@ private:
   {
     cmGeneratorTarget* Target = nullptr;
     std::string Language;
-    LocalObjectEntry() {}
+    LocalObjectEntry() = default;
     LocalObjectEntry(cmGeneratorTarget* t, std::string lang)
       : Target(t)
       , Language(std::move(lang))
@@ -279,7 +279,7 @@ private:
     bool HasSourceExtension = false;
     bool HasPreprocessRule = false;
     bool HasAssembleRule = false;
-    LocalObjectInfo() {}
+    LocalObjectInfo() = default;
   };
   void GetLocalObjectFiles(
     std::map<std::string, LocalObjectInfo>& localObjectFiles);
diff --git a/Source/cmLocalXCodeGenerator.cxx b/Source/cmLocalXCodeGenerator.cxx
index 92c958d..9c36627 100644
--- a/Source/cmLocalXCodeGenerator.cxx
+++ b/Source/cmLocalXCodeGenerator.cxx
@@ -19,9 +19,7 @@ cmLocalXCodeGenerator::cmLocalXCodeGenerator(cmGlobalGenerator* gg,
   this->EmitUniversalBinaryFlags = false;
 }
 
-cmLocalXCodeGenerator::~cmLocalXCodeGenerator()
-{
-}
+cmLocalXCodeGenerator::~cmLocalXCodeGenerator() = default;
 
 std::string cmLocalXCodeGenerator::GetTargetDirectory(
   cmGeneratorTarget const*) const
diff --git a/Source/cmMachO.cxx b/Source/cmMachO.cxx
index 7368812..d4af1e0 100644
--- a/Source/cmMachO.cxx
+++ b/Source/cmMachO.cxx
@@ -91,7 +91,7 @@ public:
     : Swap(_swap)
   {
   }
-  virtual ~cmMachOHeaderAndLoadCommands() {}
+  virtual ~cmMachOHeaderAndLoadCommands() = default;
 
   virtual bool read_mach_o(cmsys::ifstream& fin) = 0;
 
diff --git a/Source/cmMacroCommand.cxx b/Source/cmMacroCommand.cxx
index 411c0c3..1b94ab3 100644
--- a/Source/cmMacroCommand.cxx
+++ b/Source/cmMacroCommand.cxx
@@ -17,10 +17,10 @@
 class cmMacroHelperCommand : public cmCommand
 {
 public:
-  cmMacroHelperCommand() {}
+  cmMacroHelperCommand() = default;
 
   ///! clean up any memory allocated by the macro
-  ~cmMacroHelperCommand() override {}
+  ~cmMacroHelperCommand() override = default;
 
   /**
    * This is a virtual constructor for the command.
diff --git a/Source/cmMacroCommand.h b/Source/cmMacroCommand.h
index d967388..8f5f540 100644
--- a/Source/cmMacroCommand.h
+++ b/Source/cmMacroCommand.h
@@ -19,7 +19,7 @@ class cmMacroFunctionBlocker : public cmFunctionBlocker
 {
 public:
   cmMacroFunctionBlocker() { this->Depth = 0; }
-  ~cmMacroFunctionBlocker() override {}
+  ~cmMacroFunctionBlocker() override = default;
   bool IsFunctionBlocked(const cmListFileFunction&, cmMakefile& mf,
                          cmExecutionStatus&) override;
   bool ShouldRemove(const cmListFileFunction&, cmMakefile& mf) override;
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index 500776e..fc8348f 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -2712,7 +2712,7 @@ typedef enum
 } t_domain;
 struct t_lookup
 {
-  t_lookup() {}
+  t_lookup() = default;
   t_domain domain = NORMAL;
   size_t loc = 0;
 };
diff --git a/Source/cmNewLineStyle.cxx b/Source/cmNewLineStyle.cxx
index 12c18ee..3f6523e 100644
--- a/Source/cmNewLineStyle.cxx
+++ b/Source/cmNewLineStyle.cxx
@@ -4,9 +4,7 @@
 
 #include <stddef.h>
 
-cmNewLineStyle::cmNewLineStyle()
-{
-}
+cmNewLineStyle::cmNewLineStyle() = default;
 
 bool cmNewLineStyle::IsValid() const
 {
diff --git a/Source/cmNinjaUtilityTargetGenerator.cxx b/Source/cmNinjaUtilityTargetGenerator.cxx
index cc6d4b9..c707fd0 100644
--- a/Source/cmNinjaUtilityTargetGenerator.cxx
+++ b/Source/cmNinjaUtilityTargetGenerator.cxx
@@ -27,9 +27,7 @@ cmNinjaUtilityTargetGenerator::cmNinjaUtilityTargetGenerator(
 {
 }
 
-cmNinjaUtilityTargetGenerator::~cmNinjaUtilityTargetGenerator()
-{
-}
+cmNinjaUtilityTargetGenerator::~cmNinjaUtilityTargetGenerator() = default;
 
 void cmNinjaUtilityTargetGenerator::Generate()
 {
diff --git a/Source/cmOSXBundleGenerator.h b/Source/cmOSXBundleGenerator.h
index ba5bee0..3dea6cc 100644
--- a/Source/cmOSXBundleGenerator.h
+++ b/Source/cmOSXBundleGenerator.h
@@ -31,7 +31,7 @@ public:
 
   struct MacOSXContentGeneratorType
   {
-    virtual ~MacOSXContentGeneratorType() {}
+    virtual ~MacOSXContentGeneratorType() = default;
     virtual void operator()(cmSourceFile const& source,
                             const char* pkgloc) = 0;
   };
diff --git a/Source/cmOrderDirectories.cxx b/Source/cmOrderDirectories.cxx
index 961e2b2..2c28fc0 100644
--- a/Source/cmOrderDirectories.cxx
+++ b/Source/cmOrderDirectories.cxx
@@ -48,7 +48,7 @@ public:
       this->FileName = cmSystemTools::GetFilenameName(file);
     }
   }
-  virtual ~cmOrderDirectoriesConstraint() {}
+  virtual ~cmOrderDirectoriesConstraint() = default;
 
   void AddDirectory()
   {
diff --git a/Source/cmOutputRequiredFilesCommand.cxx b/Source/cmOutputRequiredFilesCommand.cxx
index ab1e699..b0255e0 100644
--- a/Source/cmOutputRequiredFilesCommand.cxx
+++ b/Source/cmOutputRequiredFilesCommand.cxx
@@ -28,7 +28,7 @@ public:
    * Construct with dependency generation marked not done; instance
    * not placed in cmMakefile's list.
    */
-  cmDependInformation() {}
+  cmDependInformation() = default;
 
   /**
    * The set of files on which this one depends.
diff --git a/Source/cmProcessOutput.cxx b/Source/cmProcessOutput.cxx
index e4ca426..e80ea5c 100644
--- a/Source/cmProcessOutput.cxx
+++ b/Source/cmProcessOutput.cxx
@@ -48,9 +48,7 @@ cmProcessOutput::cmProcessOutput(Encoding encoding, unsigned int maxSize)
 #endif
 }
 
-cmProcessOutput::~cmProcessOutput()
-{
-}
+cmProcessOutput::~cmProcessOutput() = default;
 
 bool cmProcessOutput::DecodeText(std::string raw, std::string& decoded,
                                  size_t id)
diff --git a/Source/cmProcessTools.h b/Source/cmProcessTools.h
index da3693d..7616316 100644
--- a/Source/cmProcessTools.h
+++ b/Source/cmProcessTools.h
@@ -34,7 +34,7 @@ public:
       return this->Process(data, static_cast<int>(strlen(data)));
     }
 
-    virtual ~OutputParser() {}
+    virtual ~OutputParser() = default;
 
   protected:
     /** Implement in a subclass to process a chunk of data.  It should
diff --git a/Source/cmQtAutoGenGlobalInitializer.cxx b/Source/cmQtAutoGenGlobalInitializer.cxx
index 431c5bc..95a297c 100644
--- a/Source/cmQtAutoGenGlobalInitializer.cxx
+++ b/Source/cmQtAutoGenGlobalInitializer.cxx
@@ -129,9 +129,7 @@ cmQtAutoGenGlobalInitializer::cmQtAutoGenGlobalInitializer(
   }
 }
 
-cmQtAutoGenGlobalInitializer::~cmQtAutoGenGlobalInitializer()
-{
-}
+cmQtAutoGenGlobalInitializer::~cmQtAutoGenGlobalInitializer() = default;
 
 void cmQtAutoGenGlobalInitializer::GetOrCreateGlobalTarget(
   cmLocalGenerator* localGen, std::string const& name,
diff --git a/Source/cmQtAutoGenInitializer.h b/Source/cmQtAutoGenInitializer.h
index eefbaf0..7359c76 100644
--- a/Source/cmQtAutoGenInitializer.h
+++ b/Source/cmQtAutoGenInitializer.h
@@ -26,7 +26,7 @@ public:
   class Qrc
   {
   public:
-    Qrc() {}
+    Qrc() = default;
 
   public:
     std::string LockFile;
diff --git a/Source/cmQtAutoGeneratorMocUic.cxx b/Source/cmQtAutoGeneratorMocUic.cxx
index 068f65c..bc496ac 100644
--- a/Source/cmQtAutoGeneratorMocUic.cxx
+++ b/Source/cmQtAutoGeneratorMocUic.cxx
@@ -1144,9 +1144,7 @@ cmQtAutoGeneratorMocUic::cmQtAutoGeneratorMocUic()
   UVRequest().init(*UVLoop(), &cmQtAutoGeneratorMocUic::UVPollStage, this);
 }
 
-cmQtAutoGeneratorMocUic::~cmQtAutoGeneratorMocUic()
-{
-}
+cmQtAutoGeneratorMocUic::~cmQtAutoGeneratorMocUic() = default;
 
 bool cmQtAutoGeneratorMocUic::Init(cmMakefile* makefile)
 {
diff --git a/Source/cmQtAutoGeneratorRcc.cxx b/Source/cmQtAutoGeneratorRcc.cxx
index 87c8d18..43ff172 100644
--- a/Source/cmQtAutoGeneratorRcc.cxx
+++ b/Source/cmQtAutoGeneratorRcc.cxx
@@ -20,9 +20,7 @@ cmQtAutoGeneratorRcc::cmQtAutoGeneratorRcc()
   UVRequest().init(*UVLoop(), &cmQtAutoGeneratorRcc::UVPollStage, this);
 }
 
-cmQtAutoGeneratorRcc::~cmQtAutoGeneratorRcc()
-{
-}
+cmQtAutoGeneratorRcc::~cmQtAutoGeneratorRcc() = default;
 
 bool cmQtAutoGeneratorRcc::Init(cmMakefile* makefile)
 {
diff --git a/Source/cmScriptGenerator.cxx b/Source/cmScriptGenerator.cxx
index ae0a158..9182b41 100644
--- a/Source/cmScriptGenerator.cxx
+++ b/Source/cmScriptGenerator.cxx
@@ -16,9 +16,7 @@ cmScriptGenerator::cmScriptGenerator(std::string config_var,
 {
 }
 
-cmScriptGenerator::~cmScriptGenerator()
-{
-}
+cmScriptGenerator::~cmScriptGenerator() = default;
 
 void cmScriptGenerator::Generate(
   std::ostream& os, const std::string& config,
diff --git a/Source/cmScriptGenerator.h b/Source/cmScriptGenerator.h
index 725cbc6..5792ba8 100644
--- a/Source/cmScriptGenerator.h
+++ b/Source/cmScriptGenerator.h
@@ -12,7 +12,7 @@
 class cmScriptGeneratorIndent
 {
 public:
-  cmScriptGeneratorIndent() {}
+  cmScriptGeneratorIndent() = default;
   cmScriptGeneratorIndent(int level)
     : Level(level)
   {
diff --git a/Source/cmSearchPath.cxx b/Source/cmSearchPath.cxx
index 5dd4413..0f51e0e 100644
--- a/Source/cmSearchPath.cxx
+++ b/Source/cmSearchPath.cxx
@@ -16,9 +16,7 @@ cmSearchPath::cmSearchPath(cmFindCommon* findCmd)
 {
 }
 
-cmSearchPath::~cmSearchPath()
-{
-}
+cmSearchPath::~cmSearchPath() = default;
 
 void cmSearchPath::ExtractWithout(const std::set<std::string>& ignore,
                                   std::vector<std::string>& outPaths,
diff --git a/Source/cmServerConnection.cxx b/Source/cmServerConnection.cxx
index 5caa019..844a858 100644
--- a/Source/cmServerConnection.cxx
+++ b/Source/cmServerConnection.cxx
@@ -119,9 +119,7 @@ cmServerStdIoConnection::cmServerStdIoConnection()
 {
 }
 
-cmConnectionBufferStrategy::~cmConnectionBufferStrategy()
-{
-}
+cmConnectionBufferStrategy::~cmConnectionBufferStrategy() = default;
 
 void cmConnectionBufferStrategy::clear()
 {
diff --git a/Source/cmSourceFileLocation.cxx b/Source/cmSourceFileLocation.cxx
index 3dab638..13d2d7e 100644
--- a/Source/cmSourceFileLocation.cxx
+++ b/Source/cmSourceFileLocation.cxx
@@ -11,9 +11,7 @@
 
 #include <assert.h>
 
-cmSourceFileLocation::cmSourceFileLocation()
-{
-}
+cmSourceFileLocation::cmSourceFileLocation() = default;
 
 cmSourceFileLocation::cmSourceFileLocation(const cmSourceFileLocation& loc)
   : Makefile(loc.Makefile)
diff --git a/Source/cmStringReplaceHelper.h b/Source/cmStringReplaceHelper.h
index 5cebde7..b3e4704 100644
--- a/Source/cmStringReplaceHelper.h
+++ b/Source/cmStringReplaceHelper.h
@@ -48,7 +48,7 @@ private:
       : Number(n)
     {
     }
-    RegexReplacement() {}
+    RegexReplacement() = default;
 
     int Number;
     std::string Value;
diff --git a/Source/cmTest.cxx b/Source/cmTest.cxx
index 4d0cbaa..7d45cf5 100644
--- a/Source/cmTest.cxx
+++ b/Source/cmTest.cxx
@@ -14,9 +14,7 @@ cmTest::cmTest(cmMakefile* mf)
   this->OldStyle = true;
 }
 
-cmTest::~cmTest()
-{
-}
+cmTest::~cmTest() = default;
 
 cmListFileBacktrace const& cmTest::GetBacktrace() const
 {
diff --git a/Source/cmTestGenerator.cxx b/Source/cmTestGenerator.cxx
index 6032701..5102613 100644
--- a/Source/cmTestGenerator.cxx
+++ b/Source/cmTestGenerator.cxx
@@ -26,9 +26,7 @@ cmTestGenerator::cmTestGenerator(
   this->LG = nullptr;
 }
 
-cmTestGenerator::~cmTestGenerator()
-{
-}
+cmTestGenerator::~cmTestGenerator() = default;
 
 void cmTestGenerator::Compute(cmLocalGenerator* lg)
 {
diff --git a/Source/cmTimestamp.h b/Source/cmTimestamp.h
index 2f75acb..6b6c4eb 100644
--- a/Source/cmTimestamp.h
+++ b/Source/cmTimestamp.h
@@ -15,7 +15,7 @@
 class cmTimestamp
 {
 public:
-  cmTimestamp() {}
+  cmTimestamp() = default;
 
   std::string CurrentTime(const std::string& formatString, bool utcFlag);
 
diff --git a/Source/cmUVHandlePtr.h b/Source/cmUVHandlePtr.h
index 73ee334..d42969e 100644
--- a/Source/cmUVHandlePtr.h
+++ b/Source/cmUVHandlePtr.h
@@ -86,8 +86,8 @@ public:
   }
 
   // Dtor and ctor need to be inline defined like this for default ctors and
-  // dtors to work.
-  uv_handle_ptr_base_() {}
+  // dtors to work.  Some compilers do not like '= default' here.
+  uv_handle_ptr_base_() {} // NOLINT(modernize-use-equals-default)
   uv_handle_ptr_base_(std::nullptr_t) {}
   ~uv_handle_ptr_base_() { reset(); }
 
diff --git a/Source/cmVariableWatch.cxx b/Source/cmVariableWatch.cxx
index bd5d19c..3df1420 100644
--- a/Source/cmVariableWatch.cxx
+++ b/Source/cmVariableWatch.cxx
@@ -19,13 +19,9 @@ const char* cmVariableWatch::GetAccessAsString(int access_type)
   return cmVariableWatchAccessStrings[access_type];
 }
 
-cmVariableWatch::cmVariableWatch()
-{
-}
+cmVariableWatch::cmVariableWatch() = default;
 
-cmVariableWatch::~cmVariableWatch()
-{
-}
+cmVariableWatch::~cmVariableWatch() = default;
 
 bool cmVariableWatch::AddWatch(const std::string& variable, WatchMethod method,
                                void* client_data /*=0*/,
diff --git a/Source/cmVariableWatch.h b/Source/cmVariableWatch.h
index 2f444ed..d5d96ef 100644
--- a/Source/cmVariableWatch.h
+++ b/Source/cmVariableWatch.h
@@ -66,7 +66,7 @@ protected:
     WatchMethod Method = nullptr;
     void* ClientData = nullptr;
     DeleteData DeleteDataCall = nullptr;
-    Pair() {}
+    Pair() = default;
     ~Pair()
     {
       if (this->DeleteDataCall && this->ClientData) {
diff --git a/Source/cmVariableWatchCommand.cxx b/Source/cmVariableWatchCommand.cxx
index 03e0059..0c227e1 100644
--- a/Source/cmVariableWatchCommand.cxx
+++ b/Source/cmVariableWatchCommand.cxx
@@ -84,9 +84,7 @@ static void deleteVariableWatchCallbackData(void* client_data)
   delete data;
 }
 
-cmVariableWatchCommand::cmVariableWatchCommand()
-{
-}
+cmVariableWatchCommand::cmVariableWatchCommand() = default;
 
 cmVariableWatchCommand::~cmVariableWatchCommand()
 {
diff --git a/Source/cm_codecvt.cxx b/Source/cm_codecvt.cxx
index 9519f91..821c112 100644
--- a/Source/cm_codecvt.cxx
+++ b/Source/cm_codecvt.cxx
@@ -38,9 +38,7 @@ codecvt::codecvt(Encoding e)
   }
 }
 
-codecvt::~codecvt()
-{
-}
+codecvt::~codecvt() = default;
 
 bool codecvt::do_always_noconv() const throw()
 {
-- 
cgit v0.12


From 094f01d0f019147afbdfc1c18ad1a6ca232eb3b8 Mon Sep 17 00:00:00 2001
From: Regina Pfeifer <regina@mailbox.org>
Date: Wed, 23 Jan 2019 00:32:51 +0100
Subject: cleanup: Prefer compiler provided special member functions

---
 Source/CTest/cmCTestGIT.cxx                 |  1 -
 Source/CTest/cmCTestMultiProcessHandler.cxx |  1 -
 Source/CTest/cmCTestRunTest.h               |  2 --
 Source/CTest/cmCTestScriptHandler.cxx       |  2 --
 Source/CTest/cmCTestSubmitHandler.cxx       |  6 +-----
 Source/CTest/cmParseCoberturaCoverage.cxx   | 17 +++++------------
 Source/CTest/cmParseJacocoCoverage.cxx      |  5 -----
 Source/cmCPluginAPI.cxx                     |  1 -
 Source/cmCTest.h                            |  2 --
 Source/cmCacheManager.h                     |  1 -
 Source/cmCommandArgumentsHelper.h           |  2 --
 Source/cmComputeLinkDepends.h               |  2 --
 Source/cmDependsC.h                         |  1 -
 Source/cmDocumentation.h                    |  1 -
 Source/cmExecutionStatus.h                  |  2 --
 Source/cmFileCommand.cxx                    |  1 -
 Source/cmFileMonitor.cxx                    |  3 ---
 Source/cmFindLibraryCommand.cxx             |  1 -
 Source/cmFindPackageCommand.cxx             |  1 -
 Source/cmFunctionCommand.cxx                |  5 -----
 Source/cmFunctionCommand.h                  |  4 +---
 Source/cmGeneratorTarget.h                  |  5 -----
 Source/cmGlobVerificationManager.h          |  4 ----
 Source/cmGlobalGenerator.h                  |  2 --
 Source/cmGlobalNinjaGenerator.h             |  2 --
 Source/cmGlobalUnixMakefileGenerator3.h     |  1 -
 Source/cmIfCommand.h                        | 13 +++----------
 Source/cmLinkItem.h                         |  4 ----
 Source/cmListFileCache.h                    | 10 ----------
 Source/cmLocalUnixMakefileGenerator3.h      |  1 -
 Source/cmMacroCommand.cxx                   |  5 -----
 Source/cmMacroCommand.h                     |  4 +---
 Source/cmMakefile.cxx                       |  1 -
 Source/cmQtAutoGenInitializer.h             |  3 ---
 Source/cmQtAutoGenerator.h                  |  3 ---
 Source/cmTimestamp.h                        |  2 --
 Source/cmVSSetupHelper.h                    |  2 --
 Source/cmVariableWatch.h                    |  1 -
 38 files changed, 11 insertions(+), 113 deletions(-)

diff --git a/Source/CTest/cmCTestGIT.cxx b/Source/CTest/cmCTestGIT.cxx
index c0225ea..210abe5 100644
--- a/Source/CTest/cmCTestGIT.cxx
+++ b/Source/CTest/cmCTestGIT.cxx
@@ -475,7 +475,6 @@ private:
     std::string EMail;
     unsigned long Time = 0;
     long TimeZone = 0;
-    Person() = default;
   };
 
   void ParsePerson(const char* str, Person& person)
diff --git a/Source/CTest/cmCTestMultiProcessHandler.cxx b/Source/CTest/cmCTestMultiProcessHandler.cxx
index 2b17d03..bc1c3cb 100644
--- a/Source/CTest/cmCTestMultiProcessHandler.cxx
+++ b/Source/CTest/cmCTestMultiProcessHandler.cxx
@@ -44,7 +44,6 @@ public:
     : Handler(handler)
   {
   }
-  ~TestComparator() = default;
 
   // Sorts tests in descending order of cost
   bool operator()(int index1, int index2) const
diff --git a/Source/CTest/cmCTestRunTest.h b/Source/CTest/cmCTestRunTest.h
index c786413..918d5fa 100644
--- a/Source/CTest/cmCTestRunTest.h
+++ b/Source/CTest/cmCTestRunTest.h
@@ -27,8 +27,6 @@ class cmCTestRunTest
 public:
   explicit cmCTestRunTest(cmCTestMultiProcessHandler& multiHandler);
 
-  ~cmCTestRunTest() = default;
-
   void SetNumberOfRuns(int n) { this->NumberOfRunsLeft = n; }
   void SetRunUntilFailOn() { this->RunUntilFail = true; }
   void SetTestProperties(cmCTestTestHandler::cmCTestTestProperties* prop)
diff --git a/Source/CTest/cmCTestScriptHandler.cxx b/Source/CTest/cmCTestScriptHandler.cxx
index 1231f31..0fd0a77 100644
--- a/Source/CTest/cmCTestScriptHandler.cxx
+++ b/Source/CTest/cmCTestScriptHandler.cxx
@@ -53,8 +53,6 @@ struct cmListFileFunction;
 class cmCTestScriptFunctionBlocker : public cmFunctionBlocker
 {
 public:
-  cmCTestScriptFunctionBlocker() = default;
-  ~cmCTestScriptFunctionBlocker() override = default;
   bool IsFunctionBlocked(const cmListFileFunction& lff, cmMakefile& mf,
                          cmExecutionStatus& /*status*/) override;
   // virtual bool ShouldRemove(const cmListFileFunction& lff, cmMakefile &mf);
diff --git a/Source/CTest/cmCTestSubmitHandler.cxx b/Source/CTest/cmCTestSubmitHandler.cxx
index 9e1f409..87112da 100644
--- a/Source/CTest/cmCTestSubmitHandler.cxx
+++ b/Source/CTest/cmCTestSubmitHandler.cxx
@@ -30,10 +30,6 @@ typedef std::vector<char> cmCTestSubmitHandlerVectorOfChar;
 class cmCTestSubmitHandler::ResponseParser : public cmXMLParser
 {
 public:
-  ResponseParser() { this->Status = STATUS_OK; }
-  ~ResponseParser() override = default;
-
-public:
   enum StatusType
   {
     STATUS_OK,
@@ -41,7 +37,7 @@ public:
     STATUS_ERROR
   };
 
-  StatusType Status;
+  StatusType Status = STATUS_OK;
   std::string Filename;
   std::string MD5;
   std::string Message;
diff --git a/Source/CTest/cmParseCoberturaCoverage.cxx b/Source/CTest/cmParseCoberturaCoverage.cxx
index 1669b07..848a034 100644
--- a/Source/CTest/cmParseCoberturaCoverage.cxx
+++ b/Source/CTest/cmParseCoberturaCoverage.cxx
@@ -13,19 +13,12 @@ class cmParseCoberturaCoverage::XMLParser : public cmXMLParser
 {
 public:
   XMLParser(cmCTest* ctest, cmCTestCoverageHandlerContainer& cont)
-    : CTest(ctest)
+    : FilePaths{ cont.SourceDir, cont.BinaryDir }
+    , CTest(ctest)
     , Coverage(cont)
   {
-    this->InSources = false;
-    this->InSource = false;
-    this->SkipThisClass = false;
-    this->FilePaths.push_back(this->Coverage.SourceDir);
-    this->FilePaths.push_back(this->Coverage.BinaryDir);
-    this->CurFileName.clear();
   }
 
-  ~XMLParser() override = default;
-
 protected:
   void EndElement(const std::string& name) override
   {
@@ -144,9 +137,9 @@ protected:
   }
 
 private:
-  bool InSources;
-  bool InSource;
-  bool SkipThisClass;
+  bool InSources = false;
+  bool InSource = false;
+  bool SkipThisClass = false;
   std::vector<std::string> FilePaths;
   typedef cmCTestCoverageHandlerContainer::SingleFileCoverageVector
     FileLinesType;
diff --git a/Source/CTest/cmParseJacocoCoverage.cxx b/Source/CTest/cmParseJacocoCoverage.cxx
index b2d3b1b..61c5dcb 100644
--- a/Source/CTest/cmParseJacocoCoverage.cxx
+++ b/Source/CTest/cmParseJacocoCoverage.cxx
@@ -18,13 +18,8 @@ public:
     : CTest(ctest)
     , Coverage(cont)
   {
-    this->FilePath.clear();
-    this->PackagePath.clear();
-    this->PackageName.clear();
   }
 
-  ~XMLParser() override = default;
-
 protected:
   void EndElement(const std::string& /*name*/) override {}
 
diff --git a/Source/cmCPluginAPI.cxx b/Source/cmCPluginAPI.cxx
index f49df74..3427527 100644
--- a/Source/cmCPluginAPI.cxx
+++ b/Source/cmCPluginAPI.cxx
@@ -474,7 +474,6 @@ int CCONV cmGetTotalArgumentSize(int argc, char** argv)
 // API for source files.
 struct cmCPluginAPISourceFile
 {
-  cmCPluginAPISourceFile() = default;
   cmSourceFile* RealSourceFile = nullptr;
   std::string SourceName;
   std::string SourceExtension;
diff --git a/Source/cmCTest.h b/Source/cmCTest.h
index cdbd665..92a02c3 100644
--- a/Source/cmCTest.h
+++ b/Source/cmCTest.h
@@ -57,8 +57,6 @@ public:
   /** Representation of one part.  */
   struct PartInfo
   {
-    PartInfo() = default;
-
     void SetName(const std::string& name) { this->Name = name; }
     const std::string& GetName() const { return this->Name; }
 
diff --git a/Source/cmCacheManager.h b/Source/cmCacheManager.h
index 1031d11..0c70ed2 100644
--- a/Source/cmCacheManager.h
+++ b/Source/cmCacheManager.h
@@ -42,7 +42,6 @@ private:
     void AppendProperty(const std::string& property, const char* value,
                         bool asString = false);
     bool Initialized = false;
-    CacheEntry() = default;
   };
 
 public:
diff --git a/Source/cmCommandArgumentsHelper.h b/Source/cmCommandArgumentsHelper.h
index 76d17ab..9579861 100644
--- a/Source/cmCommandArgumentsHelper.h
+++ b/Source/cmCommandArgumentsHelper.h
@@ -172,8 +172,6 @@ class cmCommandArgumentGroup
   friend class cmCommandArgument;
 
 public:
-  cmCommandArgumentGroup() = default;
-
   /// All members of this group may follow the given argument
   void Follows(const cmCommandArgument* arg);
 
diff --git a/Source/cmComputeLinkDepends.h b/Source/cmComputeLinkDepends.h
index a6bb49f..252f874 100644
--- a/Source/cmComputeLinkDepends.h
+++ b/Source/cmComputeLinkDepends.h
@@ -38,8 +38,6 @@ public:
     cmGeneratorTarget const* Target = nullptr;
     bool IsSharedDep = false;
     bool IsFlag = false;
-    LinkEntry() = default;
-    LinkEntry(LinkEntry const& r) = default;
   };
 
   typedef std::vector<LinkEntry> EntryVector;
diff --git a/Source/cmDependsC.h b/Source/cmDependsC.h
index dab03f3..411458a 100644
--- a/Source/cmDependsC.h
+++ b/Source/cmDependsC.h
@@ -75,7 +75,6 @@ public:
 
   struct cmIncludeLines
   {
-    cmIncludeLines() = default;
     std::vector<UnscannedEntry> UnscannedEntries;
     bool Used = false;
   };
diff --git a/Source/cmDocumentation.h b/Source/cmDocumentation.h
index 1026064..cf74b80 100644
--- a/Source/cmDocumentation.h
+++ b/Source/cmDocumentation.h
@@ -115,7 +115,6 @@ private:
 
   struct RequestedHelpItem
   {
-    RequestedHelpItem() = default;
     cmDocumentationEnums::Type HelpType = None;
     std::string Filename;
     std::string Argument;
diff --git a/Source/cmExecutionStatus.h b/Source/cmExecutionStatus.h
index f9189f7..56199dd 100644
--- a/Source/cmExecutionStatus.h
+++ b/Source/cmExecutionStatus.h
@@ -11,8 +11,6 @@
 class cmExecutionStatus
 {
 public:
-  cmExecutionStatus() = default;
-
   void Clear()
   {
     this->ReturnInvoked = false;
diff --git a/Source/cmFileCommand.cxx b/Source/cmFileCommand.cxx
index 0b404fe..1eb28fc 100644
--- a/Source/cmFileCommand.cxx
+++ b/Source/cmFileCommand.cxx
@@ -1102,7 +1102,6 @@ protected:
   {
     bool Exclude = false;
     mode_t Permissions = 0;
-    MatchProperties() = default;
   };
   struct MatchRule
   {
diff --git a/Source/cmFileMonitor.cxx b/Source/cmFileMonitor.cxx
index 8287747..56ee739 100644
--- a/Source/cmFileMonitor.cxx
+++ b/Source/cmFileMonitor.cxx
@@ -19,7 +19,6 @@ void on_fs_close(uv_handle_t* handle);
 class cmIBaseWatcher
 {
 public:
-  cmIBaseWatcher() = default;
   virtual ~cmIBaseWatcher() = default;
 
   virtual void Trigger(const std::string& pathSegment, int events,
@@ -150,8 +149,6 @@ public:
     p->AddChildWatcher(ps, this);
   }
 
-  ~cmRealDirectoryWatcher() override = default;
-
   void StartWatching() final
   {
     if (!this->Handle) {
diff --git a/Source/cmFindLibraryCommand.cxx b/Source/cmFindLibraryCommand.cxx
index 3400b36..73d602d 100644
--- a/Source/cmFindLibraryCommand.cxx
+++ b/Source/cmFindLibraryCommand.cxx
@@ -202,7 +202,6 @@ struct cmFindLibraryHelper
     bool TryRaw = false;
     std::string Raw;
     cmsys::RegularExpression Regex;
-    Name() = default;
   };
   std::vector<Name> Names;
 
diff --git a/Source/cmFindPackageCommand.cxx b/Source/cmFindPackageCommand.cxx
index 0a5463b..f9ac310 100644
--- a/Source/cmFindPackageCommand.cxx
+++ b/Source/cmFindPackageCommand.cxx
@@ -1688,7 +1688,6 @@ private:
 class cmFileList
 {
 public:
-  cmFileList() = default;
   virtual ~cmFileList() = default;
   cmFileList& operator/(cmFileListGeneratorBase const& rhs)
   {
diff --git a/Source/cmFunctionCommand.cxx b/Source/cmFunctionCommand.cxx
index d2bf687..264a338 100644
--- a/Source/cmFunctionCommand.cxx
+++ b/Source/cmFunctionCommand.cxx
@@ -14,11 +14,6 @@
 class cmFunctionHelperCommand : public cmCommand
 {
 public:
-  cmFunctionHelperCommand() = default;
-
-  ///! clean up any memory allocated by the function
-  ~cmFunctionHelperCommand() override = default;
-
   /**
    * This is a virtual constructor for the command.
    */
diff --git a/Source/cmFunctionCommand.h b/Source/cmFunctionCommand.h
index 90f7d82..8b37df0 100644
--- a/Source/cmFunctionCommand.h
+++ b/Source/cmFunctionCommand.h
@@ -18,15 +18,13 @@ class cmMakefile;
 class cmFunctionFunctionBlocker : public cmFunctionBlocker
 {
 public:
-  cmFunctionFunctionBlocker() { this->Depth = 0; }
-  ~cmFunctionFunctionBlocker() override = default;
   bool IsFunctionBlocked(const cmListFileFunction&, cmMakefile& mf,
                          cmExecutionStatus&) override;
   bool ShouldRemove(const cmListFileFunction&, cmMakefile& mf) override;
 
   std::vector<std::string> Args;
   std::vector<cmListFileFunction> Functions;
-  int Depth;
+  int Depth = 0;
 };
 
 /// Starts function() ... endfunction() block
diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h
index 8afb548..d72e051 100644
--- a/Source/cmGeneratorTarget.h
+++ b/Source/cmGeneratorTarget.h
@@ -111,7 +111,6 @@ public:
     std::set<std::string> ExpectedXamlHeaders;
     std::set<std::string> ExpectedXamlSources;
     bool Initialized = false;
-    KindedSources() = default;
   };
 
   /** Get all sources needed for a configuration with kinds assigned.  */
@@ -562,7 +561,6 @@ public:
   };
   struct SourceFileFlags
   {
-    SourceFileFlags() = default;
     SourceFileType Type = SourceFileTypeNormal;
     const char* MacFolder = nullptr; // location inside Mac content folders
   };
@@ -750,7 +748,6 @@ private:
 
   struct CompatibleInterfaces : public CompatibleInterfacesBase
   {
-    CompatibleInterfaces() = default;
     bool Done = false;
   };
   mutable std::map<std::string, CompatibleInterfaces> CompatibleInterfacesMap;
@@ -764,7 +761,6 @@ private:
 
   struct LinkImplClosure : public std::vector<cmGeneratorTarget const*>
   {
-    LinkImplClosure() = default;
     bool Done = false;
   };
   mutable std::map<std::string, LinkImplClosure> LinkImplClosureMap;
@@ -784,7 +780,6 @@ private:
   // Cache import information from properties for each configuration.
   struct ImportInfo
   {
-    ImportInfo() = default;
     bool NoSOName = false;
     ManagedType Managed = Native;
     unsigned int Multiplicity = 0;
diff --git a/Source/cmGlobVerificationManager.h b/Source/cmGlobVerificationManager.h
index 1024328..f7146be 100644
--- a/Source/cmGlobVerificationManager.h
+++ b/Source/cmGlobVerificationManager.h
@@ -21,9 +21,6 @@
  */
 class cmGlobVerificationManager
 {
-public:
-  cmGlobVerificationManager() = default;
-
 protected:
   ///! Save verification script for given makefile.
   ///! Saves to output <path>/<CMakeFilesDirectory>/VerifyGlobs.cmake
@@ -73,7 +70,6 @@ private:
     bool Initialized = false;
     std::vector<std::string> Files;
     std::vector<std::pair<std::string, cmListFileBacktrace>> Backtraces;
-    CacheEntryValue() = default;
   };
 
   typedef std::map<CacheEntryKey, CacheEntryValue> CacheEntryMap;
diff --git a/Source/cmGlobalGenerator.h b/Source/cmGlobalGenerator.h
index 3bf6309..da05a37 100644
--- a/Source/cmGlobalGenerator.h
+++ b/Source/cmGlobalGenerator.h
@@ -479,7 +479,6 @@ protected:
     std::vector<std::string> Depends;
     std::string WorkingDir;
     bool UsesTerminal = false;
-    GlobalTargetInfo() = default;
   };
 
   void CreateDefaultGlobalTargets(std::vector<GlobalTargetInfo>& targets);
@@ -608,7 +607,6 @@ private:
     long LastDiskTime = -1;
     std::set<std::string> All;
     std::set<std::string> Generated;
-    DirectoryContent() = default;
   };
   std::map<std::string, DirectoryContent> DirectoryContentMap;
 
diff --git a/Source/cmGlobalNinjaGenerator.h b/Source/cmGlobalNinjaGenerator.h
index fb39b30..4ad7d24 100644
--- a/Source/cmGlobalNinjaGenerator.h
+++ b/Source/cmGlobalNinjaGenerator.h
@@ -183,8 +183,6 @@ public:
     return new cmGlobalGeneratorSimpleFactory<cmGlobalNinjaGenerator>();
   }
 
-  ~cmGlobalNinjaGenerator() override = default;
-
   cmLocalGenerator* CreateLocalGenerator(cmMakefile* mf) override;
 
   std::string GetName() const override
diff --git a/Source/cmGlobalUnixMakefileGenerator3.h b/Source/cmGlobalUnixMakefileGenerator3.h
index a6b58e8..7d5be1a 100644
--- a/Source/cmGlobalUnixMakefileGenerator3.h
+++ b/Source/cmGlobalUnixMakefileGenerator3.h
@@ -217,7 +217,6 @@ protected:
   // Store per-target progress counters.
   struct TargetProgress
   {
-    TargetProgress() = default;
     unsigned long NumberOfActions = 0;
     std::string VariableFile;
     std::vector<unsigned long> Marks;
diff --git a/Source/cmIfCommand.h b/Source/cmIfCommand.h
index c984976..d34ed02 100644
--- a/Source/cmIfCommand.h
+++ b/Source/cmIfCommand.h
@@ -19,13 +19,6 @@ class cmMakefile;
 class cmIfFunctionBlocker : public cmFunctionBlocker
 {
 public:
-  cmIfFunctionBlocker()
-  {
-    this->HasRun = false;
-    this->ElseSeen = false;
-    this->ScopeDepth = 0;
-  }
-  ~cmIfFunctionBlocker() override = default;
   bool IsFunctionBlocked(const cmListFileFunction& lff, cmMakefile& mf,
                          cmExecutionStatus&) override;
   bool ShouldRemove(const cmListFileFunction& lff, cmMakefile& mf) override;
@@ -33,9 +26,9 @@ public:
   std::vector<cmListFileArgument> Args;
   std::vector<cmListFileFunction> Functions;
   bool IsBlocking;
-  bool HasRun;
-  bool ElseSeen;
-  unsigned int ScopeDepth;
+  bool HasRun = false;
+  bool ElseSeen = false;
+  unsigned int ScopeDepth = 0;
 };
 
 /// Starts an if block
diff --git a/Source/cmLinkItem.h b/Source/cmLinkItem.h
index d50b5fc..5b635b5 100644
--- a/Source/cmLinkItem.h
+++ b/Source/cmLinkItem.h
@@ -77,13 +77,10 @@ struct cmLinkInterface : public cmLinkInterfaceLibraries
   std::vector<cmLinkItem> WrongConfigLibraries;
 
   bool ImplementationIsInterface = false;
-
-  cmLinkInterface() = default;
 };
 
 struct cmOptionalLinkInterface : public cmLinkInterface
 {
-  cmOptionalLinkInterface() = default;
   bool LibrariesDone = false;
   bool AllDone = false;
   bool Exists = false;
@@ -105,7 +102,6 @@ struct cmLinkImplementation : public cmLinkImplementationLibraries
 // Cache link implementation computation from each configuration.
 struct cmOptionalLinkImplementation : public cmLinkImplementation
 {
-  cmOptionalLinkImplementation() = default;
   bool LibrariesDone = false;
   bool LanguagesDone = false;
   bool HadHeadSensitiveCondition = false;
diff --git a/Source/cmListFileCache.h b/Source/cmListFileCache.h
index e7b1c87..9457415 100644
--- a/Source/cmListFileCache.h
+++ b/Source/cmListFileCache.h
@@ -73,7 +73,6 @@ public:
   std::string Name;
   std::string FilePath;
   long Line = 0;
-  cmListFileContext() = default;
 
   static cmListFileContext FromCommandContext(cmCommandContext const& lfcc,
                                               std::string const& fileName)
@@ -110,15 +109,6 @@ public:
   // indicated by the given valid snapshot.
   cmListFileBacktrace(cmStateSnapshot const& snapshot);
 
-  // Backtraces may be copied, moved, and assigned as values.
-  cmListFileBacktrace(cmListFileBacktrace const&) = default;
-  cmListFileBacktrace(cmListFileBacktrace&&) // NOLINT(clang-tidy)
-    noexcept = default;
-  cmListFileBacktrace& operator=(cmListFileBacktrace const&) = default;
-  cmListFileBacktrace& operator=(cmListFileBacktrace&&) // NOLINT(clang-tidy)
-    noexcept = default;
-  ~cmListFileBacktrace() = default;
-
   cmStateSnapshot GetBottom() const;
 
   // Get a backtrace with the given file scope added to the top.
diff --git a/Source/cmLocalUnixMakefileGenerator3.h b/Source/cmLocalUnixMakefileGenerator3.h
index a3a0ddf..8fc0dad 100644
--- a/Source/cmLocalUnixMakefileGenerator3.h
+++ b/Source/cmLocalUnixMakefileGenerator3.h
@@ -279,7 +279,6 @@ private:
     bool HasSourceExtension = false;
     bool HasPreprocessRule = false;
     bool HasAssembleRule = false;
-    LocalObjectInfo() = default;
   };
   void GetLocalObjectFiles(
     std::map<std::string, LocalObjectInfo>& localObjectFiles);
diff --git a/Source/cmMacroCommand.cxx b/Source/cmMacroCommand.cxx
index 1b94ab3..7279d5f 100644
--- a/Source/cmMacroCommand.cxx
+++ b/Source/cmMacroCommand.cxx
@@ -17,11 +17,6 @@
 class cmMacroHelperCommand : public cmCommand
 {
 public:
-  cmMacroHelperCommand() = default;
-
-  ///! clean up any memory allocated by the macro
-  ~cmMacroHelperCommand() override = default;
-
   /**
    * This is a virtual constructor for the command.
    */
diff --git a/Source/cmMacroCommand.h b/Source/cmMacroCommand.h
index 8f5f540..b54ed66 100644
--- a/Source/cmMacroCommand.h
+++ b/Source/cmMacroCommand.h
@@ -18,15 +18,13 @@ class cmMakefile;
 class cmMacroFunctionBlocker : public cmFunctionBlocker
 {
 public:
-  cmMacroFunctionBlocker() { this->Depth = 0; }
-  ~cmMacroFunctionBlocker() override = default;
   bool IsFunctionBlocked(const cmListFileFunction&, cmMakefile& mf,
                          cmExecutionStatus&) override;
   bool ShouldRemove(const cmListFileFunction&, cmMakefile& mf) override;
 
   std::vector<std::string> Args;
   std::vector<cmListFileFunction> Functions;
-  int Depth;
+  int Depth = 0;
 };
 
 /// Starts macro() ... endmacro() block
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index fc8348f..1a1e11f 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -2712,7 +2712,6 @@ typedef enum
 } t_domain;
 struct t_lookup
 {
-  t_lookup() = default;
   t_domain domain = NORMAL;
   size_t loc = 0;
 };
diff --git a/Source/cmQtAutoGenInitializer.h b/Source/cmQtAutoGenInitializer.h
index 7359c76..10f0bf3 100644
--- a/Source/cmQtAutoGenInitializer.h
+++ b/Source/cmQtAutoGenInitializer.h
@@ -26,9 +26,6 @@ public:
   class Qrc
   {
   public:
-    Qrc() = default;
-
-  public:
     std::string LockFile;
     std::string QrcFile;
     std::string QrcName;
diff --git a/Source/cmQtAutoGenerator.h b/Source/cmQtAutoGenerator.h
index 75143f5..2b9cbc6 100644
--- a/Source/cmQtAutoGenerator.h
+++ b/Source/cmQtAutoGenerator.h
@@ -206,9 +206,6 @@ public:
       bool MergedOutput = false;
     };
 
-    // -- Constructor
-    ReadOnlyProcessT() = default;
-
     // -- Const accessors
     const SetupT& Setup() const { return Setup_; }
     ProcessResultT* Result() const { return Setup_.Result; }
diff --git a/Source/cmTimestamp.h b/Source/cmTimestamp.h
index 6b6c4eb..d5fbdfd 100644
--- a/Source/cmTimestamp.h
+++ b/Source/cmTimestamp.h
@@ -15,8 +15,6 @@
 class cmTimestamp
 {
 public:
-  cmTimestamp() = default;
-
   std::string CurrentTime(const std::string& formatString, bool utcFlag);
 
   std::string FileModificationTime(const char* path,
diff --git a/Source/cmVSSetupHelper.h b/Source/cmVSSetupHelper.h
index 4748a7a..1bda54a 100644
--- a/Source/cmVSSetupHelper.h
+++ b/Source/cmVSSetupHelper.h
@@ -112,8 +112,6 @@ struct VSInstanceInfo
   bool IsWin10SDKInstalled = false;
   bool IsWin81SDKInstalled = false;
 
-  VSInstanceInfo() = default;
-
   std::string GetInstallLocation() const;
 };
 
diff --git a/Source/cmVariableWatch.h b/Source/cmVariableWatch.h
index d5d96ef..5855fed 100644
--- a/Source/cmVariableWatch.h
+++ b/Source/cmVariableWatch.h
@@ -66,7 +66,6 @@ protected:
     WatchMethod Method = nullptr;
     void* ClientData = nullptr;
     DeleteData DeleteDataCall = nullptr;
-    Pair() = default;
     ~Pair()
     {
       if (this->DeleteDataCall && this->ClientData) {
-- 
cgit v0.12