aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorakhropov <akhropov@yandex-team.com>2024-05-27 12:30:28 +0300
committerakhropov <akhropov@yandex-team.com>2024-05-27 12:38:56 +0300
commitf41275d5d9059a63659f5017a860ba8a3ceb73a8 (patch)
tree7f05b567045a7c2d6571562b4fc45728b5433404
parent89f880c2c27de159962127b46e71fed21d21f7db (diff)
downloadydb-f41275d5d9059a63659f5017a860ba8a3ceb73a8.tar.gz
Disable concepts in libcxxmsvc for MSVC toolsets >= 14.29.x as well.. #2302
8f4800b43ba453e815c1148a0197c819a13763ca
-rw-r--r--contrib/libs/cxxsupp/libcxxmsvc/include/__config3
-rw-r--r--contrib/libs/tbb/include/oneapi/tbb/detail/_config.h7
2 files changed, 8 insertions, 2 deletions
diff --git a/contrib/libs/cxxsupp/libcxxmsvc/include/__config b/contrib/libs/cxxsupp/libcxxmsvc/include/__config
index bcb49f7720..2914d9a1e2 100644
--- a/contrib/libs/cxxsupp/libcxxmsvc/include/__config
+++ b/contrib/libs/cxxsupp/libcxxmsvc/include/__config
@@ -908,7 +908,8 @@ typedef unsigned int char32_t;
# define _LIBCPP_CONSTEVAL consteval
#endif
-#if _LIBCPP_STD_VER <= 17 || !defined(__cpp_concepts) || __cpp_concepts < 201907L
+// Even modern versions of MSVC toolkit have issues compiling libc++'s concepts-related code
+#if _LIBCPP_STD_VER <= 17 || defined(_LIBCPP_COMPILER_MSVC) || !defined(__cpp_concepts) || __cpp_concepts < 201907L
#define _LIBCPP_HAS_NO_CONCEPTS
#endif
diff --git a/contrib/libs/tbb/include/oneapi/tbb/detail/_config.h b/contrib/libs/tbb/include/oneapi/tbb/detail/_config.h
index 70be660bba..05b08562c4 100644
--- a/contrib/libs/tbb/include/oneapi/tbb/detail/_config.h
+++ b/contrib/libs/tbb/include/oneapi/tbb/detail/_config.h
@@ -243,7 +243,12 @@
#elif _MSC_VER
#define __TBB_CPP14_VARIABLE_TEMPLATES_PRESENT (_MSC_FULL_VER >= 190023918 && (!__INTEL_COMPILER || __INTEL_COMPILER >= 1700))
#define __TBB_CPP17_DEDUCTION_GUIDES_PRESENT (_MSC_VER >= 1914 && __TBB_LANG >= 201703L && (!__INTEL_COMPILER || __INTEL_COMPILER > 2021))
- #define __TBB_CPP20_CONCEPTS_PRESENT (_MSC_VER >= 1923 && __TBB_LANG >= 202002L) // TODO: INTEL_COMPILER?
+ #if !defined(__cpp_lib_concepts)
+ // TBB's concepts use STL's concepts
+ #define __TBB_CPP20_CONCEPTS_PRESENT 0
+ #else
+ #define __TBB_CPP20_CONCEPTS_PRESENT (_MSC_VER >= 1923 && __TBB_LANG >= 202002L) // TODO: INTEL_COMPILER?
+ #endif
#else
#define __TBB_CPP14_VARIABLE_TEMPLATES_PRESENT (__TBB_LANG >= 201402L)
#define __TBB_CPP17_DEDUCTION_GUIDES_PRESENT (__TBB_LANG >= 201703L)