On Wed, Mar 4, 2026 at 9:14 AM Jonathan Wakely <[email protected]> wrote:

> On Mon, 16 Feb 2026 at 22:42, Adam Wood <[email protected]> wrote:
> >
> > Tested on x86_64-w64-mingw32 on Windows 11.
> >
> > The changes in v4 make sure the new symlink functions are only
> defined/enabled
> > on versions of Windows with symlink support.
> >
> > Because path resolution may be different between Windows and POSIX when a
> > dotdot follows a symlink, I also made some edits to tests involving that
> > specific case. I removed my changes to fs::absolute and
> > fs::canonical because I was misplaced and was trying to force Windows to
> > act like POSIX in that specific case.
> >
> > Finally, I dealt with the issue that creating symlinks with the
> unprivileged
> > flag returns an error in earlier versions of Windows by just trying again
> > if ERROR_INVALID_PARAMETER occurs without the unpriviledged flag. This
> > is how MSVC STL does it as well.
> >
> > The patch does not support junctions or mount points.
>
> Hi Adam,
>
> Thanks for the new patch. I'm still reviewing it, but I see these
> tests failing using a mingw-w64 cross compiler and testing under Wine:
>
>
> /home/jwakely/src/gcc/gcc/libstdc++-v3/testsuite/27_io/filesystem/operations/copy_symlink/1.cc:27:
> void test_successful_copy(const std::filesystem::__cxx11::path&, bool
> (*)(const std::filesystem::__cxx11::path&)): Assertion
> 'is_some_file_type(p2)' failed.
> FAIL:
> /home/jwakely/src/gcc/gcc/libstdc++-v3/testsuite/27_io/filesystem/operations/copy_symlink/1.cc
>
>
>  
> /home/jwakely/src/gcc/gcc/libstdc++-v3/testsuite/27_io/filesystem/operations/symlink_status.cc:36:
> void test01(): Assertion 'st1.type() == fs::file_type::directory'
> failed.
> FAIL:
> /home/jwakely/src/gcc/gcc/libstdc++-v3/testsuite/27_io/filesystem/operations/symlink_status.cc
>
> Do these PASS for you on real Windows?
>
> Those tests all PASS on my Windows 11 VM.

Reply via email to