diff --git a/stl/inc/type_traits b/stl/inc/type_traits index 40fb40dff1..ab5bdf97b9 100644 --- a/stl/inc/type_traits +++ b/stl/inc/type_traits @@ -335,7 +335,7 @@ constexpr bool is_enum_v = __is_enum(_Ty); #if _HAS_CXX23 #if defined(__clang__) && !defined(__EDG__) \ - && __clang_major__ >= 16 // TRANSITION, DevCom-10870354, Real World Code relying on ancient Clang + && __clang_major__ >= 16 // TRANSITION, DevCom-10870354 (MSVC, EDG), VSO-2397560 (RWC relying on ancient Clang) _EXPORT_STD template constexpr bool is_scoped_enum_v = __is_scoped_enum(_Ty); diff --git a/stl/inc/yvals.h b/stl/inc/yvals.h index f6c6d4a228..9bd8b12ba1 100644 --- a/stl/inc/yvals.h +++ b/stl/inc/yvals.h @@ -244,6 +244,8 @@ _EMIT_STL_ERROR(STL1008, "_STL_CALL_ABORT_INSTEAD_OF_INVALID_PARAMETER has been #ifndef _MSVC_STL_DOOM_FUNCTION #ifdef _MSVC_STL_USE_ABORT_AS_DOOM_FUNCTION // The user wants to use abort(): #define _MSVC_STL_DOOM_FUNCTION(mesg) _CSTD abort() +#elif defined(__clang__) && __clang_major__ < 19 // TRANSITION, VSO-2397560, Real World Code relying on ancient Clang +#define _MSVC_STL_DOOM_FUNCTION(mesg) __builtin_trap() #elif defined(__clang__) // Use the Clang intrinsic: #define _MSVC_STL_DOOM_FUNCTION(mesg) __builtin_verbose_trap("MSVC STL error", mesg) #elif defined(_M_CEE) // TRANSITION, VSO-2457624 (/clr silent bad codegen for __fastfail); /clr:pure lacks __fastfail