libstdc++/71004 fix recursive_directory_iterator default constructor

Backport from mainline
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: Test default construction.

From-SVN: r236712
This commit is contained in:
Jonathan Wakely 2016-05-25 16:42:45 +01:00 committed by Jonathan Wakely
parent 8a1d215a4a
commit 5ac1c1969f
3 changed files with 24 additions and 2 deletions

View File

@ -1,3 +1,14 @@
2016-05-25 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
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: Test default construction.
2016-05-25 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline

View File

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

View File

@ -97,8 +97,19 @@ test01()
remove_all(p, ec);
}
void
test02()
{
bool test __attribute__((unused)) = false;
// libstdc++71004
const fs::recursive_directory_iterator it;
VERIFY( it == fs::recursive_directory_iterator() );
}
int
main()
{
test01();
test02();
}