// SPDX-FileCopyrightText: The Eigen Authors
// SPDX-License-Identifier: MPL-2.0

#ifdef EIGEN_WARNINGS_DISABLED_2
// "DisableStupidWarnings.h" was included twice recursively: Do not re-enable warnings yet!
#undef EIGEN_WARNINGS_DISABLED_2

#elif defined(EIGEN_WARNINGS_DISABLED)
#undef EIGEN_WARNINGS_DISABLED

#ifdef _MSC_VER
#pragma warning(pop)
#ifdef EIGEN_REENABLE_CXX23_DENORM_DEPRECATION_WARNING
#undef EIGEN_REENABLE_CXX23_DENORM_DEPRECATION_WARNING
#undef _SILENCE_CXX23_DENORM_DEPRECATION_WARNING
#endif

#elif defined __INTEL_COMPILER
#pragma warning pop
#elif defined __clang__
#pragma clang diagnostic pop
#elif defined __GNUC__ && !defined(__FUJITSU)
#pragma GCC diagnostic pop
#endif

#if defined __NVCC__
//    Don't re-enable the diagnostic messages, as it turns out these messages need
//    to be disabled at the point of the template instantiation (i.e the user code)
//    otherwise they'll be triggered by nvcc.
//    #define EIGEN_MAKE_PRAGMA(X) _Pragma(#X)
//    #if __NVCC_DIAG_PRAGMA_SUPPORT__
//      #define EIGEN_NV_DIAG_DEFAULT(X) EIGEN_MAKE_PRAGMA(nv_diag_default X)
//    #else
//      #define EIGEN_NV_DIAG_DEFAULT(X) EIGEN_MAKE_PRAGMA(diag_default X)
//    #endif
//    EIGEN_NV_DIAG_DEFAULT(code_is_unreachable)
//    EIGEN_NV_DIAG_DEFAULT(initialization_not_reachable)
//    EIGEN_NV_DIAG_DEFAULT(2651)
//    EIGEN_NV_DIAG_DEFAULT(2653)
//    #undef EIGEN_NV_DIAG_DEFAULT
//    #undef EIGEN_MAKE_PRAGMA
#endif

#endif  // EIGEN_WARNINGS_DISABLED
