mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-04-19 16:19:37 +08:00
Fix compilation failures on constexpr matrices with GCC 14
This commit is contained in:
parent
99adca8b34
commit
c4d84dfddc
@ -621,17 +621,19 @@ class DenseBase
|
|||||||
protected:
|
protected:
|
||||||
EIGEN_DEFAULT_COPY_CONSTRUCTOR(DenseBase)
|
EIGEN_DEFAULT_COPY_CONSTRUCTOR(DenseBase)
|
||||||
/** Default constructor. Do nothing. */
|
/** Default constructor. Do nothing. */
|
||||||
|
#ifdef EIGEN_INTERNAL_DEBUGGING
|
||||||
EIGEN_DEVICE_FUNC constexpr DenseBase() {
|
EIGEN_DEVICE_FUNC constexpr DenseBase() {
|
||||||
/* Just checks for self-consistency of the flags.
|
/* Just checks for self-consistency of the flags.
|
||||||
* Only do it when debugging Eigen, as this borders on paranoia and could slow compilation down
|
* Only do it when debugging Eigen, as this borders on paranoia and could slow compilation down
|
||||||
*/
|
*/
|
||||||
#ifdef EIGEN_INTERNAL_DEBUGGING
|
|
||||||
EIGEN_STATIC_ASSERT(
|
EIGEN_STATIC_ASSERT(
|
||||||
(internal::check_implication(MaxRowsAtCompileTime == 1 && MaxColsAtCompileTime != 1, int(IsRowMajor)) &&
|
(internal::check_implication(MaxRowsAtCompileTime == 1 && MaxColsAtCompileTime != 1, int(IsRowMajor)) &&
|
||||||
internal::check_implication(MaxColsAtCompileTime == 1 && MaxRowsAtCompileTime != 1, int(!IsRowMajor))),
|
internal::check_implication(MaxColsAtCompileTime == 1 && MaxRowsAtCompileTime != 1, int(!IsRowMajor))),
|
||||||
INVALID_STORAGE_ORDER_FOR_THIS_VECTOR_EXPRESSION)
|
INVALID_STORAGE_ORDER_FOR_THIS_VECTOR_EXPRESSION)
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
EIGEN_DEVICE_FUNC constexpr DenseBase() = default;
|
||||||
|
#endif
|
||||||
|
|
||||||
private:
|
private:
|
||||||
EIGEN_DEVICE_FUNC explicit DenseBase(int);
|
EIGEN_DEVICE_FUNC explicit DenseBase(int);
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
// Public License v. 2.0. If a copy of the MPL was not distributed
|
// Public License v. 2.0. If a copy of the MPL was not distributed
|
||||||
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
|
#define EIGEN_TESTING_CONSTEXPR
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
|
|
||||||
EIGEN_DECLARE_TEST(constexpr) {
|
EIGEN_DECLARE_TEST(constexpr) {
|
||||||
|
@ -336,7 +336,9 @@ static std::vector<std::string> eigen_assert_list;
|
|||||||
|
|
||||||
#endif // EIGEN_NO_ASSERTION_CHECKING
|
#endif // EIGEN_NO_ASSERTION_CHECKING
|
||||||
|
|
||||||
|
#ifndef EIGEN_TESTING_CONSTEXPR
|
||||||
#define EIGEN_INTERNAL_DEBUGGING
|
#define EIGEN_INTERNAL_DEBUGGING
|
||||||
|
#endif
|
||||||
#include <Eigen/QR> // required for createRandomPIMatrixOfRank and generateRandomMatrixSvs
|
#include <Eigen/QR> // required for createRandomPIMatrixOfRank and generateRandomMatrixSvs
|
||||||
|
|
||||||
inline void verify_impl(bool condition, const char* testname, const char* file, int line,
|
inline void verify_impl(bool condition, const char* testname, const char* file, int line,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user