aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2022-09-16 10:49:54 +0100
committerJonathan Wakely <jwakely@redhat.com>2022-09-16 21:23:24 +0100
commitd31e19e44009ef645f0a120043c7f84d0450b4c9 (patch)
treeaaea9741fc94b6c00566ed2497061bc522395232
parent47deb1ef874c078ac51bc1970a3324f5c8002815 (diff)
downloadgcc-d31e19e44009ef645f0a120043c7f84d0450b4c9.zip
gcc-d31e19e44009ef645f0a120043c7f84d0450b4c9.tar.gz
gcc-d31e19e44009ef645f0a120043c7f84d0450b4c9.tar.bz2
libstdc++: Make more internal headers include their own dependencies
This adds required headers to a few internal headers that currently assume their deps will be included first. It's more robust to make them include their own dependencies, so that later refactoring or reuse of those headers in new contexts doesn't break. libstdc++-v3/ChangeLog: * include/bits/stl_algo.h: Include <bits/stl_algobase.h>. * include/bits/stl_tempbuf.h: Include headers for __try and __catch macros, std::pair, and __gnu_cxx::__numeric_traits. * include/bits/stream_iterator.h: Include <iosfwd> and headers for std::addressof and std::iterator. * include/bits/streambuf_iterator.h: Include header for std::iterator. * include/std/iterator: Do not include <iosfwd>.
-rw-r--r--libstdc++-v3/include/bits/stl_algo.h1
-rw-r--r--libstdc++-v3/include/bits/stl_tempbuf.h4
-rw-r--r--libstdc++-v3/include/bits/stream_iterator.h3
-rw-r--r--libstdc++-v3/include/bits/streambuf_iterator.h1
-rw-r--r--libstdc++-v3/include/std/iterator1
5 files changed, 8 insertions, 2 deletions
diff --git a/libstdc++-v3/include/bits/stl_algo.h b/libstdc++-v3/include/bits/stl_algo.h
index 57fa1c1..9cb708a 100644
--- a/libstdc++-v3/include/bits/stl_algo.h
+++ b/libstdc++-v3/include/bits/stl_algo.h
@@ -57,6 +57,7 @@
#define _STL_ALGO_H 1
#include <bits/algorithmfwd.h>
+#include <bits/stl_algobase.h>
#include <bits/stl_heap.h>
#include <bits/stl_tempbuf.h> // for _Temporary_buffer
#include <bits/predefined_ops.h>
diff --git a/libstdc++-v3/include/bits/stl_tempbuf.h b/libstdc++-v3/include/bits/stl_tempbuf.h
index 82f2dc8..b13aa3b 100644
--- a/libstdc++-v3/include/bits/stl_tempbuf.h
+++ b/libstdc++-v3/include/bits/stl_tempbuf.h
@@ -57,8 +57,10 @@
#define _STL_TEMPBUF_H 1
#include <new>
-#include <bits/stl_algobase.h>
+#include <bits/exception_defines.h>
#include <bits/stl_construct.h>
+#include <bits/stl_pair.h>
+#include <ext/numeric_traits.h>
namespace std _GLIBCXX_VISIBILITY(default)
{
diff --git a/libstdc++-v3/include/bits/stream_iterator.h b/libstdc++-v3/include/bits/stream_iterator.h
index 86c5845..0a1362a 100644
--- a/libstdc++-v3/include/bits/stream_iterator.h
+++ b/libstdc++-v3/include/bits/stream_iterator.h
@@ -32,6 +32,9 @@
#pragma GCC system_header
+#include <iosfwd>
+#include <bits/move.h>
+#include <bits/stl_iterator_base_types.h>
#include <debug/debug.h>
namespace std _GLIBCXX_VISIBILITY(default)
diff --git a/libstdc++-v3/include/bits/streambuf_iterator.h b/libstdc++-v3/include/bits/streambuf_iterator.h
index 72344c6..c26ac24 100644
--- a/libstdc++-v3/include/bits/streambuf_iterator.h
+++ b/libstdc++-v3/include/bits/streambuf_iterator.h
@@ -33,6 +33,7 @@
#pragma GCC system_header
#include <streambuf>
+#include <bits/stl_iterator_base_types.h>
#include <debug/debug.h>
namespace std _GLIBCXX_VISIBILITY(default)
diff --git a/libstdc++-v3/include/std/iterator b/libstdc++-v3/include/std/iterator
index 7f8fc50..2da2fb6 100644
--- a/libstdc++-v3/include/std/iterator
+++ b/libstdc++-v3/include/std/iterator
@@ -61,7 +61,6 @@
#include <bits/stl_iterator_base_types.h>
#include <bits/stl_iterator_base_funcs.h>
#include <bits/stl_iterator.h>
-#include <iosfwd>
#include <bits/stream_iterator.h>
#include <bits/streambuf_iterator.h>
#include <bits/range_access.h>