aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2022-10-06 14:34:49 +0100
committerJonathan Wakely <jwakely@redhat.com>2022-10-07 12:55:33 +0100
commit93b3ab6c0c6a44df50e9312c8106b4d1001d6205 (patch)
tree6004b27ea64803a5eb6f9bfc45da41d37dfd4a0a /libstdc++-v3
parentdf78e15233c1dcf9b935c7380fc95359ebcc5562 (diff)
downloadgcc-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>.
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/include/bits/std_function.h10
-rw-r--r--libstdc++-v3/include/std/functional7
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