mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-26 01:51:41 +00:00
49 lines
2.2 KiB
Diff
49 lines
2.2 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Tyler Veness <calcmogul@gmail.com>
|
|
Date: Tue, 14 May 2024 14:53:02 -0700
|
|
Subject: [PATCH 4/4] Fix compilation failures on constexpr matrices with GCC
|
|
14
|
|
|
|
DenseBase must have a trivial default constructor.
|
|
`constexpr DenseBase() {}` is not sufficient.
|
|
---
|
|
Eigen/src/Core/DenseBase.h | 22 +++++++++++-----------
|
|
1 file changed, 11 insertions(+), 11 deletions(-)
|
|
|
|
diff --git a/Eigen/src/Core/DenseBase.h b/Eigen/src/Core/DenseBase.h
|
|
index 5ab54efa3d8d454b2d5e02cb9d6145a723683b91..297c42679d978c36388ccba5831dab6624b6cb92 100644
|
|
--- a/Eigen/src/Core/DenseBase.h
|
|
+++ b/Eigen/src/Core/DenseBase.h
|
|
@@ -621,20 +621,20 @@ class DenseBase
|
|
protected:
|
|
EIGEN_DEFAULT_COPY_CONSTRUCTOR(DenseBase)
|
|
/** Default constructor. Do nothing. */
|
|
- 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)
|
|
+ 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
|
|
+ */
|
|
+ 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)}
|
|
+#else
|
|
+ EIGEN_DEVICE_FUNC constexpr DenseBase() = default;
|
|
#endif
|
|
- }
|
|
|
|
- private:
|
|
- EIGEN_DEVICE_FUNC explicit DenseBase(int);
|
|
+ private : EIGEN_DEVICE_FUNC explicit DenseBase(int);
|
|
EIGEN_DEVICE_FUNC DenseBase(int, int);
|
|
template <typename OtherDerived>
|
|
EIGEN_DEVICE_FUNC explicit DenseBase(const DenseBase<OtherDerived>&);
|