diff mbox series

[committed] libstdc++: Fix directory_iterator exception specification

Message ID 20201027145804.GA2016162@redhat.com
State New
Headers show
Series [committed] libstdc++: Fix directory_iterator exception specification | expand

Commit Message

Jonathan Wakely Oct. 27, 2020, 2:58 p.m. UTC
libstdc++-v3/ChangeLog:

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

Tested x86_64-linux. Committed to trunk.
commit 044b04348cfdc12848f1c6d5a8f45087c3075390
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Tue Oct 27 14:49:37 2020

    libstdc++: Fix directory_iterator exception specification
    
    libstdc++-v3/ChangeLog:
    
            * src/c++17/fs_dir.cc (fs::directory_iterator::operator*):
            Add noexcept. Do not throw on precondition violation.
diff mbox series

Patch

diff --git a/libstdc++-v3/src/c++17/fs_dir.cc b/libstdc++-v3/src/c++17/fs_dir.cc
index 784df2de53f..4932330de52 100644
--- a/libstdc++-v3/src/c++17/fs_dir.cc
+++ b/libstdc++-v3/src/c++17/fs_dir.cc
@@ -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;
 }