On Thu, 8 May 2025 at 18:57, Björn Schäpers <g...@hazardy.de> wrote:
>
> Am 08.05.2025 um 15:50 schrieb Jonathan Wakely:
> > Document that std::to_chars and std::from_chars are complete, mentioning
> > the libraries used for floating-point types.
> >
> > libstdc++-v3/ChangeLog:
> >
> >       * doc/xml/manual/status_cxx2017.xml: Update status for
> >       std::to_chars and std::from_chars.
> >       * doc/html/manual/*: Regenerate.
> > ---
> >
> > Patrick, please check that what I've added is accurate (see the XML
> > change at the end of the diff).
> >
> >   .../doc/html/manual/source_code_style.html    |  2 +-
> >   libstdc++-v3/doc/html/manual/status.html      | 17 ++++++++++++-
> >   .../doc/xml/manual/status_cxx2017.xml         | 25 ++++++++++++++++---
> >   3 files changed, 38 insertions(+), 6 deletions(-)
> >
> > diff --git a/libstdc++-v3/doc/html/manual/source_code_style.html 
> > b/libstdc++-v3/doc/html/manual/source_code_style.html
> > index b0b22683f67c..a66e3a079471 100644
> > --- a/libstdc++-v3/doc/html/manual/source_code_style.html
> > +++ b/libstdc++-v3/doc/html/manual/source_code_style.html
> > @@ -474,7 +474,7 @@
> >   <br />
> >         Examples:  <code class="code">_M_num_elements  _M_initialize 
> > ()</code><br />
> >   <br />
> > -      Static data members, constants, and enumerations: <code 
> > class="literal">_S_.*</code><br />
> > +      Static data and function members, constants, and enumerations: <code 
> > class="literal">_S_.*</code><br />
> >   <br />
> >         Examples: <code class="code">_S_max_elements  
> > _S_default_value</code><br />
> >   <br />
> > diff --git a/libstdc++-v3/doc/html/manual/status.html 
> > b/libstdc++-v3/doc/html/manual/status.html
> > index 3d55e2652729..924b2e3d861e 100644
> > --- a/libstdc++-v3/doc/html/manual/status.html
> > +++ b/libstdc++-v3/doc/html/manual/status.html
> > @@ -927,7 +927,22 @@ since C++14 and the implementation is complete.
> >       <span class="emphasis"><em>23</em></span>
> >         </td><td colspan="3" align="left">
> >       <span class="emphasis"><em>General utilities</em></span>
> > -      </td></tr><tr><td align="left">23.1</td><td 
> > align="left">General</td><td align="left"> </td><td align="left"> 
> > </td></tr><tr><td align="left">23.2</td><td align="left">Utility 
> > components</td><td align="left"> </td><td align="left"> </td></tr><tr><td 
> > align="left">23.2.1</td><td align="left">Header <code 
> > class="code">&lt;utility&gt;</code> synopsis</td><td align="left"> </td><td 
> > align="left"> </td></tr><tr><td align="left">23.2.2</td><td 
> > align="left">Operators</td><td align="left">Y</td><td align="left"> 
> > </td></tr><tr><td align="left">23.2.3</td><td align="left"><code 
> > class="code">swap</code></td><td align="left">Y</td><td align="left"> 
> > </td></tr><tr><td align="left">23.2.4</td><td align="left"><code 
> > class="code">exchange</code></td><td align="left">Y</td><td align="left"> 
> > </td></tr><tr><td align="left">23.2.5</td><td align="left">Forward/move 
> > helpers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.2.6</td><td align="left">Function template <code 
> > class="code">as_const</code></td><td align="left">Y</td><td align="left"> 
> > </td></tr><tr><td align="left">23.2.7</td><td align="left">Function 
> > template <code class="code">declval</code></td><td align="left">Y</td><td 
> > align="left"> </td></tr><tr><td align="left">23.2.8</td><td 
> > align="left">Primitive numeric output conversion</td><td 
> > align="left">Partial</td><td align="left"> </td></tr><tr><td 
> > align="left">23.2.9</td><td align="left">Primitive numeric input 
> > conversion</td><td align="left">Partial</td><td align="left"> 
> > </td></tr><tr><td align="left">23.3</td><td align="left">Compile-time 
> > integer sequences</td><td align="left"> </td><td align="left"> 
> > </td></tr><tr><td align="left">23.4</td><td align="left">Pairs</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.5</td><td align="left">Tuples</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.6</td><td align="left">Optional objects</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.7</td><td align="left">Variants</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.8</td><td align="left">Storage for any type</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.9</td><td align="left">Bitsets</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.10</td><td align="left">Memory</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.10.1</td><td align="left">In general</td><td align="left"> 
> > </td><td align="left"> </td></tr><tr><td align="left">23.10.2</td><td 
> > align="left">Header <code class="code">&lt;memory&gt;</code> 
> > synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.10.3</td><td align="left">Pointer traits</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.10.4</td><td align="left">Pointer safety</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.10.5</td><td align="left">Align</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.10.6</td><td align="left">Allocator argument tag</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.10.7</td><td align="left"><code 
> > class="code">uses_allocator</code></td><td align="left">Y</td><td 
> > align="left"> </td></tr><tr><td align="left">23.10.8</td><td 
> > align="left">Allocator traits</td><td align="left">Y</td><td align="left"> 
> > </td></tr><tr><td align="left">23.10.9</td><td align="left">The default 
> > allocator</td><td align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.10.10</td><td align="left">Specialized algorithms</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.10.11</td><td align="left">C library memory 
> > allocation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.11</td><td align="left">Smart pointers</td><td 
> > align="left"> </td><td align="left"> </td></tr><tr><td 
> > align="left">23.11.1</td><td align="left">Class template <code 
> > class="code">unique_ptr</code></td><td align="left">Y</td><td align="left"> 
> > </td></tr><tr><td align="left">23.11.2</td><td 
> > align="left">Shared-ownership pointers</td><td align="left">Y</td><td 
> > align="left"> </td></tr><tr><td align="left">23.12</td><td 
> > align="left">Memory resources</td><td align="left"> </td><td align="left"> 
> > </td></tr><tr><td align="left">23.12.1</td><td align="left">Header <code 
> > class="code">&lt;memory_resource&gt;</code> synopsis</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.12.2</td><td align="left">Class <code 
> > class="code">memory_resource</code></td><td align="left">Y</td><td 
> > align="left"> </td></tr><tr><td align="left">23.12.3</td><td 
> > align="left">Class template <code 
> > class="code">polymorphic_allocator</code></td><td align="left">Y</td><td 
> > align="left"> </td></tr><tr><td align="left">23.12.4</td><td 
> > align="left">Access to program-wide <code 
> > class="code">memory_resource</code> objects</td><td align="left">Y</td><td 
> > align="left"> </td></tr><tr><td align="left">23.12.5</td><td 
> > align="left">Pool resource classes</td><td align="left">Y</td><td 
> > align="left"> </td></tr><tr><td align="left">23.12.6</td><td 
> > align="left">Class <code 
> > class="code">monotonic_buffer_resource</code></td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.13</td><td align="left">Class template <code 
> > class="code">scoped_allocator_adaptor</code></td><td align="left">Y</td><td 
> > align="left"> </td></tr><tr><td align="left">23.14</td><td 
> > align="left">Function objects</td><td align="left"> </td><td align="left"> 
> > </td></tr><tr><td align="left">23.14.1</td><td align="left">Header <code 
> > class="code">&lt;functional&gt;</code> synopsis</td><td align="left"> 
> > </td><td align="left"> </td></tr><tr><td align="left">23.14.2</td><td 
> > align="left">Definitions</td><td align="left"> </td><td align="left"> 
> > </td></tr><tr><td align="left">23.14.3</td><td 
> > align="left">Requirements</td><td align="left"> </td><td align="left"> 
> > </td></tr><tr><td align="left">23.14.4</td><td align="left">Function 
> > template <code class="code">invoke</code></td><td align="left">Y</td><td 
> > align="left"> </td></tr><tr><td align="left">23.14.5</td><td 
> > align="left">Class template <code 
> > class="code">reference_wrapper</code></td><td align="left">Y</td><td 
> > align="left"> </td></tr><tr><td align="left">23.14.6</td><td 
> > align="left">Arithmetic operation</td><td align="left">Y</td><td 
> > align="left"> </td></tr><tr><td align="left">23.14.7</td><td 
> > align="left">Comparisons</td><td align="left">Y</td><td align="left"> 
> > </td></tr><tr><td align="left">23.14.8</td><td align="left">Logical 
> > operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.14.9</td><td align="left">Bitwise operations</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.14.10</td><td align="left">Function template <code 
> > class="code">not_fn</code></td><td align="left">Y</td><td align="left"> 
> > </td></tr><tr><td align="left">23.14.11</td><td align="left">Function 
> > object binders</td><td align="left">Y</td><td align="left"> 
> > </td></tr><tr><td align="left">23.14.12</td><td align="left">Function 
> > template <code class="code">mem_fn</code></td><td align="left">Y</td><td 
> > align="left"> </td></tr><tr><td align="left">23.14.13</td><td 
> > align="left">Polymorphic function wrappers</td><td align="left">Y</td><td 
> > align="left"> </td></tr><tr><td align="left">23.14.14</td><td 
> > align="left">Searchers</td><td align="left">Y</td><td align="left"> 
> > </td></tr><tr><td align="left">23.14.15</td><td align="left">Class template 
> > <code class="code">hash</code></td><td align="left">Y</td><td align="left"> 
> > </td></tr><tr><td align="left">23.15</td><td align="left">Metaprogramming 
> > and type traits</td><td align="left"> </td><td align="left"> 
> > </td></tr><tr><td align="left">23.15.1</td><td 
> > align="left">Requirements</td><td align="left"> </td><td align="left"> 
> > </td></tr><tr><td align="left">23.15.2</td><td align="left">Header <code 
> > class="code">&lt;type_traits&gt;</code> synopsis</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.15.3</td><td align="left">Helper classes</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.15.4</td><td align="left">Unary Type Traits</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.15.5</td><td align="left">Type property queries</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.15.6</td><td align="left">Relationships between 
> > types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.15.7</td><td align="left">Transformations between 
> > types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.15.8</td><td align="left">Logical operator traits</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.16</td><td align="left">Compile-time rational 
> > arithmetic</td><td align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.17.1</td><td align="left">In general</td><td align="left"> 
> > </td><td align="left"> </td></tr><tr><td align="left">23.17.2</td><td 
> > align="left">Header <code class="code">&lt;chrono&gt;</code> 
> > synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td 
> > align="left">23.17</td><td align="left">Time utilities</td><td 
> > align="left"> </td><td align="left"> </td></tr><tr><td 
> > align="left">23.17.3</td><td align="left">Clock requirements</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.17.4</td><td align="left">Time-related traits</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.17.5</td><td align="left">Class template <code 
> > class="code">duration</code></td><td align="left">Y</td><td align="left"> 
> > </td></tr><tr><td align="left">23.17.6</td><td align="left">Class template 
> > <code class="code">time_point</code></td><td align="left">Y</td><td 
> > align="left"> </td></tr><tr><td align="left">23.17.7</td><td 
> > align="left">Clocks</td><td align="left">Y</td><td align="left"> 
> > </td></tr><tr><td align="left">23.17.8</td><td align="left">Header <code 
> > class="code">&lt;ctime&gt;</code> synopsis</td><td align="left">Y</td><td 
> > align="left"> </td></tr><tr><td align="left">23.18</td><td 
> > align="left">Class <code class="code">type_index</code></td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.19</td><td align="left">Execution policies</td><td 
> > align="left"> </td><td align="left"> </td></tr><tr><td 
> > align="left">23.19.1</td><td align="left">In general</td><td align="left"> 
> > </td><td align="left"> </td></tr><tr><td align="left">23.19.2</td><td 
> > align="left">Header <code class="code">&lt;execution&gt;</code> 
> > synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td 
> > align="left">23.19.3</td><td align="left">Execution policy type 
> > trait</td><td align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.19.4</td><td align="left">Sequenced execution 
> > policy</td><td align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.19.5</td><td align="left">Parallel execution policy</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.19.6</td><td align="left">Parallel and unsequenced 
> > execution policy</td><td align="left">Y</td><td align="left"> 
> > </td></tr><tr><td align="left">23.19.7</td><td align="left">Execution 
> > policy objects</td><td align="left">Y</td><td align="left"> 
> > </td></tr><tr><td align="left">
> > +      </td></tr><tr><td align="left">23.1</td><td 
> > align="left">General</td><td align="left"> </td><td align="left"> 
> > </td></tr><tr><td align="left">23.2</td><td align="left">Utility 
> > components</td><td align="left"> </td><td align="left"> </td></tr><tr><td 
> > align="left">23.2.1</td><td align="left">Header <code 
> > class="code">&lt;utility&gt;</code> synopsis</td><td align="left"> </td><td 
> > align="left"> </td></tr><tr><td align="left">23.2.2</td><td 
> > align="left">Operators</td><td align="left">Y</td><td align="left"> 
> > </td></tr><tr><td align="left">23.2.3</td><td align="left"><code 
> > class="code">swap</code></td><td align="left">Y</td><td align="left"> 
> > </td></tr><tr><td align="left">23.2.4</td><td align="left"><code 
> > class="code">exchange</code></td><td align="left">Y</td><td align="left"> 
> > </td></tr><tr><td align="left">23.2.5</td><td align="left">Forward/move 
> > helpers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.2.6</td><td align="left">Function template <code 
> > class="code">as_const</code></td><td align="left">Y</td><td align="left"> 
> > </td></tr><tr><td align="left">23.2.7</td><td align="left">Function 
> > template <code class="code">declval</code></td><td align="left">Y</td><td 
> > align="left"> </td></tr><tr><td align="left">23.2.8</td><td 
> > align="left">Primitive numeric output conversion</td><td 
> > align="left">Y</td><td align="left">
> > +     Floating-point types up to 64-bit are formatted using
> > +     <a class="link" href="https://github.com/ulfjack/ryu"; 
> > target="_top">Ryu</a>.
> > +     Types with greater precision are formatted using the C library
> > +     (<code class="function">sprintf</code> and conditionally
> > +     <code class="function">__strfrom128</code>).
> > +     For powerpc64le-unknown-linux-gnu <code 
> > class="function">__sprintfieee128</code>
> > +     must be provided by Glibc.
> > +      </td></tr><tr><td align="left">23.2.9</td><td align="left">Primitive 
> > numeric input conversion</td><td align="left">Y</td><td align="left">
> > +     Floating-point types up to 64-bit are parsed using
> > +     <a class="link" href="https://github.com/fast_float/fast_float"; 
> > target="_top">fast_float</a>.
> > +     Types with greater precision are parsed using the C library
> > +     (<code class="function">strtold</code>).
> > +     For powerpc64le-unknown-linux-gnu <code 
> > class="function">__strtoieee128</code>
> > +     must be provided by Glibc.
> > +      </td></tr><tr><td align="left">23.3</td><td 
> > align="left">Compile-time integer sequences</td><td align="left"> </td><td 
> > align="left"> </td></tr><tr><td align="left">23.4</td><td 
> > align="left">Pairs</td><td align="left">Y</td><td align="left"> 
> > </td></tr><tr><td align="left">23.5</td><td align="left">Tuples</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.6</td><td align="left">Optional objects</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.7</td><td align="left">Variants</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.8</td><td align="left">Storage for any type</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.9</td><td align="left">Bitsets</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.10</td><td align="left">Memory</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.10.1</td><td align="left">In general</td><td align="left"> 
> > </td><td align="left"> </td></tr><tr><td align="left">23.10.2</td><td 
> > align="left">Header <code class="code">&lt;memory&gt;</code> 
> > synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.10.3</td><td align="left">Pointer traits</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.10.4</td><td align="left">Pointer safety</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.10.5</td><td align="left">Align</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.10.6</td><td align="left">Allocator argument tag</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.10.7</td><td align="left"><code 
> > class="code">uses_allocator</code></td><td align="left">Y</td><td 
> > align="left"> </td></tr><tr><td align="left">23.10.8</td><td 
> > align="left">Allocator traits</td><td align="left">Y</td><td align="left"> 
> > </td></tr><tr><td align="left">23.10.9</td><td align="left">The default 
> > allocator</td><td align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.10.10</td><td align="left">Specialized algorithms</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.10.11</td><td align="left">C library memory 
> > allocation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.11</td><td align="left">Smart pointers</td><td 
> > align="left"> </td><td align="left"> </td></tr><tr><td 
> > align="left">23.11.1</td><td align="left">Class template <code 
> > class="code">unique_ptr</code></td><td align="left">Y</td><td align="left"> 
> > </td></tr><tr><td align="left">23.11.2</td><td 
> > align="left">Shared-ownership pointers</td><td align="left">Y</td><td 
> > align="left"> </td></tr><tr><td align="left">23.12</td><td 
> > align="left">Memory resources</td><td align="left"> </td><td align="left"> 
> > </td></tr><tr><td align="left">23.12.1</td><td align="left">Header <code 
> > class="code">&lt;memory_resource&gt;</code> synopsis</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.12.2</td><td align="left">Class <code 
> > class="code">memory_resource</code></td><td align="left">Y</td><td 
> > align="left"> </td></tr><tr><td align="left">23.12.3</td><td 
> > align="left">Class template <code 
> > class="code">polymorphic_allocator</code></td><td align="left">Y</td><td 
> > align="left"> </td></tr><tr><td align="left">23.12.4</td><td 
> > align="left">Access to program-wide <code 
> > class="code">memory_resource</code> objects</td><td align="left">Y</td><td 
> > align="left"> </td></tr><tr><td align="left">23.12.5</td><td 
> > align="left">Pool resource classes</td><td align="left">Y</td><td 
> > align="left"> </td></tr><tr><td align="left">23.12.6</td><td 
> > align="left">Class <code 
> > class="code">monotonic_buffer_resource</code></td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.13</td><td align="left">Class template <code 
> > class="code">scoped_allocator_adaptor</code></td><td align="left">Y</td><td 
> > align="left"> </td></tr><tr><td align="left">23.14</td><td 
> > align="left">Function objects</td><td align="left"> </td><td align="left"> 
> > </td></tr><tr><td align="left">23.14.1</td><td align="left">Header <code 
> > class="code">&lt;functional&gt;</code> synopsis</td><td align="left"> 
> > </td><td align="left"> </td></tr><tr><td align="left">23.14.2</td><td 
> > align="left">Definitions</td><td align="left"> </td><td align="left"> 
> > </td></tr><tr><td align="left">23.14.3</td><td 
> > align="left">Requirements</td><td align="left"> </td><td align="left"> 
> > </td></tr><tr><td align="left">23.14.4</td><td align="left">Function 
> > template <code class="code">invoke</code></td><td align="left">Y</td><td 
> > align="left"> </td></tr><tr><td align="left">23.14.5</td><td 
> > align="left">Class template <code 
> > class="code">reference_wrapper</code></td><td align="left">Y</td><td 
> > align="left"> </td></tr><tr><td align="left">23.14.6</td><td 
> > align="left">Arithmetic operation</td><td align="left">Y</td><td 
> > align="left"> </td></tr><tr><td align="left">23.14.7</td><td 
> > align="left">Comparisons</td><td align="left">Y</td><td align="left"> 
> > </td></tr><tr><td align="left">23.14.8</td><td align="left">Logical 
> > operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.14.9</td><td align="left">Bitwise operations</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.14.10</td><td align="left">Function template <code 
> > class="code">not_fn</code></td><td align="left">Y</td><td align="left"> 
> > </td></tr><tr><td align="left">23.14.11</td><td align="left">Function 
> > object binders</td><td align="left">Y</td><td align="left"> 
> > </td></tr><tr><td align="left">23.14.12</td><td align="left">Function 
> > template <code class="code">mem_fn</code></td><td align="left">Y</td><td 
> > align="left"> </td></tr><tr><td align="left">23.14.13</td><td 
> > align="left">Polymorphic function wrappers</td><td align="left">Y</td><td 
> > align="left"> </td></tr><tr><td align="left">23.14.14</td><td 
> > align="left">Searchers</td><td align="left">Y</td><td align="left"> 
> > </td></tr><tr><td align="left">23.14.15</td><td align="left">Class template 
> > <code class="code">hash</code></td><td align="left">Y</td><td align="left"> 
> > </td></tr><tr><td align="left">23.15</td><td align="left">Metaprogramming 
> > and type traits</td><td align="left"> </td><td align="left"> 
> > </td></tr><tr><td align="left">23.15.1</td><td 
> > align="left">Requirements</td><td align="left"> </td><td align="left"> 
> > </td></tr><tr><td align="left">23.15.2</td><td align="left">Header <code 
> > class="code">&lt;type_traits&gt;</code> synopsis</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.15.3</td><td align="left">Helper classes</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.15.4</td><td align="left">Unary Type Traits</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.15.5</td><td align="left">Type property queries</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.15.6</td><td align="left">Relationships between 
> > types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.15.7</td><td align="left">Transformations between 
> > types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.15.8</td><td align="left">Logical operator traits</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.16</td><td align="left">Compile-time rational 
> > arithmetic</td><td align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.17.1</td><td align="left">In general</td><td align="left"> 
> > </td><td align="left"> </td></tr><tr><td align="left">23.17.2</td><td 
> > align="left">Header <code class="code">&lt;chrono&gt;</code> 
> > synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td 
> > align="left">23.17</td><td align="left">Time utilities</td><td 
> > align="left"> </td><td align="left"> </td></tr><tr><td 
> > align="left">23.17.3</td><td align="left">Clock requirements</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.17.4</td><td align="left">Time-related traits</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.17.5</td><td align="left">Class template <code 
> > class="code">duration</code></td><td align="left">Y</td><td align="left"> 
> > </td></tr><tr><td align="left">23.17.6</td><td align="left">Class template 
> > <code class="code">time_point</code></td><td align="left">Y</td><td 
> > align="left"> </td></tr><tr><td align="left">23.17.7</td><td 
> > align="left">Clocks</td><td align="left">Y</td><td align="left"> 
> > </td></tr><tr><td align="left">23.17.8</td><td align="left">Header <code 
> > class="code">&lt;ctime&gt;</code> synopsis</td><td align="left">Y</td><td 
> > align="left"> </td></tr><tr><td align="left">23.18</td><td 
> > align="left">Class <code class="code">type_index</code></td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.19</td><td align="left">Execution policies</td><td 
> > align="left"> </td><td align="left"> </td></tr><tr><td 
> > align="left">23.19.1</td><td align="left">In general</td><td align="left"> 
> > </td><td align="left"> </td></tr><tr><td align="left">23.19.2</td><td 
> > align="left">Header <code class="code">&lt;execution&gt;</code> 
> > synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td 
> > align="left">23.19.3</td><td align="left">Execution policy type 
> > trait</td><td align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.19.4</td><td align="left">Sequenced execution 
> > policy</td><td align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.19.5</td><td align="left">Parallel execution policy</td><td 
> > align="left">Y</td><td align="left"> </td></tr><tr><td 
> > align="left">23.19.6</td><td align="left">Parallel and unsequenced 
> > execution policy</td><td align="left">Y</td><td align="left"> 
> > </td></tr><tr><td align="left">23.19.7</td><td align="left">Execution 
> > policy objects</td><td align="left">Y</td><td align="left"> 
> > </td></tr><tr><td align="left">
> >       <span class="emphasis"><em>24</em></span>
> >         </td><td colspan="3" align="left">
> >       <span class="emphasis"><em>Strings</em></span>
> > diff --git a/libstdc++-v3/doc/xml/manual/status_cxx2017.xml 
> > b/libstdc++-v3/doc/xml/manual/status_cxx2017.xml
> > index 48a0317950c3..8f33c853cb90 100644
> > --- a/libstdc++-v3/doc/xml/manual/status_cxx2017.xml
> > +++ b/libstdc++-v3/doc/xml/manual/status_cxx2017.xml
> > @@ -1183,14 +1183,31 @@ since C++14 and the implementation is complete.
> >       <row>
> >         <entry>23.2.8</entry>
> >         <entry>Primitive numeric output conversion</entry>
> > -      <entry>Partial</entry>
> > -      <entry/>
> > +      <entry>Y</entry>
> > +      <entry>
> > +     Floating-point types up to 64-bit are formatted using
> > +     <link xmlns:xlink="http://www.w3.org/1999/xlink";
> > +       xlink:href="https://github.com/ulfjack/ryu";>Ryu</link>.
> > +     Types with greater precision are formatted using the C library
> > +     (<function>sprintf</function> and conditionally
> > +     <function>__strfrom128</function>).
> > +     For powerpc64le-unknown-linux-gnu 
> > <function>__sprintfieee128</function>
> > +     must be provided by Glibc.
> > +      </entry>
> >       </row>
> >       <row>
> >         <entry>23.2.9</entry>
> >         <entry>Primitive numeric input conversion</entry>
> > -      <entry>Partial</entry>
> > -      <entry/>
> > +      <entry>Y</entry>
> > +      <entry>
> > +     Floating-point types up to 64-bit are parsed using
> > +     <link xmlns:xlink="http://www.w3.org/1999/xlink";
> > +       
> > xlink:href="https://github.com/fast_float/fast_float";>fast_float</link>.
>
> The link is actually https://github.com/fastfloat/fast_float.

Oh so it is, thanks. I've fixed that locally too.

>
> > +     Types with greater precision are parsed using the C library
> > +     (<function>strtold</function>).
> > +     For powerpc64le-unknown-linux-gnu <function>__strtoieee128</function>
> > +     must be provided by Glibc.
> > +      </entry>
> >       </row>
> >       <row>
> >         <entry>23.3</entry>
>

Reply via email to