diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2016-05-09 11:09:37 +0100 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2016-05-09 11:09:37 +0100 |
commit | e4cce0cea0ef842e4969469c3856529acd98db1f (patch) | |
tree | 9ded3a285924f40030f785a9a7ede5d2c06787df /libstdc++-v3 | |
parent | 37f56ca7a03f3fbf6a7a755c7f2fce0257a87baa (diff) | |
download | gcc-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/ChangeLog | 8 | ||||
-rw-r--r-- | libstdc++-v3/include/experimental/bits/fs_dir.h | 4 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc | 10 |
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() { |