1 #ifndef EIGEN_WARNINGS_DISABLED
2 #define EIGEN_WARNINGS_DISABLED
20 #ifndef EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS
23 #pragma warning(disable : 4100 4101 4127 4181 4211 4244 4273 4324 4503 4512 4522 4700 4714 4717 4800)
25 #ifndef _SILENCE_CXX23_DENORM_DEPRECATION_WARNING
26 #define EIGEN_REENABLE_CXX23_DENORM_DEPRECATION_WARNING 1
27 #define _SILENCE_CXX23_DENORM_DEPRECATION_WARNING
30 #elif defined __INTEL_COMPILER
39 #ifndef EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS
42 #pragma warning disable 2196 279 1684 2259
44 #elif defined __clang__
45 #ifndef EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS
46 #pragma clang diagnostic push
48 #if defined(__has_warning)
51 #if __has_warning("-Wconstant-logical-operand")
52 #pragma clang diagnostic ignored "-Wconstant-logical-operand"
54 #if __has_warning("-Wimplicit-int-float-conversion")
55 #pragma clang diagnostic ignored "-Wimplicit-int-float-conversion"
57 #if (defined(__ALTIVEC__) || defined(__VSX__)) && (!defined(__STDC_VERSION__) || (__STDC_VERSION__ < 201112L))
60 #if __has_warning("-Wc11-extensions")
61 #pragma clang diagnostic ignored "-Wc11-extensions"
66 #elif defined __GNUC__ && !defined(__FUJITSU)
68 #if (!defined(EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS)) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
69 #pragma GCC diagnostic push
72 #pragma GCC diagnostic ignored "-Wshadow"
73 #if __GNUC__ == 4 && __GNUC_MINOR__ < 8
75 #pragma GCC diagnostic ignored "-Wtype-limits"
78 #pragma GCC diagnostic ignored "-Wignored-attributes"
82 #pragma GCC diagnostic ignored "-Wattributes"
86 #if defined __NVCC__ && defined __CUDACC__
90 #define EIGEN_MAKE_PRAGMA(X) __pragma(#X)
92 #define EIGEN_MAKE_PRAGMA(X) _Pragma(#X)
94 #if defined __NVCC_DIAG_PRAGMA_SUPPORT__
95 #define EIGEN_NV_DIAG_SUPPRESS(X) EIGEN_MAKE_PRAGMA(nv_diag_suppress X)
97 #define EIGEN_NV_DIAG_SUPPRESS(X) EIGEN_MAKE_PRAGMA(diag_suppress X)
100 EIGEN_NV_DIAG_SUPPRESS(boolean_controlling_expr_is_constant)
102 EIGEN_NV_DIAG_SUPPRESS(code_is_unreachable)
104 EIGEN_NV_DIAG_SUPPRESS(initialization_not_reachable)
106 EIGEN_NV_DIAG_SUPPRESS(1222)
109 EIGEN_NV_DIAG_SUPPRESS(2527)
110 EIGEN_NV_DIAG_SUPPRESS(2529)
111 EIGEN_NV_DIAG_SUPPRESS(2651)
112 EIGEN_NV_DIAG_SUPPRESS(2653)
113 EIGEN_NV_DIAG_SUPPRESS(2668)
114 EIGEN_NV_DIAG_SUPPRESS(2669)
115 EIGEN_NV_DIAG_SUPPRESS(2670)
116 EIGEN_NV_DIAG_SUPPRESS(2671)
117 EIGEN_NV_DIAG_SUPPRESS(2735)
118 EIGEN_NV_DIAG_SUPPRESS(2737)
119 EIGEN_NV_DIAG_SUPPRESS(2739)
120 EIGEN_NV_DIAG_SUPPRESS(2885)
121 EIGEN_NV_DIAG_SUPPRESS(2888)
122 EIGEN_NV_DIAG_SUPPRESS(2976)
123 EIGEN_NV_DIAG_SUPPRESS(2979)
124 EIGEN_NV_DIAG_SUPPRESS(20011)
125 EIGEN_NV_DIAG_SUPPRESS(20014)
130 EIGEN_NV_DIAG_SUPPRESS(2886)
131 EIGEN_NV_DIAG_SUPPRESS(2929)
132 EIGEN_NV_DIAG_SUPPRESS(2977)
133 EIGEN_NV_DIAG_SUPPRESS(20012)
134 #undef EIGEN_NV_DIAG_SUPPRESS
135 #undef EIGEN_MAKE_PRAGMA
140 #ifndef EIGEN_WARNINGS_DISABLED_2
141 #define EIGEN_WARNINGS_DISABLED_2
142 #elif defined(EIGEN_INTERNAL_DEBUGGING)
143 #error "Do not include \"DisableStupidWarnings.h\" recursively more than twice!"