Remove workaround for gcc bug 58265.
authorM. Eric Irrgang <ericirrgang@gmail.com>
Fri, 19 Jun 2020 09:18:27 +0000 (12:18 +0300)
committerM. Eric Irrgang <ericirrgang@gmail.com>
Fri, 19 Jun 2020 09:18:27 +0000 (12:18 +0300)
Fixes #3041

src/gromacs/mdrun/runner.cpp
src/gromacs/mdrun/runner.h

index 12bf53fbe4ad946136be3a466eb32fc4863d8490..928a249dc39106ada0670d4ae4486accaeb75b78 100644 (file)
@@ -1794,8 +1794,7 @@ Mdrunner::Mdrunner(std::unique_ptr<MDModules> mdModules) : mdModules_(std::move(
 
 Mdrunner::Mdrunner(Mdrunner&&) noexcept = default;
 
-//NOLINTNEXTLINE(performance-noexcept-move-constructor) working around GCC bug 58265
-Mdrunner& Mdrunner::operator=(Mdrunner&& /*handle*/) noexcept(BUGFREE_NOEXCEPT_STRING) = default;
+Mdrunner& Mdrunner::operator=(Mdrunner&& /*handle*/) noexcept = default;
 
 class Mdrunner::BuilderImplementation
 {
index 13a10041d35e321ef01865432107bd69d92ae372..268465463bace2c03800f307b1600ed891759fc5 100644 (file)
@@ -77,9 +77,6 @@ class RestraintManager;
 class SimulationContext;
 class StopHandlerBuilder;
 
-//! Work-around for GCC bug 58265
-constexpr bool BUGFREE_NOEXCEPT_STRING = std::is_nothrow_move_assignable<std::string>::value;
-
 /*! \libinternal \brief Runner object for supporting setup and execution of mdrun.
  *
  * This class has responsibility for the lifetime of data structures
@@ -145,8 +142,7 @@ public:
      * \{
      */
     Mdrunner(Mdrunner&& handle) noexcept;
-    //NOLINTNEXTLINE(performance-noexcept-move-constructor) working around GCC bug 58265
-    Mdrunner& operator=(Mdrunner&& handle) noexcept(BUGFREE_NOEXCEPT_STRING);
+    Mdrunner& operator=(Mdrunner&& handle) noexcept;
     /* \} */
 
     /*! \brief Driver routine, that calls the different simulation methods. */