From 06adf557e925ba4010b0964cb216efb9f2370ed6 Mon Sep 17 00:00:00 2001 From: Jordan Maples Date: Thu, 12 Mar 2020 12:32:32 -0700 Subject: [PATCH] update kernel mode detection macro --- include/gsl/gsl_assert | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/include/gsl/gsl_assert b/include/gsl/gsl_assert index 7efa84e..96eaada 100644 --- a/include/gsl/gsl_assert +++ b/include/gsl/gsl_assert @@ -21,7 +21,7 @@ // Temporary until MSVC STL supports no-exceptions mode. // Currently terminate is a no-op in this mode, so we add termination behavior back // -#if defined(_MSC_VER) && defined(_HAS_EXCEPTIONS) && !_HAS_EXCEPTIONS +#if defined(_MSC_VER) && (defined(_KERNEL_MODE) || (defined(_HAS_EXCEPTIONS) && !_HAS_EXCEPTIONS)) #define GSL_MSVC_USE_STL_NOEXCEPTION_WORKAROUND #include @@ -31,9 +31,12 @@ #pragma clang diagnostic push #pragma clang diagnostic ignored "-Winvalid-noreturn" #endif // defined(__clang__) -#else + +#else // defined(_MSC_VER) && (defined(_KERNEL_MODE) || (defined(_HAS_EXCEPTIONS) && !_HAS_EXCEPTIONS)) + #include -#endif // !defined(_MSC_VER) || !defined(_HAS_EXCEPTIONS) || _HAS_EXCEPTIONS + +#endif // defined(_MSC_VER) && (defined(_KERNEL_MODE) || (defined(_HAS_EXCEPTIONS) && !_HAS_EXCEPTIONS)) // // make suppress attributes parse for some compilers