From 68b6000bb19c87985aa76146a0109d1955026b3a Mon Sep 17 00:00:00 2001 From: Richard Barnes Date: Wed, 8 May 2024 10:16:29 -0700 Subject: [PATCH] Differntiate __cpp_coroutines and __cpp_impl_coroutine for LLVM-17 compatibility --- include/range/v3/detail/config.hpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/include/range/v3/detail/config.hpp b/include/range/v3/detail/config.hpp index 51bcb03b6..d718b4de2 100644 --- a/include/range/v3/detail/config.hpp +++ b/include/range/v3/detail/config.hpp @@ -530,13 +530,21 @@ namespace ranges // #endif #ifndef RANGES_CXX_COROUTINES -#if defined(__cpp_coroutines) && defined(__has_include) +#if (defined(__cpp_coroutines) || defined(__cpp_impl_coroutine)) && defined(__has_include) #if __has_include() +#if defined(__cpp_coroutines) #define RANGES_CXX_COROUTINES __cpp_coroutines +#elif defined(__cpp_impl_coroutine) +#define RANGES_CXX_COROUTINES __cpp_impl_coroutine +#endif #define RANGES_COROUTINES_HEADER #define RANGES_COROUTINES_NS std #elif __has_include() +#if defined(__cpp_coroutines) #define RANGES_CXX_COROUTINES __cpp_coroutines +#elif defined(__cpp_impl_coroutine) +#define RANGES_CXX_COROUTINES __cpp_impl_coroutine +#endif #define RANGES_COROUTINES_HEADER #define RANGES_COROUTINES_NS std::experimental #endif