On 20/07/21 12:59 +0100, Jonathan Wakely wrote: >Signed-off-by: Jonathan Wakely > >libstdc++-v3/ChangeLog: > > PR libstdc++/101510 > * src/c++17/fs_ops.cc (create_dir): Adjust whitespace. > * testsuite/27_io/filesystem/operations/create_directory.cc: > Test creating directory with name of existing symlink to > directory. > * testsuite/experimental/filesystem/operations/create_directory.cc: > Likewise. > It turned out this bug report wasn't actually about create_directory, but create_directories, which does have a bug. When filesystem__create_directories checks to see if the path already exists and resovles to a directory, it uses filesystem::symlink_status, which means it reports an error if the path is a symlink. It should use filesystem::status, so that the target directory is detected, and no error is reported. Signed-off-by: Jonathan Wakely libstdc++-v3/ChangeLog: PR libstdc++/101510 * src/c++17/fs_ops.cc (fs::create_directories): Use status instead of symlink_status. * src/filesystem/ops.cc (fs::create_directories): Likewise. * testsuite/27_io/filesystem/operations/create_directories.cc: * testsuite/27_io/filesystem/operations/create_directory.cc: Do not test with symlinks on Windows. * testsuite/experimental/filesystem/operations/create_directories.cc: * testsuite/experimental/filesystem/operations/create_directory.cc: Do not test with symlinks on Windows. Tested powerpc64le-linux. Committed to trunk.