Eigen  5.0.1
 
Loading...
Searching...
No Matches
ReenableStupidWarnings.h
1// SPDX-FileCopyrightText: The Eigen Authors
2// SPDX-License-Identifier: MPL-2.0
3
4#ifdef EIGEN_WARNINGS_DISABLED_2
5// "DisableStupidWarnings.h" was included twice recursively: Do not re-enable warnings yet!
6#undef EIGEN_WARNINGS_DISABLED_2
7
8#elif defined(EIGEN_WARNINGS_DISABLED)
9#undef EIGEN_WARNINGS_DISABLED
10
11#ifdef _MSC_VER
12#pragma warning(pop)
13#ifdef EIGEN_REENABLE_CXX23_DENORM_DEPRECATION_WARNING
14#undef EIGEN_REENABLE_CXX23_DENORM_DEPRECATION_WARNING
15#undef _SILENCE_CXX23_DENORM_DEPRECATION_WARNING
16#endif
17
18#elif defined __INTEL_COMPILER
19#pragma warning pop
20#elif defined __clang__
21#pragma clang diagnostic pop
22#elif defined __GNUC__ && !defined(__FUJITSU)
23#pragma GCC diagnostic pop
24#endif
25
26#if defined __NVCC__
27// Don't re-enable the diagnostic messages, as it turns out these messages need
28// to be disabled at the point of the template instantiation (i.e the user code)
29// otherwise they'll be triggered by nvcc.
30// #define EIGEN_MAKE_PRAGMA(X) _Pragma(#X)
31// #if __NVCC_DIAG_PRAGMA_SUPPORT__
32// #define EIGEN_NV_DIAG_DEFAULT(X) EIGEN_MAKE_PRAGMA(nv_diag_default X)
33// #else
34// #define EIGEN_NV_DIAG_DEFAULT(X) EIGEN_MAKE_PRAGMA(diag_default X)
35// #endif
36// EIGEN_NV_DIAG_DEFAULT(code_is_unreachable)
37// EIGEN_NV_DIAG_DEFAULT(initialization_not_reachable)
38// EIGEN_NV_DIAG_DEFAULT(2651)
39// EIGEN_NV_DIAG_DEFAULT(2653)
40// #undef EIGEN_NV_DIAG_DEFAULT
41// #undef EIGEN_MAKE_PRAGMA
42#endif
43
44#endif // EIGEN_WARNINGS_DISABLED