diff mbox series

[committed] libstdc++: Do not optimize away storing pathname if it's needed

Message ID 20220628110856.203916-1-jwakely@redhat.com
State New
Headers show
Series [committed] libstdc++: Do not optimize away storing pathname if it's needed | expand

Commit Message

Jonathan Wakely June 28, 2022, 11:08 a.m. UTC
Tested powerpc64le-linux, pushed to trunk.

-- >8 --

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.
---
 libstdc++-v3/src/c++17/fs_dir.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
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 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