]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libstdc++: Document missing implementation defined behavior for std::filesystem.
authorTomasz Kamiński <tkaminsk@redhat.com>
Fri, 5 Sep 2025 11:16:40 +0000 (13:16 +0200)
committerTomasz Kamiński <tkaminsk@redhat.com>
Fri, 5 Sep 2025 12:50:42 +0000 (14:50 +0200)
libstdc++-v3/ChangeLog:

* doc/html/manual/status.html: Regenerate the file.
* doc/xml/manual/status_cxx2017.xml: Addd more entires.

Reviewed-by: Jonathan Wakely <jwakely@redhat.com>
Signed-off-by: Tomasz Kamiński <tkaminsk@redhat.com>
libstdc++-v3/doc/html/manual/status.html
libstdc++-v3/doc/xml/manual/status_cxx2017.xml

index f3d4a229daf6bc71af0976993d0b8faf8084e643..e1ed5bda8ee2cd4986e91692d7a93f0fde2d0608 100644 (file)
@@ -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.
    </p><p>
-      <span class="emphasis"><em>30.10.2.1 [fs.conform.9945]</em></span>
+      <span class="emphasis"><em>30.10.2.1 [fs.conform.9945]</em></span>,
+      <span class="emphasis"><em>30.10.2.2 [fs.conform.os]</em></span>
       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).
-    </p><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="iso.2017.par2ts"></a>Parallelism 2 TS</h5></div></div></div><p>
+   </p><p>
+      <span class="emphasis"><em>30.10.29.2 [fs.enum.file_type]</em></span>,
+      <span class="emphasis"><em>30.10.34.3 [fs.op.copy]</em></span>,
+      <span class="emphasis"><em>30.10.34.35 [fs.op.status]</em></span>
+      No additional file types are supported, and there are no
+      implementation-defined enumerators in
+      <code class="code">std::filesystem::file_type</code>.
+   </p><p>
+     <span class="emphasis"><em>30.10.32 [fs.class.directory_iterator]</em></span>,
+     <span class="emphasis"><em>30.10.33 [fs.class.rec.dir.itr]</em></span>
+     Any directory-like file types supported by
+     <code class="code">opendir</code>/<code class="code">readdir</code>
+     (or <code class="code">_wopendir</code>/<code class="code">_wreaddir</code> on Windows).
+   </p><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="iso.2017.par2ts"></a>Parallelism 2 TS</h5></div></div></div><p>
         <span class="emphasis"><em>9.3 [parallel.simd.abi]</em></span>
         <code class="code">max_fixed_size&lt;T&gt;</code> is 32, except when targetting
         AVX512BW and <code class="code">sizeof(T)</code> is 1.
index c90f91e286b5755ffcdb833c152c57180d737d19..8ce714c889dc520173d312d1bbf0c6de7a942fcd 100644 (file)
@@ -3003,7 +3003,8 @@ since C++14 and the implementation is complete.
    </para>
 
    <para>
-      <emphasis>30.10.2.1 [fs.conform.9945]</emphasis>
+      <emphasis>30.10.2.1 [fs.conform.9945]</emphasis>,
+      <emphasis>30.10.2.2 [fs.conform.os]</emphasis>
       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 <code>!is_regular_file(p)</code>, an error is reported.
    </para>
 
-    <para>
+   <para>
       <emphasis>30.10.15.32 [fs.op.rename]</emphasis>
       On Windows, <code>filesystem::rename</code>
       is implemented by calling <code>MoveFileExW</code> 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).
-    </para>
+   </para>
 
+   <para>
+      <emphasis>30.10.29.2 [fs.enum.file_type]</emphasis>,
+      <emphasis>30.10.34.3 [fs.op.copy]</emphasis>,
+      <emphasis>30.10.34.35 [fs.op.status]</emphasis>
+      No additional file types are supported, and there are no
+      implementation-defined enumerators in
+      <code>std::filesystem::file_type</code>.
+   </para>
+
+   <para>
+     <emphasis>30.10.32 [fs.class.directory_iterator]</emphasis>,
+     <emphasis>30.10.33 [fs.class.rec.dir.itr]</emphasis>
+     Any directory-like file types supported by
+     <code>opendir</code>/<code>readdir</code>
+     (or <code>_wopendir</code>/<code>_wreaddir</code> on Windows).
+   </para>
 
    <section xml:id="iso.2017.par2ts" xreflabel="Implementation Specific Behavior of the Parallelism 2 TS"><info><title>Parallelism 2 TS</title></info>