Tested powerpc64le-linux. Pushed to trunk. Worth backporting too.

-- >8 --

The new -Wdangling-reference warning noticed this.

libstdc++-v3/ChangeLog:

        * include/bits/fs_path.h (path::filename()): Fix dangling
        reference.
---
 libstdc++-v3/include/bits/fs_path.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/libstdc++-v3/include/bits/fs_path.h 
b/libstdc++-v3/include/bits/fs_path.h
index 6e7b366d104..2fc7dcd98c9 100644
--- a/libstdc++-v3/include/bits/fs_path.h
+++ b/libstdc++-v3/include/bits/fs_path.h
@@ -1262,9 +1262,9 @@ namespace __detail
       {
        if (_M_pathname.back() == preferred_separator)
          return {};
-       auto& __last = *--end();
-       if (__last._M_type() == _Type::_Filename)
-         return __last;
+       auto __last = --end();
+       if (__last->_M_type() == _Type::_Filename)
+         return *__last;
       }
     return {};
   }
-- 
2.37.3

Reply via email to