aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2016-05-09 11:09:37 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2016-05-09 11:09:37 +0100
commite4cce0cea0ef842e4969469c3856529acd98db1f (patch)
tree9ded3a285924f40030f785a9a7ede5d2c06787df /libstdc++-v3
parent37f56ca7a03f3fbf6a7a755c7f2fce0257a87baa (diff)
downloadgcc-e4cce0cea0ef842e4969469c3856529acd98db1f.zip
gcc-e4cce0cea0ef842e4969469c3856529acd98db1f.tar.gz
gcc-e4cce0cea0ef842e4969469c3856529acd98db1f.tar.bz2
libstdc++/71004 fix recursive_directory_iterator default constructor
PR libstdc++/71004 * include/experimental/bits/fs_dir.h (recursive_directory_iterator): Initialize scalar member variables in default constructor. * testsuite/experimental/filesystem/iterators/ recursive_directory_iterator.cc: Teste default construction. From-SVN: r236023
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/ChangeLog8
-rw-r--r--libstdc++-v3/include/experimental/bits/fs_dir.h4
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc10
3 files changed, 20 insertions, 2 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index ab6df14..cda02f4 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,11 @@
+2016-05-09 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/71004
+ * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
+ Initialize scalar member variables in default constructor.
+ * testsuite/experimental/filesystem/iterators/
+ recursive_directory_iterator.cc: Teste default construction.
+
2016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
diff --git a/libstdc++-v3/include/experimental/bits/fs_dir.h b/libstdc++-v3/include/experimental/bits/fs_dir.h
index 4e28c8e..f128cce 100644
--- a/libstdc++-v3/include/experimental/bits/fs_dir.h
+++ b/libstdc++-v3/include/experimental/bits/fs_dir.h
@@ -301,8 +301,8 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11
struct _Dir_stack;
std::shared_ptr<_Dir_stack> _M_dirs;
- directory_options _M_options;
- bool _M_pending;
+ directory_options _M_options = {};
+ bool _M_pending = false;
};
inline recursive_directory_iterator
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc b/libstdc++-v3/testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc
index 5d2e45b..a263602 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc
@@ -97,6 +97,16 @@ test01()
remove_all(p, ec);
}
+void
+test02()
+{
+ // libstdc++71004
+ const fs::recursive_directory_iterator it;
+ assert( it.options() == fs::directory_options{} );
+ assert( it.depth() == 0 );
+ assert(it.recursion_pending() == false);
+}
+
int
main()
{