From: Tomasz Kamiński Date: Fri, 5 Sep 2025 11:16:40 +0000 (+0200) Subject: libstdc++: Document missing implementation defined behavior for std::filesystem. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d6c370b8e96d43448537276d91c2b33fedb9754a;p=thirdparty%2Fgcc.git libstdc++: Document missing implementation defined behavior for std::filesystem. libstdc++-v3/ChangeLog: * doc/html/manual/status.html: Regenerate the file. * doc/xml/manual/status_cxx2017.xml: Addd more entires. Reviewed-by: Jonathan Wakely Signed-off-by: Tomasz Kamiński --- diff --git a/libstdc++-v3/doc/html/manual/status.html b/libstdc++-v3/doc/html/manual/status.html index f3d4a229daf..e1ed5bda8ee 100644 --- a/libstdc++-v3/doc/html/manual/status.html +++ b/libstdc++-v3/doc/html/manual/status.html @@ -1123,7 +1123,8 @@ since C++14 and the implementation is complete. The effect of calling the mathematical special functions with large inputs should be documented here.

- 30.10.2.1 [fs.conform.9945] + 30.10.2.1 [fs.conform.9945], + 30.10.2.2 [fs.conform.os] The behavior of the filesystem library implementation will depend on the target operating system. Some features will not be supported on some targets. Symbolic links and file permissions @@ -1159,7 +1160,20 @@ since C++14 and the implementation is complete. Specifically, it is not possible to rename a directory to replace another directory (POSIX requires that to work if the directory being replaced is empty). -

Parallelism 2 TS

+

+ 30.10.29.2 [fs.enum.file_type], + 30.10.34.3 [fs.op.copy], + 30.10.34.35 [fs.op.status] + No additional file types are supported, and there are no + implementation-defined enumerators in + std::filesystem::file_type. +

+ 30.10.32 [fs.class.directory_iterator], + 30.10.33 [fs.class.rec.dir.itr] + Any directory-like file types supported by + opendir/readdir + (or _wopendir/_wreaddir on Windows). +

Parallelism 2 TS

9.3 [parallel.simd.abi] max_fixed_size<T> is 32, except when targetting AVX512BW and sizeof(T) is 1. diff --git a/libstdc++-v3/doc/xml/manual/status_cxx2017.xml b/libstdc++-v3/doc/xml/manual/status_cxx2017.xml index c90f91e286b..8ce714c889d 100644 --- a/libstdc++-v3/doc/xml/manual/status_cxx2017.xml +++ b/libstdc++-v3/doc/xml/manual/status_cxx2017.xml @@ -3003,7 +3003,8 @@ since C++14 and the implementation is complete. - 30.10.2.1 [fs.conform.9945] + 30.10.2.1 [fs.conform.9945], + 30.10.2.2 [fs.conform.os] The behavior of the filesystem library implementation will depend on the target operating system. Some features will not be supported on some targets. Symbolic links and file permissions @@ -3040,7 +3041,7 @@ since C++14 and the implementation is complete. If !is_regular_file(p), an error is reported. - + 30.10.15.32 [fs.op.rename] On Windows, filesystem::rename is implemented by calling MoveFileExW and so @@ -3049,8 +3050,24 @@ since C++14 and the implementation is complete. Specifically, it is not possible to rename a directory to replace another directory (POSIX requires that to work if the directory being replaced is empty). - + + + 30.10.29.2 [fs.enum.file_type], + 30.10.34.3 [fs.op.copy], + 30.10.34.35 [fs.op.status] + No additional file types are supported, and there are no + implementation-defined enumerators in + std::filesystem::file_type. + + + + 30.10.32 [fs.class.directory_iterator], + 30.10.33 [fs.class.rec.dir.itr] + Any directory-like file types supported by + opendir/readdir + (or _wopendir/_wreaddir on Windows). +

Parallelism 2 TS