https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115838
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> ---
We might be able to just disable the new code for clang 17 like this:
diff --git a/libstdc++-v3/include/bits/version.def
b/libstdc++-v3/include/bits/version.def
index 0604bc2c520..fc2fa0c195f 100644
--- a/libstdc++-v3/include/bits/version.def
+++ b/libstdc++-v3/include/bits/version.def
@@ -1766,6 +1766,7 @@ ftms = {
values = {
v = 202207;
cxxmin = 23;
+ extra_cond = "! defined __clang__ || __clang > 17";
};
};
diff --git a/libstdc++-v3/include/bits/version.h
b/libstdc++-v3/include/bits/version.h
index e9ccc116f9f..e83e79596e1 100644
--- a/libstdc++-v3/include/bits/version.h
+++ b/libstdc++-v3/include/bits/version.h
@@ -1939,7 +1939,7 @@
#undef __glibcxx_want_to_underlying
#if !defined(__cpp_lib_tuple_like)
-# if (__cplusplus >= 202100L)
+# if (__cplusplus >= 202100L) && (! defined __clang__ || __clang > 17)
# define __glibcxx_tuple_like 202207L
# if defined(__glibcxx_want_all) || defined(__glibcxx_want_tuple_like)
# define __cpp_lib_tuple_like 202207L