forked from wpilibsuite/allwpilib
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[upstream_utils] Fix compilation failures on constexpr matrices with …
…GCC 14 (wpilibsuite#6626)
- Loading branch information
Showing
6 changed files
with
63 additions
and
14 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 | ||
From: Tyler Veness <[email protected]> | ||
Date: Wed, 18 May 2022 09:14:24 -0700 | ||
Subject: [PATCH 1/3] Disable warnings | ||
Subject: [PATCH 1/4] Disable warnings | ||
|
||
--- | ||
Eigen/src/Core/util/DisableStupidWarnings.h | 9 +++++++++ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 | ||
From: Peter Johnson <[email protected]> | ||
Date: Fri, 20 Jan 2023 23:41:56 -0800 | ||
Subject: [PATCH 2/3] Intellisense fix | ||
Subject: [PATCH 2/4] Intellisense fix | ||
|
||
--- | ||
Eigen/src/Core/util/ConfigureVectorization.h | 7 +++++++ | ||
|
2 changes: 1 addition & 1 deletion
2
upstream_utils/eigen_patches/0003-Suppress-C-23-deprecation-warnings-for-std-has_denor.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 | ||
From: Tyler Veness <[email protected]> | ||
Date: Mon, 13 May 2024 12:46:15 -0700 | ||
Subject: [PATCH 3/3] Suppress C++23 deprecation warnings for std::has_denorm | ||
Subject: [PATCH 3/4] Suppress C++23 deprecation warnings for std::has_denorm | ||
and std::has_denorm_loss | ||
|
||
--- | ||
|
48 changes: 48 additions & 0 deletions
48
upstream_utils/eigen_patches/0004-Fix-compilation-failures-on-constexpr-matrices-with-.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 | ||
From: Tyler Veness <[email protected]> | ||
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>&); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters