When I added the new C++23 constructor I added a conditional include of <bits/ranges_base.h>, which was already being included unconditionally. This removes the unconditional include but changes the condition for the other one, so it's used for C++20 as well.
Signed-off-by: Jonathan Wakely <jwak...@redhat.com> libstdc++-v3/ChangeLog: * include/std/string_view: Only include <bits/ranges_base.h> once, and only for C++20 and later. Tested powerpc64le-linux. Committed to trunk.
commit bd1eb556b910fd4853ea83291e495d40adbcdf81 Author: Jonathan Wakely <jwak...@redhat.com> Date: Tue Jul 13 12:09:37 2021 libstdc++: Remove duplicate #include in <string_view> When I added the new C++23 constructor I added a conditional include of <bits/ranges_base.h>, which was already being included unconditionally. This removes the unconditional include but changes the condition for the other one, so it's used for C++20 as well. Signed-off-by: Jonathan Wakely <jwak...@redhat.com> libstdc++-v3/ChangeLog: * include/std/string_view: Only include <bits/ranges_base.h> once, and only for C++20 and later. diff --git a/libstdc++-v3/include/std/string_view b/libstdc++-v3/include/std/string_view index 33e2129383a..cfdcf28f026 100644 --- a/libstdc++-v3/include/std/string_view +++ b/libstdc++-v3/include/std/string_view @@ -41,11 +41,10 @@ #include <bits/char_traits.h> #include <bits/functional_hash.h> #include <bits/range_access.h> -#include <bits/ranges_base.h> #include <bits/ostream_insert.h> #include <ext/numeric_traits.h> -#if __cplusplus > 202002L +#if __cplusplus >= 202002L # include <bits/ranges_base.h> #endif