forked from microsoft/vcpkg
-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[eigen3] Update warning suppression to latest. (microsoft#43051)
- Loading branch information
Showing
5 changed files
with
148 additions
and
2 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
140 changes: 140 additions & 0 deletions
140
ports/eigen3/update-warning-suppression-to-latest.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,140 @@ | ||
From 193e24dca1338ad692a65c47c90eb3fb3f342a0c Mon Sep 17 00:00:00 2001 | ||
From: =?UTF-8?q?Antonio=20S=C3=A1nchez?= <[email protected]> | ||
Date: Mon, 21 Mar 2022 15:56:03 +0000 | ||
Subject: [PATCH] Update warning suppression to latest. | ||
|
||
--- | ||
Eigen/src/Core/util/DisableStupidWarnings.h | 91 ++++++++++++++------- | ||
1 file changed, 61 insertions(+), 30 deletions(-) | ||
mode change 100755 => 100644 Eigen/src/Core/util/DisableStupidWarnings.h | ||
|
||
diff --git a/Eigen/src/Core/util/DisableStupidWarnings.h b/Eigen/src/Core/util/DisableStupidWarnings.h | ||
old mode 100755 | ||
new mode 100644 | ||
index fe0cfec0b..75056592d | ||
--- a/Eigen/src/Core/util/DisableStupidWarnings.h | ||
+++ b/Eigen/src/Core/util/DisableStupidWarnings.h | ||
@@ -1,7 +1,7 @@ | ||
#ifndef EIGEN_WARNINGS_DISABLED | ||
#define EIGEN_WARNINGS_DISABLED | ||
|
||
-#ifdef _MSC_VER | ||
+#if defined(_MSC_VER) | ||
// 4100 - unreferenced formal parameter (occurred e.g. in aligned_allocator::destroy(pointer p)) | ||
// 4101 - unreferenced local variable | ||
// 4181 - qualifier applied to reference type ignored | ||
@@ -35,25 +35,28 @@ | ||
#pragma warning disable 2196 279 1684 2259 | ||
|
||
#elif defined __clang__ | ||
- // -Wconstant-logical-operand - warning: use of logical && with constant operand; switch to bitwise & or remove constant | ||
- // this is really a stupid warning as it warns on compile-time expressions involving enums | ||
#ifndef EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS | ||
#pragma clang diagnostic push | ||
#endif | ||
- #pragma clang diagnostic ignored "-Wconstant-logical-operand" | ||
- #if __clang_major__ >= 3 && __clang_minor__ >= 5 | ||
- #pragma clang diagnostic ignored "-Wabsolute-value" | ||
- #endif | ||
- #if __clang_major__ >= 10 | ||
- #pragma clang diagnostic ignored "-Wimplicit-int-float-conversion" | ||
- #endif | ||
- #if ( defined(__ALTIVEC__) || defined(__VSX__) ) && __cplusplus < 201103L | ||
- // warning: generic selections are a C11-specific feature | ||
- // ignoring warnings thrown at vec_ctf in Altivec/PacketMath.h | ||
- #pragma clang diagnostic ignored "-Wc11-extensions" | ||
+ #if defined(__has_warning) | ||
+ // -Wconstant-logical-operand - warning: use of logical && with constant operand; switch to bitwise & or remove constant | ||
+ // this is really a stupid warning as it warns on compile-time expressions involving enums | ||
+ #if __has_warning("-Wconstant-logical-operand") | ||
+ #pragma clang diagnostic ignored "-Wconstant-logical-operand" | ||
+ #endif | ||
+ #if __has_warning("-Wimplicit-int-float-conversion") | ||
+ #pragma clang diagnostic ignored "-Wimplicit-int-float-conversion" | ||
+ #endif | ||
+ #if ( defined(__ALTIVEC__) || defined(__VSX__) ) && __cplusplus < 201103L | ||
+ // warning: generic selections are a C11-specific feature | ||
+ // ignoring warnings thrown at vec_ctf in Altivec/PacketMath.h | ||
+ #if __has_warning("-Wc11-extensions") | ||
+ #pragma clang diagnostic ignored "-Wc11-extensions" | ||
+ #endif | ||
+ #endif | ||
#endif | ||
|
||
-#elif defined __GNUC__ | ||
+#elif defined __GNUC__ && !defined(__FUJITSU) | ||
|
||
#if (!defined(EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS)) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) | ||
#pragma GCC diagnostic push | ||
@@ -74,25 +77,53 @@ | ||
#endif | ||
|
||
#if defined __NVCC__ | ||
- #pragma diag_suppress boolean_controlling_expr_is_constant | ||
+ // MSVC 14.16 (required by CUDA 9.*) does not support the _Pragma keyword, so | ||
+ // we instead use Microsoft's __pragma extension. | ||
+ #if defined _MSC_VER | ||
+ #define EIGEN_MAKE_PRAGMA(X) __pragma(#X) | ||
+ #else | ||
+ #define EIGEN_MAKE_PRAGMA(X) _Pragma(#X) | ||
+ #endif | ||
+ #if defined __NVCC_DIAG_PRAGMA_SUPPORT__ | ||
+ #define EIGEN_NV_DIAG_SUPPRESS(X) EIGEN_MAKE_PRAGMA(nv_diag_suppress X) | ||
+ #else | ||
+ #define EIGEN_NV_DIAG_SUPPRESS(X) EIGEN_MAKE_PRAGMA(diag_suppress X) | ||
+ #endif | ||
+ | ||
+ EIGEN_NV_DIAG_SUPPRESS(boolean_controlling_expr_is_constant) | ||
// Disable the "statement is unreachable" message | ||
- #pragma diag_suppress code_is_unreachable | ||
+ EIGEN_NV_DIAG_SUPPRESS(code_is_unreachable) | ||
// Disable the "dynamic initialization in unreachable code" message | ||
- #pragma diag_suppress initialization_not_reachable | ||
+ EIGEN_NV_DIAG_SUPPRESS(initialization_not_reachable) | ||
// Disable the "invalid error number" message that we get with older versions of nvcc | ||
- #pragma diag_suppress 1222 | ||
+ EIGEN_NV_DIAG_SUPPRESS(1222) | ||
// Disable the "calling a __host__ function from a __host__ __device__ function is not allowed" messages (yes, there are many of them and they seem to change with every version of the compiler) | ||
- #pragma diag_suppress 2527 | ||
- #pragma diag_suppress 2529 | ||
- #pragma diag_suppress 2651 | ||
- #pragma diag_suppress 2653 | ||
- #pragma diag_suppress 2668 | ||
- #pragma diag_suppress 2669 | ||
- #pragma diag_suppress 2670 | ||
- #pragma diag_suppress 2671 | ||
- #pragma diag_suppress 2735 | ||
- #pragma diag_suppress 2737 | ||
- #pragma diag_suppress 2739 | ||
+ EIGEN_NV_DIAG_SUPPRESS(2527) | ||
+ EIGEN_NV_DIAG_SUPPRESS(2529) | ||
+ EIGEN_NV_DIAG_SUPPRESS(2651) | ||
+ EIGEN_NV_DIAG_SUPPRESS(2653) | ||
+ EIGEN_NV_DIAG_SUPPRESS(2668) | ||
+ EIGEN_NV_DIAG_SUPPRESS(2669) | ||
+ EIGEN_NV_DIAG_SUPPRESS(2670) | ||
+ EIGEN_NV_DIAG_SUPPRESS(2671) | ||
+ EIGEN_NV_DIAG_SUPPRESS(2735) | ||
+ EIGEN_NV_DIAG_SUPPRESS(2737) | ||
+ EIGEN_NV_DIAG_SUPPRESS(2739) | ||
+ EIGEN_NV_DIAG_SUPPRESS(2885) | ||
+ EIGEN_NV_DIAG_SUPPRESS(2888) | ||
+ EIGEN_NV_DIAG_SUPPRESS(2976) | ||
+ EIGEN_NV_DIAG_SUPPRESS(2979) | ||
+ EIGEN_NV_DIAG_SUPPRESS(20011) | ||
+ EIGEN_NV_DIAG_SUPPRESS(20014) | ||
+ // Disable the "// __device__ annotation is ignored on a function(...) that is | ||
+ // explicitly defaulted on its first declaration" message. | ||
+ // The __device__ annotation seems to actually be needed in some cases, | ||
+ // otherwise resulting in kernel runtime errors. | ||
+ EIGEN_NV_DIAG_SUPPRESS(2886) | ||
+ EIGEN_NV_DIAG_SUPPRESS(2977) | ||
+ EIGEN_NV_DIAG_SUPPRESS(20012) | ||
+ #undef EIGEN_NV_DIAG_SUPPRESS | ||
+ #undef EIGEN_MAKE_PRAGMA | ||
#endif | ||
|
||
#else | ||
-- | ||
2.37.0.windows.1 | ||
|
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
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