1717
1818// IWYU pragma: always_keep
1919
20- #if __cplusplus < 2020'02L
20+ #if __cplusplus < 202002L
2121# if defined(_MSC_VER) && !defined(__clang__)
2222# error This library requires the use of C++20. Use /Zc:__cplusplus to enable __cplusplus conformance.
2323# else
114114
115115// Not all supported compilers have implemented the resolution of CWG 2428 yet.
116116// https://cplusplus.github.io/CWG/issues/2428.html
117- #if (STDEXEC_CLANG_VERSION >= 19'00 ) || (STDEXEC_GCC_VERSION >= 13'00) \
118- || (STDEXEC_MSVC_VERSION >= 19'44 )
117+ #if (STDEXEC_CLANG_VERSION >= 1900 ) || (STDEXEC_GCC_VERSION >= 1300) \
118+ || (STDEXEC_MSVC_VERSION >= 1944 )
119119# define STDEXEC_DEPRECATE_CONCEPT (_MSG ) [[deprecated(_MSG)]]
120120#else
121121# define STDEXEC_DEPRECATE_CONCEPT (_MSG )
@@ -232,7 +232,7 @@ STDEXEC_NAMESPACE_STD_END
232232// clang-format on
233233
234234// //////////////////////////////////////////////////////////////////////////////////////////////////
235- #if __cpp_impl_coroutine >= 2019'02L && __cpp_lib_coroutine >= 2019'02L
235+ #if __cpp_impl_coroutine >= 201902L && __cpp_lib_coroutine >= 201902L
236236# include < coroutine> // IWYU pragma: keep
237237# define STDEXEC_NO_STDCPP_COROUTINES () 0
238238namespace STDEXEC ::__std
@@ -292,22 +292,22 @@ namespace STDEXEC::__std
292292
293293#if STDEXEC_NVHPC()
294294// NVBUG #4067067: NVHPC does not fully support [[no_unique_address]]
295- # if STDEXEC_NVHPC_VERSION < 23'05
295+ # if STDEXEC_NVHPC_VERSION < 2305
296296# define STDEXEC_ATTR_WHICH_3 (_ATTR ) /* nothing*/
297297# else
298298# define STDEXEC_ATTR_WHICH_3 (_ATTR ) [[no_unique_address]]
299299# endif
300300#elif STDEXEC_CLANG_CL()
301301// clang-cl does not support [[no_unique_address]]: https://reviews.llvm.org/D110485
302302// TODO: Find the version that started supporting [[msvc::no_unique_address]]
303- # if STDEXEC_CLANG_VERSION < 18'01
303+ # if STDEXEC_CLANG_VERSION < 1801
304304# define STDEXEC_ATTR_WHICH_3 (_ATTR ) /* nothing*/
305305# else
306306# define STDEXEC_ATTR_WHICH_3 (_ATTR ) [[msvc::no_unique_address]]
307307# endif
308308#elif STDEXEC_MSVC()
309309// MSVCBUG https://developercommunity.visualstudio.com/t/Incorrect-codegen-when-using-msvc::no_/10452874
310- # if STDEXEC_MSVC_VERSION < 19'43
310+ # if STDEXEC_MSVC_VERSION < 1943
311311# define STDEXEC_ATTR_WHICH_3 (_ATTR ) /* nothing*/
312312# else
313313# define STDEXEC_ATTR_WHICH_3 (_ATTR ) [[msvc::no_unique_address]]
@@ -438,7 +438,7 @@ namespace STDEXEC::__std
438438# define STDEXEC_IS_TRIVIALLY_COPYABLE (...) std::is_trivially_copyable_v<__VA_ARGS__>
439439#endif
440440
441- #if STDEXEC_HAS_BUILTIN(__is_base_of) || (STDEXEC_MSVC_VERSION >= 19'14 )
441+ #if STDEXEC_HAS_BUILTIN(__is_base_of) || (STDEXEC_MSVC_VERSION >= 1914 )
442442# define STDEXEC_IS_BASE_OF (...) __is_base_of(__VA_ARGS__)
443443#else
444444# define STDEXEC_IS_BASE_OF (...) std::is_base_of_v<__VA_ARGS__>
@@ -535,7 +535,7 @@ namespace STDEXEC
535535 inline constexpr bool __same_as_v<_Ap, _Ap> = true ;
536536} // namespace STDEXEC
537537
538- #if defined(__cpp_lib_unreachable) && __cpp_lib_unreachable >= 2022'02L
538+ #if defined(__cpp_lib_unreachable) && __cpp_lib_unreachable >= 202202L
539539# define STDEXEC_UNREACHABLE () std::unreachable()
540540#elif STDEXEC_HAS_BUILTIN(__builtin_unreachable)
541541# define STDEXEC_UNREACHABLE () __builtin_unreachable()
@@ -577,7 +577,7 @@ namespace STDEXEC
577577// available. Pack indexing is disabled for clang < 20 because of:
578578// https://github.com/llvm/llvm-project/issues/116105
579579#if defined(__cpp_pack_indexing) && !STDEXEC_NVCC() \
580- && !(STDEXEC_CLANG() && STDEXEC_CLANG_VERSION < 20'00 )
580+ && !(STDEXEC_CLANG() && STDEXEC_CLANG_VERSION < 2000 )
581581# define STDEXEC_NO_STDCPP_PACK_INDEXING () 0
582582#else // ^^^ has pack indexing ^^^ / vvv no pack indexing vvv
583583# define STDEXEC_NO_STDCPP_PACK_INDEXING () 1
@@ -591,8 +591,8 @@ namespace STDEXEC
591591
592592// Before clang-16, clang did not like libstdc++'s ranges implementation
593593#if __has_include(<ranges>) && \
594- (defined (__cpp_lib_ranges) && __cpp_lib_ranges >= 2019'11L ) && \
595- (!STDEXEC_CLANG() || STDEXEC_CLANG_VERSION >= 16'00 || defined (_LIBCPP_VERSION))
594+ (defined (__cpp_lib_ranges) && __cpp_lib_ranges >= 201911L ) && \
595+ (!STDEXEC_CLANG() || STDEXEC_CLANG_VERSION >= 1600 || defined (_LIBCPP_VERSION))
596596# define STDEXEC_NO_STDCPP_RANGES () 0
597597#else
598598# define STDEXEC_NO_STDCPP_RANGES () 1
@@ -605,31 +605,31 @@ namespace STDEXEC
605605# define STDEXEC_NO_STDCPP_MEMORY_RESOURCE () 1
606606#endif
607607
608- #if defined(__cpp_lib_execution) && __cpp_lib_execution >= 2016'03L
608+ #if defined(__cpp_lib_execution) && __cpp_lib_execution >= 201603L
609609# define STDEXEC_NO_STDCPP_EXECUTION_POLICY () 0
610610#else
611611# define STDEXEC_NO_STDCPP_EXECUTION_POLICY () 1
612612#endif
613613
614- #if defined(__cpp_lib_execution) && __cpp_lib_execution >= 2019'02L
614+ #if defined(__cpp_lib_execution) && __cpp_lib_execution >= 201902L
615615# define STDEXEC_NO_STDCPP_UNSEQUENCED_EXECUTION_POLICY () 0
616616#else
617617# define STDEXEC_NO_STDCPP_UNSEQUENCED_EXECUTION_POLICY () 1
618618#endif
619619
620- #if defined(__cpp_lib_parallel_algorithm) && __cpp_lib_parallel_algorithm >= 2016'03L
620+ #if defined(__cpp_lib_parallel_algorithm) && __cpp_lib_parallel_algorithm >= 201603L
621621# define STDEXEC_NO_STDCPP_PARALLEL_ALGORITHMS () 0
622622#else
623623# define STDEXEC_NO_STDCPP_PARALLEL_ALGORITHMS () 1
624624#endif
625625
626- #if defined(__cpp_explicit_this_parameter) && (__cpp_explicit_this_parameter >= 2021'10L )
626+ #if defined(__cpp_explicit_this_parameter) && (__cpp_explicit_this_parameter >= 202110L )
627627# define STDEXEC_NO_STDCPP_EXPLICIT_THIS_PARAMETER () 0
628628#else
629629# define STDEXEC_NO_STDCPP_EXPLICIT_THIS_PARAMETER () 1
630630#endif
631631
632- #if defined(__cpp_rtti) && __cpp_rtti >= 1997'11L
632+ #if defined(__cpp_rtti) && __cpp_rtti >= 199711L
633633# define STDEXEC_NO_STDCPP_RTTI () 0
634634#else
635635# define STDEXEC_NO_STDCPP_RTTI () 1
@@ -643,13 +643,13 @@ namespace STDEXEC
643643#endif
644644
645645// Perhaps the stdlib lacks support for concepts
646- #if __has_include(<concepts>) && __cpp_lib_concepts >= 2020'02L
646+ #if __has_include(<concepts>) && __cpp_lib_concepts >= 202002L
647647# define STDEXEC_NO_STDCPP_CONCEPTS_HEADER () 0
648648#else
649649# define STDEXEC_NO_STDCPP_CONCEPTS_HEADER () 1
650650#endif
651651
652- #if defined(__cpp_if_consteval) && __cpp_if_consteval >= 2021'06L
652+ #if defined(__cpp_if_consteval) && __cpp_if_consteval >= 202106L
653653# define STDEXEC_IF_CONSTEVAL if consteval
654654# define STDEXEC_IF_NOT_CONSTEVAL if !consteval
655655#else
@@ -679,7 +679,7 @@ namespace STDEXEC
679679 }
680680
681681// GCC 13 implements lexical friendship, but it is incomplete. See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111018
682- #if STDEXEC_CLANG() // || (STDEXEC_GCC() && STDEXEC_GCC_VERSION >= 13'00 )
682+ #if STDEXEC_CLANG() // || (STDEXEC_GCC() && STDEXEC_GCC_VERSION >= 1300 )
683683# define STDEXEC_FRIENDSHIP_IS_LEXICAL () 1
684684#else
685685# define STDEXEC_FRIENDSHIP_IS_LEXICAL () 0
@@ -701,7 +701,7 @@ namespace STDEXEC
701701# define STDEXEC_NO_STDCPP_EXCEPTIONS () (__EXCEPTIONS == 0 )
702702#endif
703703
704- #if defined(__cpp_constexpr_exceptions) && __cpp_constexpr_exceptions >= 2024'11L
704+ #if defined(__cpp_constexpr_exceptions) && __cpp_constexpr_exceptions >= 202411L
705705# if !STDEXEC_NO_STDCPP_EXCEPTIONS()
706706// https://wg21.link/p3068
707707# define STDEXEC_NO_STDCPP_CONSTEXPR_EXCEPTIONS () 0
@@ -872,7 +872,7 @@ namespace STDEXEC
872872
873873// //////////////////////////////////////////////////////////////////////////////////////////////////
874874#if STDEXEC_MSVC()
875- # if _MSC_VER >= 19'35
875+ # if _MSC_VER >= 1935
876876# define STDEXEC_PRETTY_FUNCTION () __builtin_FUNCSIG()
877877# else
878878# define STDEXEC_PRETTY_FUNCTION () __FUNCSIG__
@@ -881,7 +881,7 @@ namespace STDEXEC
881881# define STDEXEC_PRETTY_FUNCTION () __PRETTY_FUNCTION__
882882#endif
883883
884- #if __cplusplus >= 2022'11L
884+ #if __cplusplus >= 202211L
885885# define STDEXEC_CONSTEXPR_CXX23 constexpr
886886# define STDEXEC_CONSTEXPR_LOCAL static constexpr
887887#else
0 commit comments