Fix compilation failures on constexpr matrices with GCC 14

This commit is contained in:
Tyler Veness
2024-05-22 12:29:01 +00:00
committed by Rasmus Munk Larsen
parent 99adca8b34
commit c4d84dfddc
3 changed files with 7 additions and 2 deletions

View File

@@ -621,17 +621,19 @@ class DenseBase
protected:
EIGEN_DEFAULT_COPY_CONSTRUCTOR(DenseBase)
/** Default constructor. Do nothing. */
#ifdef EIGEN_INTERNAL_DEBUGGING
EIGEN_DEVICE_FUNC constexpr DenseBase() {
/* Just checks for self-consistency of the flags.
* Only do it when debugging Eigen, as this borders on paranoia and could slow compilation down
*/
#ifdef EIGEN_INTERNAL_DEBUGGING
EIGEN_STATIC_ASSERT(
(internal::check_implication(MaxRowsAtCompileTime == 1 && MaxColsAtCompileTime != 1, int(IsRowMajor)) &&
internal::check_implication(MaxColsAtCompileTime == 1 && MaxRowsAtCompileTime != 1, int(!IsRowMajor))),
INVALID_STORAGE_ORDER_FOR_THIS_VECTOR_EXPRESSION)
#endif
}
#else
EIGEN_DEVICE_FUNC constexpr DenseBase() = default;
#endif
private:
EIGEN_DEVICE_FUNC explicit DenseBase(int);