diff --git a/stl/inc/any b/stl/inc/any index 04e9fed839a..326414d9840 100644 --- a/stl/inc/any +++ b/stl/inc/any @@ -58,7 +58,7 @@ inline constexpr bool _Any_is_small = alignof(_Ty) <= alignof(max_align_t) enum class _Any_representation : uintptr_t { _Trivial, _Big, _Small }; struct _Any_big_RTTI { // Hand-rolled vtable for types that must be heap allocated in an any - using _Destroy_fn = void __CLRCALL_PURE_OR_CDECL(void*) noexcept; + using _Destroy_fn = void __CLRCALL_PURE_OR_CDECL(void*) _NOEXCEPT_FNPTR; using _Copy_fn = void* __CLRCALL_PURE_OR_CDECL(const void*); template @@ -76,9 +76,9 @@ struct _Any_big_RTTI { // Hand-rolled vtable for types that must be heap allocat }; struct _Any_small_RTTI { // Hand-rolled vtable for nontrivial types that can be stored internally in an any - using _Destroy_fn = void __CLRCALL_PURE_OR_CDECL(void*) noexcept; + using _Destroy_fn = void __CLRCALL_PURE_OR_CDECL(void*) _NOEXCEPT_FNPTR; using _Copy_fn = void __CLRCALL_PURE_OR_CDECL(void*, const void*); - using _Move_fn = void __CLRCALL_PURE_OR_CDECL(void*, void*) noexcept; + using _Move_fn = void __CLRCALL_PURE_OR_CDECL(void*, void*) _NOEXCEPT_FNPTR; template static void __CLRCALL_PURE_OR_CDECL _Destroy_impl(void* const _Target) noexcept { diff --git a/stl/inc/xatomic_wait.h b/stl/inc/xatomic_wait.h index 266aae0c9f8..caeb3fdaf9d 100644 --- a/stl/inc/xatomic_wait.h +++ b/stl/inc/xatomic_wait.h @@ -49,7 +49,7 @@ void __stdcall __std_atomic_notify_all_direct(const void* _Storage) noexcept; // of one of those sizes whose value changes upon notify, hence "indirect". (As of 2020-07-24, this always uses the // fallback SRWLOCK and CONDITION_VARIABLE implementation but that is not contractual.) using _Atomic_wait_indirect_equal_callback_t = bool(__stdcall*)( - const void* _Storage, void* _Comparand, size_t _Size, void* _Param) noexcept; + const void* _Storage, void* _Comparand, size_t _Size, void* _Param) _NOEXCEPT_FNPTR; int __stdcall __std_atomic_wait_indirect(const void* _Storage, void* _Comparand, size_t _Size, void* _Param, _Atomic_wait_indirect_equal_callback_t _Are_equal, unsigned long _Remaining_timeout) noexcept; diff --git a/stl/inc/yvals_core.h b/stl/inc/yvals_core.h index 3239d8eb259..c727be4b866 100644 --- a/stl/inc/yvals_core.h +++ b/stl/inc/yvals_core.h @@ -1277,5 +1277,11 @@ compiler option, or define _ALLOW_RTCc_IN_STL to acknowledge that you have recei #endif // ^^^ !defined(_M_ARM) && !defined(_M_ARM64) && !defined(_ONECORE) && !defined(_CRT_APP) ^^^ #endif // _STL_WIN32_WINNT +#ifdef __cpp_noexcept_function_type +#define _NOEXCEPT_FNPTR noexcept +#else +#define _NOEXCEPT_FNPTR +#endif // __cpp_noexcept_function_type + #endif // _STL_COMPILER_PREPROCESSOR #endif // _YVALS_CORE_H_ diff --git a/tests/std/tests/Dev11_0535636_functional_overhaul/test.cpp b/tests/std/tests/Dev11_0535636_functional_overhaul/test.cpp index 4369fb7fb11..ac438c39421 100644 --- a/tests/std/tests/Dev11_0535636_functional_overhaul/test.cpp +++ b/tests/std/tests/Dev11_0535636_functional_overhaul/test.cpp @@ -1096,28 +1096,32 @@ void test_invoke() { assert(invoke(&Thing::sum, sp, 6) == 1026); STATIC_ASSERT(!noexcept(invoke(&Thing::sum, sp, 6) == 1026)); -#if _HAS_CXX17 + constexpr bool noexcept_is_in_the_type_system = +#ifdef __cpp_noexcept_function_type + true +#else + false +#endif // __cpp_noexcept_function_type + ; + assert(invoke(&Thing::sum_noexcept, *sp, 3) == 1023); - STATIC_ASSERT(noexcept(invoke(&Thing::sum_noexcept, *sp, 3) == 1023)); + STATIC_ASSERT(noexcept(invoke(&Thing::sum_noexcept, *sp, 3) == 1023) == noexcept_is_in_the_type_system); assert(invoke(&Thing::sum_noexcept, ref(*sp), 4) == 1024); - STATIC_ASSERT(noexcept(invoke(&Thing::sum_noexcept, ref(*sp), 4) == 1024)); + STATIC_ASSERT(noexcept(invoke(&Thing::sum_noexcept, ref(*sp), 4) == 1024) == noexcept_is_in_the_type_system); assert(invoke(&Thing::sum_noexcept, sp.get(), 5) == 1025); - STATIC_ASSERT(noexcept(invoke(&Thing::sum_noexcept, sp.get(), 5) == 1025)); + STATIC_ASSERT(noexcept(invoke(&Thing::sum_noexcept, sp.get(), 5) == 1025) == noexcept_is_in_the_type_system); assert(invoke(&Thing::sum_noexcept, sp, 6) == 1026); - STATIC_ASSERT(noexcept(invoke(&Thing::sum_noexcept, sp, 6) == 1026)); -#endif // _HAS_CXX17 + STATIC_ASSERT(noexcept(invoke(&Thing::sum_noexcept, sp, 6) == 1026) == noexcept_is_in_the_type_system); assert(invoke(square, 6) == 36); STATIC_ASSERT(!noexcept(invoke(square, 6) == 36)); assert(invoke(&cube, 7) == 343); STATIC_ASSERT(!noexcept(invoke(&cube, 7) == 343)); -#if _HAS_CXX17 assert(invoke(square_noexcept, 6) == 36); - STATIC_ASSERT(noexcept(invoke(square_noexcept, 6) == 36)); + STATIC_ASSERT(noexcept(invoke(square_noexcept, 6) == 36) == noexcept_is_in_the_type_system); assert(invoke(&cube_noexcept, 7) == 343); - STATIC_ASSERT(noexcept(invoke(&cube_noexcept, 7) == 343)); -#endif // _HAS_CXX17 + STATIC_ASSERT(noexcept(invoke(&cube_noexcept, 7) == 343) == noexcept_is_in_the_type_system); } diff --git a/tests/std/tests/P0088R3_variant/env.lst b/tests/std/tests/P0088R3_variant/env.lst index 2d80e9188f7..69d9b38ac9e 100644 --- a/tests/std/tests/P0088R3_variant/env.lst +++ b/tests/std/tests/P0088R3_variant/env.lst @@ -9,13 +9,13 @@ RUNALL_INCLUDE ..\prefix.lst RUNALL_CROSSLIST PM_CL="/w14640 /Zc:threadSafeInit-" RUNALL_CROSSLIST -PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /DCONSTEXPR_NOTHROW" +PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /Zc:noexceptTypes- /DCONSTEXPR_NOTHROW" PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++17 /DCONSTEXPR_NOTHROW" PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=1 /std:c++latest /DCONSTEXPR_NOTHROW" -PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /Zc:char8_t- /DCONSTEXPR_NOTHROW" +PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /Zc:char8_t- /Zc:preprocessor /DCONSTEXPR_NOTHROW" PM_CL="/EHsc /MDd /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /Zc:wchar_t- /DCONSTEXPR_NOTHROW" PM_CL="/EHsc /MDd /D_ITERATOR_DEBUG_LEVEL=1 /std:c++latest /DCONSTEXPR_NOTHROW" -PM_CL="/EHsc /MDd /D_ITERATOR_DEBUG_LEVEL=2 /std:c++latest /fp:except /DCONSTEXPR_NOTHROW" +PM_CL="/EHsc /MDd /D_ITERATOR_DEBUG_LEVEL=2 /std:c++latest /fp:except /Zc:preprocessor /DCONSTEXPR_NOTHROW" PM_CL="/EHsc /MDd /D_ITERATOR_DEBUG_LEVEL=2 /std:c++17 /permissive-" PM_CL="/EHsc /MT /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /await /DCONSTEXPR_NOTHROW" PM_CL="/EHsc /MT /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /analyze:only /DCONSTEXPR_NOTHROW" diff --git a/tests/std/tests/VSO_0105317_expression_sfinae/test.cpp b/tests/std/tests/VSO_0105317_expression_sfinae/test.cpp index d127b90276f..e65467d1dd5 100644 --- a/tests/std/tests/VSO_0105317_expression_sfinae/test.cpp +++ b/tests/std/tests/VSO_0105317_expression_sfinae/test.cpp @@ -512,19 +512,27 @@ STATIC_ASSERT(is_invocable_v); STATIC_ASSERT(is_nothrow_invocable_v); // Test noexcept function types. -using FP_noexcept = int (*)(int) noexcept; -using FR_noexcept = int (&)(int) noexcept; -using PMF_noexcept = int (X::*)(int) noexcept; +#ifdef __cpp_noexcept_function_type +using FP_noexcept = int (*)(int) noexcept; +using FR_noexcept = int (&)(int) noexcept; +using PMF_noexcept = int (X::*)(int) noexcept; +inline constexpr bool noexcept_in_the_type_system = true; +#else // ^^^ __cpp_noexcept_function_type // !__cpp_noexcept_function_type vvv +using FP_noexcept = int (*)(int); +using FR_noexcept = int (&)(int); +using PMF_noexcept = int (X::*)(int); +inline constexpr bool noexcept_in_the_type_system = false; +#endif // __cpp_noexcept_function_type STATIC_ASSERT(is_invocable_v); STATIC_ASSERT(!is_nothrow_invocable_v); STATIC_ASSERT(is_invocable_v); -STATIC_ASSERT(is_nothrow_invocable_v); +STATIC_ASSERT(is_nothrow_invocable_v == noexcept_in_the_type_system); STATIC_ASSERT(is_invocable_v); STATIC_ASSERT(!is_nothrow_invocable_v); STATIC_ASSERT(is_invocable_v); -STATIC_ASSERT(is_nothrow_invocable_v); +STATIC_ASSERT(is_nothrow_invocable_v == noexcept_in_the_type_system); STATIC_ASSERT(is_invocable_v); STATIC_ASSERT(!is_nothrow_invocable_v); @@ -533,11 +541,11 @@ STATIC_ASSERT(!is_nothrow_invocable_v, int>); STATIC_ASSERT(is_invocable_v); STATIC_ASSERT(!is_nothrow_invocable_v); STATIC_ASSERT(is_invocable_v); -STATIC_ASSERT(is_nothrow_invocable_v); +STATIC_ASSERT(is_nothrow_invocable_v == noexcept_in_the_type_system); STATIC_ASSERT(is_invocable_v, int>); -STATIC_ASSERT(is_nothrow_invocable_v, int>); +STATIC_ASSERT(is_nothrow_invocable_v, int> == noexcept_in_the_type_system); STATIC_ASSERT(is_invocable_v); -STATIC_ASSERT(is_nothrow_invocable_v); +STATIC_ASSERT(is_nothrow_invocable_v == noexcept_in_the_type_system); struct Conv_noexcept1 { operator FP() noexcept; @@ -558,7 +566,7 @@ STATIC_ASSERT(!is_nothrow_invocable_v); STATIC_ASSERT(is_invocable_v); STATIC_ASSERT(!is_nothrow_invocable_v); STATIC_ASSERT(is_invocable_v); -STATIC_ASSERT(is_nothrow_invocable_v); +STATIC_ASSERT(is_nothrow_invocable_v == noexcept_in_the_type_system); // Test argument conversions. struct Okay_noexcept { @@ -568,7 +576,7 @@ struct Okay_noexcept { STATIC_ASSERT(is_invocable_v); STATIC_ASSERT(!is_nothrow_invocable_v); STATIC_ASSERT(is_invocable_v); -STATIC_ASSERT(is_nothrow_invocable_v); +STATIC_ASSERT(is_nothrow_invocable_v == noexcept_in_the_type_system); // When the return type is non-void, does the invocation throw? STATIC_ASSERT(is_invocable_r_v); diff --git a/tests/std/tests/concepts_matrix.lst b/tests/std/tests/concepts_matrix.lst index 8414e31b200..413ffde36bb 100644 --- a/tests/std/tests/concepts_matrix.lst +++ b/tests/std/tests/concepts_matrix.lst @@ -5,7 +5,7 @@ RUNALL_INCLUDE .\prefix.lst RUNALL_CROSSLIST PM_CL="/w14640 /Zc:threadSafeInit- /EHsc /std:c++latest" RUNALL_CROSSLIST -PM_CL="/MD /D_ITERATOR_DEBUG_LEVEL=0" +PM_CL="/MD /D_ITERATOR_DEBUG_LEVEL=0 /Zc:noexceptTypes-" PM_CL="/MD /D_ITERATOR_DEBUG_LEVEL=1" PM_CL="/MD /D_ITERATOR_DEBUG_LEVEL=0 /Zc:char8_t- /Zc:preprocessor" PM_CL="/MDd /D_ITERATOR_DEBUG_LEVEL=0 /permissive- /Zc:wchar_t-" diff --git a/tests/std/tests/eha_matrix.lst b/tests/std/tests/eha_matrix.lst index 2420d3e509b..b61e097a96f 100644 --- a/tests/std/tests/eha_matrix.lst +++ b/tests/std/tests/eha_matrix.lst @@ -14,5 +14,5 @@ PM_CL="/MDd /D_ITERATOR_DEBUG_LEVEL=2 /std:c++14 /fp:except" PM_CL="/MDd /D_ITERATOR_DEBUG_LEVEL=2 /std:c++14 /D_HAS_IF_CONSTEXPR=0" PM_CL="/MDd /D_ITERATOR_DEBUG_LEVEL=2 /std:c++17 /permissive-" PM_CL="/MT /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /await" -PM_CL="/MTd /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /fp:strict" +PM_CL="/MTd /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /fp:strict /Zc:noexceptTypes-" PM_CL="/MTd /D_ITERATOR_DEBUG_LEVEL=2 /std:c++latest /await" diff --git a/tests/std/tests/impure_matrix.lst b/tests/std/tests/impure_matrix.lst index 3567892470d..e6a04fe98da 100644 --- a/tests/std/tests/impure_matrix.lst +++ b/tests/std/tests/impure_matrix.lst @@ -8,11 +8,11 @@ RUNALL_CROSSLIST PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++14" PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++14 /D_HAS_IF_CONSTEXPR=0" PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++17" -PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=1 /std:c++latest" +PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=1 /std:c++latest /Zc:noexceptTypes-" PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /Zc:char8_t- /Zc:preprocessor" PM_CL="/EHsc /MDd /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /Zc:wchar_t-" PM_CL="/EHsc /MDd /D_ITERATOR_DEBUG_LEVEL=1 /std:c++latest" -PM_CL="/EHsc /MDd /D_ITERATOR_DEBUG_LEVEL=2 /std:c++14 /fp:except /await /Zc:preprocessor" +PM_CL="/EHsc /MDd /D_ITERATOR_DEBUG_LEVEL=2 /std:c++14 /fp:except /Zc:preprocessor" PM_CL="/EHsc /MDd /D_ITERATOR_DEBUG_LEVEL=2 /std:c++14 /D_HAS_IF_CONSTEXPR=0" PM_CL="/EHsc /MDd /D_ITERATOR_DEBUG_LEVEL=2 /std:c++17 /permissive-" PM_CL="/EHsc /MT /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /await" diff --git a/tests/std/tests/native_17_matrix.lst b/tests/std/tests/native_17_matrix.lst index a6f6089816d..032a5e62654 100644 --- a/tests/std/tests/native_17_matrix.lst +++ b/tests/std/tests/native_17_matrix.lst @@ -5,7 +5,7 @@ RUNALL_INCLUDE .\prefix.lst RUNALL_CROSSLIST PM_CL="/w14640 /Zc:threadSafeInit-" RUNALL_CROSSLIST -PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest" +PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /Zc:noexceptTypes-" PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++17" PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=1 /std:c++latest" PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /Zc:char8_t- /Zc:preprocessor" diff --git a/tests/std/tests/native_matrix.lst b/tests/std/tests/native_matrix.lst index 7c911783be2..a0eb370e189 100644 --- a/tests/std/tests/native_matrix.lst +++ b/tests/std/tests/native_matrix.lst @@ -8,7 +8,7 @@ RUNALL_CROSSLIST PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++14" PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++14 /D_HAS_IF_CONSTEXPR=0" PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++17" -PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=1 /std:c++latest" +PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=1 /std:c++latest /Zc:noexceptTypes-" PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /Zc:char8_t- /Zc:preprocessor" PM_CL="/EHsc /MDd /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /Zc:wchar_t-" PM_CL="/EHsc /MDd /D_ITERATOR_DEBUG_LEVEL=1 /std:c++latest" diff --git a/tests/std/tests/native_winsdk_matrix.lst b/tests/std/tests/native_winsdk_matrix.lst index ab9362bcda5..0ac10b060d9 100644 --- a/tests/std/tests/native_winsdk_matrix.lst +++ b/tests/std/tests/native_winsdk_matrix.lst @@ -8,7 +8,7 @@ RUNALL_CROSSLIST PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++14" PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++14 /D_HAS_IF_CONSTEXPR=0" PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++17" -PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=1 /std:c++latest" +PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=1 /std:c++latest /Zc:noexceptTypes-" # TRANSITION, GH-854 PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /Zc:char8_t- /Zc:preprocessor /wd5105" PM_CL="/EHsc /MDd /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /Zc:wchar_t-" diff --git a/tests/std/tests/usual_17_matrix.lst b/tests/std/tests/usual_17_matrix.lst index bc648e51350..8ed761a0995 100644 --- a/tests/std/tests/usual_17_matrix.lst +++ b/tests/std/tests/usual_17_matrix.lst @@ -7,7 +7,7 @@ RUNALL_INCLUDE .\prefix.lst RUNALL_CROSSLIST PM_CL="/w14640 /Zc:threadSafeInit-" RUNALL_CROSSLIST -PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest" +PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /Zc:noexceptTypes-" PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++17" PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=1 /std:c++latest" PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /Zc:char8_t- /Zc:preprocessor" diff --git a/tests/std/tests/usual_17_winsdk_matrix.lst b/tests/std/tests/usual_17_winsdk_matrix.lst index 31f7269fa7b..bdc3bbce5b2 100644 --- a/tests/std/tests/usual_17_winsdk_matrix.lst +++ b/tests/std/tests/usual_17_winsdk_matrix.lst @@ -5,7 +5,7 @@ RUNALL_INCLUDE .\prefix.lst RUNALL_CROSSLIST PM_CL="/w14640 /Zc:threadSafeInit-" RUNALL_CROSSLIST -PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest" +PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /Zc:noexceptTypes-" PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++17" PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=1 /std:c++latest" # TRANSITION, GH-854 diff --git a/tests/std/tests/usual_latest_matrix.lst b/tests/std/tests/usual_latest_matrix.lst index ac8161d8ba0..9acb6567d80 100644 --- a/tests/std/tests/usual_latest_matrix.lst +++ b/tests/std/tests/usual_latest_matrix.lst @@ -5,7 +5,7 @@ RUNALL_INCLUDE .\prefix.lst RUNALL_CROSSLIST PM_CL="/w14640 /Zc:threadSafeInit- /EHsc /std:c++latest" RUNALL_CROSSLIST -PM_CL="/MD /D_ITERATOR_DEBUG_LEVEL=0" +PM_CL="/MD /D_ITERATOR_DEBUG_LEVEL=0 /Zc:noexceptTypes-" PM_CL="/MD /D_ITERATOR_DEBUG_LEVEL=1" PM_CL="/MD /D_ITERATOR_DEBUG_LEVEL=0 /Zc:char8_t-" PM_CL="/MDd /D_ITERATOR_DEBUG_LEVEL=0 /permissive- /Zc:wchar_t- /Zc:preprocessor" diff --git a/tests/std/tests/usual_latest_winsdk_matrix.lst b/tests/std/tests/usual_latest_winsdk_matrix.lst index e579c7f41d4..e799115d32b 100644 --- a/tests/std/tests/usual_latest_winsdk_matrix.lst +++ b/tests/std/tests/usual_latest_winsdk_matrix.lst @@ -5,7 +5,7 @@ RUNALL_INCLUDE .\prefix.lst RUNALL_CROSSLIST PM_CL="/w14640 /Zc:threadSafeInit- /EHsc /std:c++latest" RUNALL_CROSSLIST -PM_CL="/MD /D_ITERATOR_DEBUG_LEVEL=0" +PM_CL="/MD /D_ITERATOR_DEBUG_LEVEL=0 /Zc:noexceptTypes-" PM_CL="/MD /D_ITERATOR_DEBUG_LEVEL=1" PM_CL="/MD /D_ITERATOR_DEBUG_LEVEL=0 /Zc:char8_t-" # TRANSITION, GH-854 diff --git a/tests/std/tests/usual_matrix.lst b/tests/std/tests/usual_matrix.lst index adc0518a505..f1e3d17e9d1 100644 --- a/tests/std/tests/usual_matrix.lst +++ b/tests/std/tests/usual_matrix.lst @@ -10,7 +10,7 @@ RUNALL_CROSSLIST PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++14 /w14640 /Zc:threadSafeInit-" PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++14 /D_HAS_IF_CONSTEXPR=0 /w14640 /Zc:threadSafeInit-" PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++17 /w14640 /Zc:threadSafeInit-" -PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=1 /std:c++latest /w14640 /Zc:threadSafeInit-" +PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=1 /std:c++latest /w14640 /Zc:threadSafeInit- /Zc:noexceptTypes-" PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /Zc:char8_t- /w14640 /Zc:threadSafeInit- /Zc:preprocessor" PM_CL="/EHsc /MDd /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /Zc:wchar_t- /w14640 /Zc:threadSafeInit-" PM_CL="/EHsc /MDd /D_ITERATOR_DEBUG_LEVEL=1 /std:c++latest /w14640 /Zc:threadSafeInit-" diff --git a/tests/std/tests/usual_winsdk_matrix.lst b/tests/std/tests/usual_winsdk_matrix.lst index 832a87aa0de..f70119e03bf 100644 --- a/tests/std/tests/usual_winsdk_matrix.lst +++ b/tests/std/tests/usual_winsdk_matrix.lst @@ -9,7 +9,7 @@ PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++17 /w14640 /Zc:threadSafeInit PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=1 /std:c++latest /w14640 /Zc:threadSafeInit-" # TRANSITION, GH-854 PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /Zc:char8_t- /w14640 /Zc:threadSafeInit- /Zc:preprocessor /wd5105" -PM_CL="/EHsc /MDd /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /Zc:wchar_t- /w14640 /Zc:threadSafeInit-" +PM_CL="/EHsc /MDd /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /Zc:wchar_t- /w14640 /Zc:threadSafeInit- /Zc:noexceptTypes-" PM_CL="/EHsc /MDd /D_ITERATOR_DEBUG_LEVEL=1 /std:c++latest /w14640 /Zc:threadSafeInit-" PM_CL="/EHsc /MDd /D_ITERATOR_DEBUG_LEVEL=2 /std:c++14 /fp:except /w14640 /Zc:threadSafeInit-" PM_CL="/EHsc /MDd /D_ITERATOR_DEBUG_LEVEL=2 /std:c++14 /D_HAS_IF_CONSTEXPR=0 /w14640 /Zc:threadSafeInit-"