diff --git a/Eigen/src/Core/EigenBase.h b/Eigen/src/Core/EigenBase.h index 883e05015..6d167006a 100644 --- a/Eigen/src/Core/EigenBase.h +++ b/Eigen/src/Core/EigenBase.h @@ -109,24 +109,6 @@ struct EigenBase { EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE DeviceWrapper device(Device& device); template EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE DeviceWrapper device(Device& device) const; - - /** - * By defining the empty destructor here, subclasses which override the destructor with `~SubClass = default` will not - * inline their destructor. This ensures ensures the destructor symbol will exists in the binary. - * This is needed to support expression evaluation in lldb (for _some_ reason). Without this hack, the destructor - * will be inlined and lldb will produce a missing symbol error (referring to eg ~MatrixBase destructor) when trying - * to evaluate an expression that returns an Eigen::Matrix. - * - * We use the normal default destructor to make the object trivially destructible when not debugging or when testing - * as the testsuite asserts std::is_trivially_destructible - */ -#if !defined(EIGEN_NO_DEBUG) && !defined(EIGEN_TESTING_PLAINOBJECT_CTOR) -#if __cpp_constexpr >= 201907L - EIGEN_DEVICE_FUNC constexpr ~EigenBase() {} -#else - EIGEN_DEVICE_FUNC ~EigenBase() {} -#endif -#endif }; /***************************************************************************