1 #ifdef EIGEN_WARNINGS_DISABLED
2 #undef EIGEN_WARNINGS_DISABLED
3 
4 #ifndef EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS
5   #ifdef _MSC_VER
6     #pragma warning( pop )
7   #elif defined __INTEL_COMPILER
8     #pragma warning pop
9   #elif defined __clang__
10     #pragma clang diagnostic pop
11   #elif defined __GNUC__ && __GNUC__>=6
12     #pragma GCC diagnostic pop
13   #endif
14 
15   #if defined __NVCC__
16 //    Don't reenable the diagnostic messages, as it turns out these messages need
17 //    to be disabled at the point of the template instantiation (i.e the user code)
18 //    otherwise they'll be triggered by nvcc.
19 //    #pragma diag_default code_is_unreachable
20 //    #pragma diag_default initialization_not_reachable
21 //    #pragma diag_default 2651
22 //    #pragma diag_default 2653
23   #endif
24 
25 #endif
26 
27 #endif // EIGEN_WARNINGS_DISABLED
28