You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
gsl_assert automaticaly uses __fastfail instead of std::terminate if it detects that
the compiler is MSVC and
exceptions are disabled (either due to compilation in kernel mode or user mode with explicit disabling).
This is fine for the normal case (which I think is MSVC+Dinkumware), but in my case (MSVC+EASTL in kernel mode), it causes problems. I do want custom code to run on contract violation, which I can do by implementing std::terminate in a compatible way. However, I cannot achieve this since the autodetection overrules calling terminate. If I could define GSL_MSVC_USE_STL_NOEXCEPTION_WORKAROUND to 0 beforehand and thereby skip the autodetection, this would be very helpful.
The text was updated successfully, but these errors were encountered:
gsl_assert automaticaly uses
__fastfail
instead ofstd::terminate
if it detects thatThis is fine for the normal case (which I think is MSVC+Dinkumware), but in my case (MSVC+EASTL in kernel mode), it causes problems. I do want custom code to run on contract violation, which I can do by implementing
std::terminate
in a compatible way. However, I cannot achieve this since the autodetection overrules calling terminate. If I could defineGSL_MSVC_USE_STL_NOEXCEPTION_WORKAROUND
to 0 beforehand and thereby skip the autodetection, this would be very helpful.The text was updated successfully, but these errors were encountered: