libstdc++: Fix directory_iterator exception specification
authorJonathan Wakely <jwakely@redhat.com>
Tue, 27 Oct 2020 14:49:37 +0000 (14:49 +0000)
committerJonathan Wakely <jwakely@redhat.com>
Tue, 27 Oct 2020 14:50:37 +0000 (14:50 +0000)
libstdc++-v3/ChangeLog:

* src/c++17/fs_dir.cc (fs::directory_iterator::operator*):
Add noexcept. Do not throw on precondition violation.

libstdc++-v3/src/c++17/fs_dir.cc

index 784df2d..4932330 100644 (file)
@@ -148,12 +148,8 @@ directory_iterator(const path& p, directory_options options, error_code* ecptr)
 }
 
 const fs::directory_entry&
-fs::directory_iterator::operator*() const
+fs::directory_iterator::operator*() const noexcept
 {
-  if (!_M_dir)
-    _GLIBCXX_THROW_OR_ABORT(filesystem_error(
-         "non-dereferenceable directory iterator",
-         std::make_error_code(errc::invalid_argument)));
   return _M_dir->entry;
 }