From ac1106706695a767b9fc6d91000274d2a2f2f3c7 Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Mon, 5 Dec 2022 14:12:41 -0800 Subject: [PATCH] Enable `/clr` C++20 `` support (#3201) --- stl/inc/yvals_core.h | 4 ++-- tests/std/tests/GH_000545_include_compare/test_coroutine.cpp | 2 -- tests/std/tests/P0912R5_coroutine/env.lst | 5 ++--- .../VSO_0157762_feature_test_macros/test.compile.pass.cpp | 2 +- 4 files changed, 5 insertions(+), 8 deletions(-) diff --git a/stl/inc/yvals_core.h b/stl/inc/yvals_core.h index ad10a9d0e8..24d25b184f 100644 --- a/stl/inc/yvals_core.h +++ b/stl/inc/yvals_core.h @@ -1543,9 +1543,9 @@ _EMIT_STL_ERROR(STL1004, "C++98 unexpected() is incompatible with C++23 unexpect #define __cpp_lib_char8_t 201907L #endif // __cpp_char8_t -#if defined(__cpp_impl_coroutine) && !defined(_M_CEE) // TRANSITION, VSO-1663233 +#ifdef __cpp_impl_coroutine #define __cpp_lib_coroutine 201902L -#endif // defined(__cpp_impl_coroutine) && !defined(_M_CEE) +#endif // __cpp_impl_coroutine #if _HAS_CXX20 #if !defined(__EDG__) || defined(__INTELLISENSE__) // TRANSITION, GH-395 diff --git a/tests/std/tests/GH_000545_include_compare/test_coroutine.cpp b/tests/std/tests/GH_000545_include_compare/test_coroutine.cpp index e9142637da..198678b741 100644 --- a/tests/std/tests/GH_000545_include_compare/test_coroutine.cpp +++ b/tests/std/tests/GH_000545_include_compare/test_coroutine.cpp @@ -1,12 +1,10 @@ // Copyright (c) Microsoft Corporation. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -#ifndef _M_CEE // TRANSITION, VSO-1663233 #include // Testing LWG-3330 "Include from most library headers" by intentionally NOT including static_assert(std::is_eq(std::partial_ordering::equivalent)); -#endif // _M_CEE void test_coroutine() {} diff --git a/tests/std/tests/P0912R5_coroutine/env.lst b/tests/std/tests/P0912R5_coroutine/env.lst index bee9d37c45..29bdc94d05 100644 --- a/tests/std/tests/P0912R5_coroutine/env.lst +++ b/tests/std/tests/P0912R5_coroutine/env.lst @@ -19,9 +19,8 @@ PM_CL="/EHsc /MD /std:c++latest /permissive" PM_CL="/EHsc /MD /std:c++latest /permissive-" PM_CL="/EHsc /MTd /std:c++latest /permissive- /Zc:preprocessor" PM_CL="/EHsc /MD /std:c++latest /permissive- /analyze:only /analyze:autolog-" -# TRANSITION, VSO-1663233 -# PM_CL="/clr /MD /std:c++20 /d1clrcxxstd" -# PM_CL="/clr /MDd /std:c++20 /d1clrcxxstd" +PM_CL="/clr /MD /std:c++20 /d1clrcxxstd" +PM_CL="/clr /MDd /std:c++20 /d1clrcxxstd" PM_CL="/BE /c /EHsc /MD /std:c++20 /permissive-" PM_CL="/BE /c /EHsc /MTd /std:c++latest /permissive-" PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MD /std:c++20 /permissive-" diff --git a/tests/std/tests/VSO_0157762_feature_test_macros/test.compile.pass.cpp b/tests/std/tests/VSO_0157762_feature_test_macros/test.compile.pass.cpp index 80265e0975..59b2ebcc03 100644 --- a/tests/std/tests/VSO_0157762_feature_test_macros/test.compile.pass.cpp +++ b/tests/std/tests/VSO_0157762_feature_test_macros/test.compile.pass.cpp @@ -704,7 +704,7 @@ STATIC_ASSERT(__cpp_lib_containers_ranges == 202202L); #endif #endif -#if defined(__cpp_impl_coroutine) && !defined(_M_CEE) // TRANSITION, VSO-1663233 +#ifdef __cpp_impl_coroutine #ifndef __cpp_lib_coroutine #error __cpp_lib_coroutine is not defined #elif __cpp_lib_coroutine != 201902L