public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r13-2703] libstdc++: Make more internal headers include their own dependencies
@ 2022-09-16 22:33 Jonathan Wakely
  0 siblings, 0 replies; only message in thread
From: Jonathan Wakely @ 2022-09-16 22:33 UTC (permalink / raw)
  To: gcc-cvs, libstdc++-cvs

https://gcc.gnu.org/g:d31e19e44009ef645f0a120043c7f84d0450b4c9

commit r13-2703-gd31e19e44009ef645f0a120043c7f84d0450b4c9
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Fri Sep 16 10:49:54 2022 +0100

    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>.

Diff:
---
 libstdc++-v3/include/bits/stl_algo.h           | 1 +
 libstdc++-v3/include/bits/stl_tempbuf.h        | 4 +++-
 libstdc++-v3/include/bits/stream_iterator.h    | 3 +++
 libstdc++-v3/include/bits/streambuf_iterator.h | 1 +
 libstdc++-v3/include/std/iterator              | 1 -
 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 57fa1c1dc55..9cb708ab2fd 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 82f2dc8055f..b13aa3b0fcc 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 86c5845b835..0a1362a2eea 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 72344c63088..c26ac249e01 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 7f8fc50b39d..2da2fb6e4a3 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>

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-09-16 22:33 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-16 22:33 [gcc r13-2703] libstdc++: Make more internal headers include their own dependencies Jonathan Wakely

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).