[gcc r12-8611] libstdc++: check for openat with dirfd in std::filesystem
Jonathan Wakely
redi@gcc.gnu.org
Fri Jul 22 17:44:27 GMT 2022
https://gcc.gnu.org/g:4eb15eceaac0bb900303986fc5164190d3692a0a
commit r12-8611-g4eb15eceaac0bb900303986fc5164190d3692a0a
Author: Alexandre Oliva <oliva@adacore.com>
Date: Mon Jun 27 10:34:16 2022 -0300
libstdc++: check for openat with dirfd in std::filesystem
In the recent patch to check for openat, I missed an occurrence of
dirfd in std::filesystem.
for libstdc++-v3/ChangeLog
* src/c++17/fs_dir.cc (dir_and_pathname): Use dirfd if
_GLIBCXX_HAVE_OPENAT.
(cherry picked from commit 486893b1d325d22d54c1380937943913a7501f91)
Diff:
---
libstdc++-v3/src/c++17/fs_dir.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libstdc++-v3/src/c++17/fs_dir.cc b/libstdc++-v3/src/c++17/fs_dir.cc
index c67fe76bc14..25b33baa875 100644
--- a/libstdc++-v3/src/c++17/fs_dir.cc
+++ b/libstdc++-v3/src/c++17/fs_dir.cc
@@ -124,7 +124,7 @@ struct fs::_Dir : _Dir_base
dir_and_pathname() const noexcept
{
const fs::path& p = entry.path();
-#if _GLIBCXX_HAVE_DIRFD
+#if _GLIBCXX_HAVE_DIRFD && _GLIBCXX_HAVE_OPENAT
if (!p.empty())
return {::dirfd(this->dirp), std::prev(p.end())->c_str()};
#endif
More information about the Gcc-cvs
mailing list