diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2022-06-28 09:26:12 +0100 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2022-07-22 12:52:18 +0100 |
commit | 4be7b79d055446a0f647a41ca273ba22a119c7f2 (patch) | |
tree | 5ee5acae20196cfba829f8591d840ec11879a6ea /libstdc++-v3 | |
parent | 4eb15eceaac0bb900303986fc5164190d3692a0a (diff) |
libstdc++: Do not optimize away storing pathname if it's needed
libstdc++-v3/ChangeLog:
* src/c++17/fs_dir.cc (_Dir::_Dir) [!_GLIBCXX_HAVE_OPENAT]:
Always store pathname if we don't have openat or unlinkat,
because the full path is needed to open sub-directories and
remove entries.
(cherry picked from commit 835b19936bf30d693783bfa39145a4ce243bbd7c)
Diffstat (limited to 'libstdc++-v3')
-rw-r--r-- | libstdc++-v3/src/c++17/fs_dir.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libstdc++-v3/src/c++17/fs_dir.cc b/libstdc++-v3/src/c++17/fs_dir.cc index 25b33baa875..025317b0a08 100644 --- a/libstdc++-v3/src/c++17/fs_dir.cc +++ b/libstdc++-v3/src/c++17/fs_dir.cc @@ -48,7 +48,7 @@ struct fs::_Dir : _Dir_base [[maybe_unused]] bool filename_only, error_code& ec) : _Dir_base(fdcwd(), p.c_str(), skip_permission_denied, nofollow, ec) { -#if _GLIBCXX_HAVE_DIRFD +#if _GLIBCXX_HAVE_DIRFD && _GLIBCXX_HAVE_OPENAT && _GLIBCXX_HAVE_UNLINKAT if (filename_only) return; // Do not store path p when we aren't going to use it. #endif |