diff --git a/src/ComputingTasks.cc b/src/ComputingTasks.cc
index 580ac793fe61098e7526b08d71df94053ea8ff15..c4f9ca5ae5c69667c617b6178755e34ad02b909d 100644
--- a/src/ComputingTasks.cc
+++ b/src/ComputingTasks.cc
@@ -1379,8 +1379,7 @@ RplotStatement::writeJsonOutput(ostream &output) const
 }
 
 UnitRootVarsStatement::UnitRootVarsStatement()
-{
-}
+= default;
 
 void
 UnitRootVarsStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
@@ -3429,8 +3428,7 @@ SvarStatement::writeJsonOutput(ostream &output) const
 }
 
 SvarGlobalIdentificationCheckStatement::SvarGlobalIdentificationCheckStatement()
-{
-}
+= default;
 
 void
 SvarGlobalIdentificationCheckStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
@@ -3850,8 +3848,7 @@ JointPriorStatement::writeJsonOutput(ostream &output) const
 }
 
 BasicPriorStatement::~BasicPriorStatement()
-{
-}
+= default;
 
 BasicPriorStatement::BasicPriorStatement(string name_arg,
                                          string subsample_name_arg,
@@ -4395,8 +4392,7 @@ PriorEqualStatement::writeJsonOutput(ostream &output) const
 }
 
 BasicOptionsStatement::~BasicOptionsStatement()
-{
-}
+= default;
 
 BasicOptionsStatement::BasicOptionsStatement(string name_arg,
                                              string subsample_name_arg,
@@ -4848,8 +4844,7 @@ ExtendedPathStatement::writeJsonOutput(ostream &output) const
 }
 
 ModelDiagnosticsStatement::ModelDiagnosticsStatement()
-{
-}
+= default;
 
 void
 ModelDiagnosticsStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
diff --git a/src/ConfigFile.cc b/src/ConfigFile.cc
index 38727e81b7ee3720c8f0dbc406f1c8ecc814d7ab..cc2c8182fc6448b10e5bc6856e04a5823eb4802b 100644
--- a/src/ConfigFile.cc
+++ b/src/ConfigFile.cc
@@ -92,8 +92,7 @@ ConfigFile::ConfigFile(bool parallel_arg, bool parallel_test_arg,
 }
 
 ConfigFile::~ConfigFile()
-{
-}
+= default;
 
 void
 ConfigFile::getConfigFileInfo(const string &config_file)
diff --git a/src/ExprNode.cc b/src/ExprNode.cc
index 05f2559782af43c462ab8e1ad6e2b95f10dc907d..885256e635adea551570fe9bc76b8d1894acdac4 100644
--- a/src/ExprNode.cc
+++ b/src/ExprNode.cc
@@ -41,8 +41,7 @@ ExprNode::ExprNode(DataTree &datatree_arg) : datatree(datatree_arg), preparedFor
 }
 
 ExprNode::~ExprNode()
-{
-}
+= default;
 
 expr_t
 ExprNode::getDerivative(int deriv_id)
diff --git a/src/ExternalFunctionsTable.cc b/src/ExternalFunctionsTable.cc
index eb4ab00cbc0164be60d7c99b5ccee5e8fde9f9c1..a369fc6fe63900fede0c3d688fb88f70c38774fd 100644
--- a/src/ExternalFunctionsTable.cc
+++ b/src/ExternalFunctionsTable.cc
@@ -27,8 +27,7 @@
 #include "SymbolTable.hh"
 
 ExternalFunctionsTable::ExternalFunctionsTable()
-{
-}
+= default;
 
 void
 ExternalFunctionsTable::addExternalFunction(int symb_id, const external_function_options &external_function_options_arg, bool track_nargs)
diff --git a/src/Statement.cc b/src/Statement.cc
index d86e72436c4b3afca6b4b5c9d6d06b9ff729566c..af34fe98827a3dfc0f4f77cd976de1743cb408ea 100644
--- a/src/Statement.cc
+++ b/src/Statement.cc
@@ -27,8 +27,7 @@ ModFileStructure::ModFileStructure() :
 }
 
 Statement::~Statement()
