aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2017-02-23 18:25:22 +0000
committerJonathan Wakely <redi@gcc.gnu.org>2017-02-23 18:25:22 +0000
commitcb701078b11c9e539dc21a4ddec517af6575c265 (patch)
tree70133c4dbb47b2a148c8cb808f32c77d2d0de8d2 /libstdc++-v3
parent17885cad6ace96206a8d4c1e9bc4dad946c960ed (diff)
downloadgcc-cb701078b11c9e539dc21a4ddec517af6575c265.zip
gcc-cb701078b11c9e539dc21a4ddec517af6575c265.tar.gz
gcc-cb701078b11c9e539dc21a4ddec517af6575c265.tar.bz2
Ensure <experimental/iterator> includes <iterator>
* include/experimental/iterator: Include <iterator>. * testsuite/experimental/iterator/requirements.cc: Check for contents of <iterator>. From-SVN: r245686
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/ChangeLog6
-rw-r--r--libstdc++-v3/include/experimental/iterator5
-rw-r--r--libstdc++-v3/testsuite/experimental/iterator/requirements.cc12
3 files changed, 19 insertions, 4 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 0b02dca..6193f4e 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,9 @@
+2017-02-23 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/experimental/iterator: Include <iterator>.
+ * testsuite/experimental/iterator/requirements.cc: Check for contents
+ of <iterator>.
+
2017-02-19 Dinka Ranns <dinka.ranns@googlemail.com>
C++17 GB50 resolution
diff --git a/libstdc++-v3/include/experimental/iterator b/libstdc++-v3/include/experimental/iterator
index e8ecb34..8a8395d 100644
--- a/libstdc++-v3/include/experimental/iterator
+++ b/libstdc++-v3/include/experimental/iterator
@@ -39,10 +39,9 @@
# include <bits/c++14_warning.h>
#else
-#include <experimental/type_traits>
+#include <iterator>
#include <iosfwd>
-#include <bits/move.h>
-#include <bits/stl_iterator_base_types.h>
+#include <experimental/type_traits>
namespace std _GLIBCXX_VISIBILITY(default)
{
diff --git a/libstdc++-v3/testsuite/experimental/iterator/requirements.cc b/libstdc++-v3/testsuite/experimental/iterator/requirements.cc
index 8a8e79e..5fa5872 100644
--- a/libstdc++-v3/testsuite/experimental/iterator/requirements.cc
+++ b/libstdc++-v3/testsuite/experimental/iterator/requirements.cc
@@ -19,7 +19,7 @@
// This is a compile-only test with minimal includes
#include <experimental/iterator>
-#include <iosfwd>
+#include <iosfwd> // No guarantee that <experimental/iterator> includes this!
using namespace std::experimental;
@@ -55,3 +55,13 @@ tester<int, char> ic;
tester<wchar_t, wchar_t> ww;
tester<int, wchar_t> iw;
#endif
+
+std::ostream& os();
+
+// Ensure that contents of <iterator> are defined by <experimental/iterator>:
+std::reverse_iterator<int*> ii;
+std::move_iterator<int*> mi;
+std::istream_iterator<int> isi;
+std::ostream_iterator<int> osi(os());
+std::istreambuf_iterator<char> isbi;
+std::ostreambuf_iterator<char> osbi(os());