1 #ifndef EIGEN_WARNINGS_DISABLED
2 #define EIGEN_WARNINGS_DISABLED
20 #ifndef EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS
21 #pragma warning( push )
23 #pragma warning( disable : 4100 4101 4127 4181 4211 4244 4273 4324 4503 4512 4522 4700 4714 4717 4800)
25 #elif defined __INTEL_COMPILER
33 #ifndef EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS
36 #pragma warning disable 2196 279 1684 2259
38 #elif defined __clang__
39 #ifndef EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS
40 #pragma clang diagnostic push
42 #if defined(__has_warning)
45 #if __has_warning("-Wconstant-logical-operand")
46 #pragma clang diagnostic ignored "-Wconstant-logical-operand"
48 #if __has_warning("-Wimplicit-int-float-conversion")
49 #pragma clang diagnostic ignored "-Wimplicit-int-float-conversion"
51 #if ( defined(__ALTIVEC__) || defined(__VSX__) ) && ( !defined(__STDC_VERSION__) || (__STDC_VERSION__ < 201112L) )
54 #if __has_warning("-Wc11-extensions")
55 #pragma clang diagnostic ignored "-Wc11-extensions"
60 #elif defined __GNUC__ && !defined(__FUJITSU)
62 #if (!defined(EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS)) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
63 #pragma GCC diagnostic push
66 #pragma GCC diagnostic ignored "-Wshadow"
67 #if __GNUC__ == 4 && __GNUC_MINOR__ < 8
69 #pragma GCC diagnostic ignored "-Wtype-limits"
72 #pragma GCC diagnostic ignored "-Wignored-attributes"
76 #pragma GCC diagnostic ignored "-Wattributes"
84 #define EIGEN_MAKE_PRAGMA(X) __pragma(#X)
86 #define EIGEN_MAKE_PRAGMA(X) _Pragma(#X)
88 #if defined __NVCC_DIAG_PRAGMA_SUPPORT__
89 #define EIGEN_NV_DIAG_SUPPRESS(X) EIGEN_MAKE_PRAGMA(nv_diag_suppress X)
91 #define EIGEN_NV_DIAG_SUPPRESS(X) EIGEN_MAKE_PRAGMA(diag_suppress X)
94 EIGEN_NV_DIAG_SUPPRESS(boolean_controlling_expr_is_constant)
96 EIGEN_NV_DIAG_SUPPRESS(code_is_unreachable)
98 EIGEN_NV_DIAG_SUPPRESS(initialization_not_reachable)
100 EIGEN_NV_DIAG_SUPPRESS(1222)
102 EIGEN_NV_DIAG_SUPPRESS(2527)
103 EIGEN_NV_DIAG_SUPPRESS(2529)
104 EIGEN_NV_DIAG_SUPPRESS(2651)
105 EIGEN_NV_DIAG_SUPPRESS(2653)
106 EIGEN_NV_DIAG_SUPPRESS(2668)
107 EIGEN_NV_DIAG_SUPPRESS(2669)
108 EIGEN_NV_DIAG_SUPPRESS(2670)
109 EIGEN_NV_DIAG_SUPPRESS(2671)
110 EIGEN_NV_DIAG_SUPPRESS(2735)
111 EIGEN_NV_DIAG_SUPPRESS(2737)
112 EIGEN_NV_DIAG_SUPPRESS(2739)
113 EIGEN_NV_DIAG_SUPPRESS(2885)
114 EIGEN_NV_DIAG_SUPPRESS(2888)
115 EIGEN_NV_DIAG_SUPPRESS(2976)
116 EIGEN_NV_DIAG_SUPPRESS(2979)
117 EIGEN_NV_DIAG_SUPPRESS(20011)
118 EIGEN_NV_DIAG_SUPPRESS(20014)
123 EIGEN_NV_DIAG_SUPPRESS(2886)
124 EIGEN_NV_DIAG_SUPPRESS(2929)
125 EIGEN_NV_DIAG_SUPPRESS(2977)
126 EIGEN_NV_DIAG_SUPPRESS(20012)
127 #undef EIGEN_NV_DIAG_SUPPRESS
128 #undef EIGEN_MAKE_PRAGMA
133 # ifndef EIGEN_WARNINGS_DISABLED_2
134 # define EIGEN_WARNINGS_DISABLED_2
135 # elif defined(EIGEN_INTERNAL_DEBUGGING)
136 # error "Do not include \"DisableStupidWarnings.h\" recursively more than twice!"