https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99805
Bug ID: 99805 Summary: filesystem::path::parent_path got a wrong path Product: gcc Version: 10.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: drfeng08 at gmail dot com Target Milestone: --- [work@centos7 ~]$ uname -a Linux centos7 3.10.0-1160.11.1.el7.x86_64 #1 SMP Fri Dec 18 16:34:56 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux [work@centos7 ~]$ g++ --version g++ (GCC) 10.2.1 20200804 (Red Hat 10.2.1-2) Copyright (C) 2020 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. [work@centos7 ~]$ which g++ /opt/rh/devtoolset-10/root/usr/bin/g++ [work@centos7 ~]$ cat ans8.cpp #include <iostream> #include <filesystem> #include <string> std::string get_path() { static std::string path = "/ssd1/opt/stdpain/workspace"; return path; } int main() { std::filesystem::path path(get_path()); std::filesystem::path path2 = path.parent_path(); std::cout << path << std::endl; std::cout << path2 << std::endl; } output: /ssd1/opt/stdpain/workspace /ssd1/opt/stdpain/workspace expect: /ssd1/opt/stdpain/workspace /ssd1/opt/stdpain/