diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2022-10-06 14:34:49 +0100 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2022-10-07 12:55:33 +0100 |
commit | 93b3ab6c0c6a44df50e9312c8106b4d1001d6205 (patch) | |
tree | 6004b27ea64803a5eb6f9bfc45da41d37dfd4a0a | |
parent | df78e15233c1dcf9b935c7380fc95359ebcc5562 (diff) | |
download | gcc-93b3ab6c0c6a44df50e9312c8106b4d1001d6205.zip gcc-93b3ab6c0c6a44df50e9312c8106b4d1001d6205.tar.gz gcc-93b3ab6c0c6a44df50e9312c8106b4d1001d6205.tar.bz2 |
libstdc++: Shuffle header dependencies of <functional>
The <new> header is needed by std::function to use placement new, so
include it in <bits/std_function.h> instead of in <functional>.
libstdc++-v3/ChangeLog:
* include/bits/std_function.h: Include <new> but do not include
<bits/stl_function.h>.
* include/std/functional: Do not include <new>.
-rw-r--r-- | libstdc++-v3/include/bits/std_function.h | 10 | ||||
-rw-r--r-- | libstdc++-v3/include/std/functional | 7 |
2 files changed, 8 insertions, 9 deletions
diff --git a/libstdc++-v3/include/bits/std_function.h b/libstdc++-v3/include/bits/std_function.h index f5423a3..8ab32a6 100644 --- a/libstdc++-v3/include/bits/std_function.h +++ b/libstdc++-v3/include/bits/std_function.h @@ -36,11 +36,11 @@ # include <bits/c++0x_warning.h> #else -#include <typeinfo> -#include <bits/stl_function.h> -#include <bits/invoke.h> -#include <bits/refwrap.h> -#include <bits/functexcept.h> +#include <new> // placement new +#include <typeinfo> // typeid +#include <bits/invoke.h> // __invoke_r +#include <bits/refwrap.h> // ref wrapper, _Maybe_unary_or_binary_function +#include <bits/functexcept.h> // __throw_bad_function_call namespace std _GLIBCXX_VISIBILITY(default) { diff --git a/libstdc++-v3/include/std/functional b/libstdc++-v3/include/std/functional index adf9cb1..d22acaa 100644 --- a/libstdc++-v3/include/std/functional +++ b/libstdc++-v3/include/std/functional @@ -46,11 +46,10 @@ #pragma GCC system_header #include <bits/c++config.h> -#include <bits/stl_function.h> +#include <bits/stl_function.h> // std::equal_to, std::unary_function etc. #if __cplusplus >= 201103L -#include <new> #include <tuple> #include <type_traits> #include <bits/functional_hash.h> @@ -67,8 +66,8 @@ # endif # include <bits/stl_algo.h> // std::search #endif -#if __cplusplus > 201703L -# include <bits/ranges_cmp.h> +#if __cplusplus >= 202002L +# include <bits/ranges_cmp.h> // std::identity, ranges::equal_to etc. # include <compare> #endif #if __cplusplus > 202002L && _GLIBCXX_HOSTED |