https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88881

--- Comment #9 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Author: redi
Date: Wed May 29 22:00:53 2019
New Revision: 271755

URL: https://gcc.gnu.org/viewcvs?rev=271755&root=gcc&view=rev
Log:
PR libstdc++/88881 fix filesystem::symlink_status for Windows

The fix for PR 88881 only added a workaround to filesystem::status, but
filesystem::symlink_status is also affected by the _wstat bug and needs
the same workaround.

The recent change to optimize path::parent_path() means that the
workaround can be simplified to just use parent_path().

        PR libstdc++/88881
        * src/c++17/fs_ops.cc [_GLIBCXX_FILESYSTEM_IS_WINDOWS]
        (status(const path&, error_code&)): Use parent_path() to remove
        trailing slash.
        (symlink_status(const path&, error_code&)): Duplicate workaround for
        bug in _wstat for paths with trailing slash.
        * testsuite/27_io/filesystem/operations/remove_all.cc: Check path
        with trailing slash.
        * testsuite/27_io/filesystem/operations/status.cc: Likewise.
        * testsuite/27_io/filesystem/operations/symlink_status.cc: Likewise.

Modified:
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/src/c++17/fs_ops.cc
    trunk/libstdc++-v3/testsuite/27_io/filesystem/operations/remove_all.cc
    trunk/libstdc++-v3/testsuite/27_io/filesystem/operations/status.cc
    trunk/libstdc++-v3/testsuite/27_io/filesystem/operations/symlink_status.cc

Reply via email to