[committed] libstdc++: Make more internal headers include their own dependencies
Commit Message
Tested x86_64-linux, pushed to trunk.
-- >8 --
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>.
---
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(-)
@@ -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>
@@ -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)
{
@@ -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)
@@ -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)
@@ -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>