Skip to content

Commit 8c40741

Browse files
Reported VSO-1663233 "/clr C++20 rejects <coroutine> with error C3861 "'__builtin_coro_done': identifier not found" instead of falling back to native codegen".
1 parent 7a05c9a commit 8c40741

File tree

4 files changed

+8
-5
lines changed

4 files changed

+8
-5
lines changed

stl/inc/yvals_core.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1542,9 +1542,9 @@ _EMIT_STL_ERROR(STL1004, "C++98 unexpected() is incompatible with C++23 unexpect
15421542
#define __cpp_lib_char8_t 201907L
15431543
#endif // __cpp_char8_t
15441544

1545-
#ifdef __cpp_impl_coroutine
1545+
#if defined(__cpp_impl_coroutine) && !defined(_M_CEE) // TRANSITION, VSO-1663233
15461546
#define __cpp_lib_coroutine 201902L
1547-
#endif // __cpp_impl_coroutine
1547+
#endif // defined(__cpp_impl_coroutine) && !defined(_M_CEE)
15481548

15491549
#if _HAS_CXX20
15501550
#if !defined(__EDG__) || defined(__INTELLISENSE__) // TRANSITION, GH-395
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
// Copyright (c) Microsoft Corporation.
22
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
33

4+
#ifndef _M_CEE // TRANSITION, VSO-1663233
45
#include <coroutine>
56

67
// Testing LWG-3330 "Include <compare> from most library headers" by intentionally NOT including <compare>
78

89
static_assert(std::is_eq(std::partial_ordering::equivalent));
10+
#endif // _M_CEE
911

1012
void test_coroutine() {}

tests/std/tests/P0912R5_coroutine/env.lst

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,9 @@ PM_CL="/EHsc /MD /std:c++latest /permissive"
1919
PM_CL="/EHsc /MD /std:c++latest /permissive-"
2020
PM_CL="/EHsc /MTd /std:c++latest /permissive- /Zc:preprocessor"
2121
PM_CL="/EHsc /MD /std:c++latest /permissive- /analyze:only /analyze:autolog-"
22-
PM_CL="/clr /MD /std:c++20 /d1clrcxxstd"
23-
PM_CL="/clr /MDd /std:c++20 /d1clrcxxstd"
22+
# TRANSITION, VSO-1663233
23+
# PM_CL="/clr /MD /std:c++20 /d1clrcxxstd"
24+
# PM_CL="/clr /MDd /std:c++20 /d1clrcxxstd"
2425
PM_CL="/BE /c /EHsc /MD /std:c++20 /permissive-"
2526
PM_CL="/BE /c /EHsc /MTd /std:c++latest /permissive-"
2627
PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MD /std:c++20 /permissive-"

tests/std/tests/VSO_0157762_feature_test_macros/test.compile.pass.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -704,7 +704,7 @@ STATIC_ASSERT(__cpp_lib_containers_ranges == 202202L);
704704
#endif
705705
#endif
706706

707-
#ifdef __cpp_impl_coroutine
707+
#if defined(__cpp_impl_coroutine) && !defined(_M_CEE) // TRANSITION, VSO-1663233
708708
#ifndef __cpp_lib_coroutine
709709
#error __cpp_lib_coroutine is not defined
710710
#elif __cpp_lib_coroutine != 201902L

0 commit comments

Comments
 (0)