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