-{
-}
+= default;
 
 void
 Statement::checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings)
diff --git a/src/SymbolTable.cc b/src/SymbolTable.cc
index 484c9f0f8b51c69a80418f2f466a1da14348554a..baf612414d0d221de700e6e67445f3cd290fab38 100644
--- a/src/SymbolTable.cc
+++ b/src/SymbolTable.cc
@@ -39,8 +39,7 @@ AuxVarInfo::AuxVarInfo(int symb_id_arg, aux_var_t type_arg, int orig_symb_id_arg
 }
 
 SymbolTable::SymbolTable()
-{
-}
+= default;
 
 int
 SymbolTable::addSymbol(const string &name, SymbolType type, const string &tex_name, const vector<pair<string *, string *> *> *partition_value) throw (AlreadyDeclaredException, FrozenException)
diff --git a/src/WarningConsolidation.hh b/src/WarningConsolidation.hh
index ece47995e582d5fd930c059700d61197994051b0..8ffb5508f8fd938ac4b505c44dc370d0a6ce2e34 100644
--- a/src/WarningConsolidation.hh
+++ b/src/WarningConsolidation.hh
@@ -38,8 +38,7 @@ public:
   {
   };
   ~WarningConsolidation()
-  {
-  };
+  = default;;
 
   //! Add A Warning to the StringStream
   friend WarningConsolidation &operator<<(WarningConsolidation &wcc, const string &warning);
diff --git a/src/macro/MacroDriver.cc b/src/macro/MacroDriver.cc
index fecd352689f524181ccfccaef139f033e9b0ba4c..c95731adbfea1c4bf07f182d5f35aa7c3d345cb7 100644
--- a/src/macro/MacroDriver.cc
+++ b/src/macro/MacroDriver.cc
@@ -26,8 +26,7 @@
 #include "MacroDriver.hh"
 
 MacroDriver::MacroDriver()
-{
-}
+= default;
 
 MacroDriver::~MacroDriver()
 {
diff --git a/src/macro/MacroValue.cc b/src/macro/MacroValue.cc
index fb710c61dd3357ff661b2526c279c006513897f0..21c69e038b463a947fe3ddf229ef449f795dba7e 100644
--- a/src/macro/MacroValue.cc
+++ b/src/macro/MacroValue.cc
@@ -27,8 +27,7 @@ MacroValue::MacroValue(MacroDriver &driver_arg) : driver(driver_arg)
 }
 
 MacroValue::~MacroValue()
-{
-}
+= default;
 
 const MacroValue *
 MacroValue::operator+() const throw (TypeError)
@@ -143,8 +142,7 @@ IntMV::IntMV(MacroDriver &driver, int value_arg) : MacroValue(driver), value(val
 }
 
 IntMV::~IntMV()
-{
-}
+= default;
 
 const MacroValue *
 IntMV::operator+(const MacroValue &mv) const throw (TypeError)
@@ -349,8 +347,7 @@ StringMV::StringMV(MacroDriver &driver, string value_arg) :
 }
 
 StringMV::~StringMV()
-{
-}
+= default;
 
 const MacroValue *
 StringMV::operator+(const MacroValue &mv) const throw (TypeError)
diff --git a/src/macro/MacroValue.hh b/src/macro/MacroValue.hh
index 41e814b675a84083730817daabea4e14707f501d..b450d28837c781195aef36f93496af791345162c 100644
--- a/src/macro/MacroValue.hh
+++ b/src/macro/MacroValue.hh
@@ -246,8 +246,7 @@ ArrayMV<T>::ArrayMV(MacroDriver &driver, vector<T> values_arg) : MacroValue(driv
 
 template<typename T>
 ArrayMV<T>::~ArrayMV()
-{
-}
+= default;
 
 template<typename T>
 const MacroValue *