From: Arsen Arsenović Date: Wed, 28 Sep 2022 19:30:11 +0000 (+0200) Subject: libstdc++: Re-enable std::hash in freestanding [PR103626] X-Git-Tag: basepoints/gcc-14~4166 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=54fd7d81709c5f50537128d3978b4c642b68a711;p=thirdparty%2Fgcc.git libstdc++: Re-enable std::hash in freestanding [PR103626] PR libstdc++/103626 - _GLIBCXX_HOSTED should respect -ffreestanding libstdc++-v3/ChangeLog: PR libstdc++/103626 * include/std/bitset [!_GLIBCXX_HOSTED]: Re-enable std::hash. * testsuite/20_util/bitset/cons/constexpr_c++23.cc: Require ET hosted. * testsuite/20_util/bitset/ext/constexpr.cc: Likewise. --- diff --git a/libstdc++-v3/include/std/bitset b/libstdc++-v3/include/std/bitset index 1038cc65138c..10fb05a1b902 100644 --- a/libstdc++-v3/include/std/bitset +++ b/libstdc++-v3/include/std/bitset @@ -52,9 +52,10 @@ # include # include # include -# if __cplusplus >= 201103L -# include -# endif +#endif + +#if __cplusplus >= 201103L +# include #endif #define _GLIBCXX_BITSET_BITS_PER_WORD (__CHAR_BIT__ * __SIZEOF_LONG__) @@ -1664,7 +1665,7 @@ _GLIBCXX_END_NAMESPACE_CONTAINER #undef _GLIBCXX_BITSET_BITS_PER_WORD #undef _GLIBCXX_BITSET_BITS_PER_ULL -#if __cplusplus >= 201103L && _GLIBCXX_HOSTED +#if __cplusplus >= 201103L namespace std _GLIBCXX_VISIBILITY(default) { diff --git a/libstdc++-v3/testsuite/20_util/bitset/cons/constexpr_c++23.cc b/libstdc++-v3/testsuite/20_util/bitset/cons/constexpr_c++23.cc index 532fc9dc4d57..d308c2b2f10d 100644 --- a/libstdc++-v3/testsuite/20_util/bitset/cons/constexpr_c++23.cc +++ b/libstdc++-v3/testsuite/20_util/bitset/cons/constexpr_c++23.cc @@ -1,5 +1,7 @@ // { dg-options "-std=gnu++23" } // { dg-do compile { target c++23 } } +// This test relies on std::string. +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/bitset/ext/constexpr.cc b/libstdc++-v3/testsuite/20_util/bitset/ext/constexpr.cc index f82e7aa409a1..4bacefad14ad 100644 --- a/libstdc++-v3/testsuite/20_util/bitset/ext/constexpr.cc +++ b/libstdc++-v3/testsuite/20_util/bitset/ext/constexpr.cc @@ -1,5 +1,7 @@ // { dg-options "-std=gnu++23" } // { dg-do compile { target c++23 } } +// This test relies on std::string. +// { dg-require-effective-target hosted } #include #include