xref: /aosp_15_r20/external/eigen/Eigen/src/Core/util/ReenableStupidWarnings.h (revision bf2c37156dfe67e5dfebd6d394bad8b2ab5804d4)
1 #ifdef EIGEN_WARNINGS_DISABLED_2
2 // "DisableStupidWarnings.h" was included twice recursively: Do not reenable warnings yet!
3 #  undef EIGEN_WARNINGS_DISABLED_2
4 
5 #elif defined(EIGEN_WARNINGS_DISABLED)
6 #undef EIGEN_WARNINGS_DISABLED
7 
8 #ifndef EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS
9   #ifdef _MSC_VER
10     #pragma warning( pop )
11   #elif defined __INTEL_COMPILER
12     #pragma warning pop
13   #elif defined __clang__
14     #pragma clang diagnostic pop
15   #elif defined __GNUC__  &&  (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
16     #pragma GCC diagnostic pop
17   #endif
18 
19   #if defined __NVCC__
20 //    Don't reenable the diagnostic messages, as it turns out these messages need
21 //    to be disabled at the point of the template instantiation (i.e the user code)
22 //    otherwise they'll be triggered by nvcc.
23 //    #pragma diag_default code_is_unreachable
24 //    #pragma diag_default initialization_not_reachable
25 //    #pragma diag_default 2651
26 //    #pragma diag_default 2653
27   #endif
28 
29 #endif
30 
31 #endif // EIGEN_WARNINGS_DISABLED
32