Hi! Martin Liska mentioned that porting_to.html doesn't mention the C++ excess precision changes. Not really sure if porting_to should document those, but I think changes.html certainly should. And perhaps porting_to could have some examples and link to this spot in changes.
Ok for wwwdocs? --- a/htdocs/gcc-13/changes.html +++ b/htdocs/gcc-13/changes.html @@ -230,6 +230,21 @@ a work-in-progress.</p> <h3 id="cxx">C++</h3> <ul> + <li>Excess precision support (which has been available in C since GCC 4.5) + has been implemented for C++ as well. It is enabled by default + in strict standard modes like <code>-std=c++17</code>, where it + defaults to <code>-fexcess-precision=standard</code>, while in GNU + standard modes like <code>-std=gnu++20</code> it defaults to + <code>-fexcess-precision=fast</code>. The option affects mainly + IA-32/x86-64 where when defaulting to x87 math and in some cases on + Motorola 68000 <code>float</code> and <code>double</code> expressions + are evaluated in <code>long double</code> precision and S/390, System z, + IBM z Systems where <code>float</code> expressions are evaluated in + <code>double</code> precision. Also, on several architectures where + <code>std::float16_t</code> or <code>std::bfloat16_t</code> types + are supported those are evaluated in <code>float</code> precision. + <code>-fexcess-precision=fast</code> restores previous behavior. + </li> <li>Several C++23 features have been implemented: <ul> <li><a href="https://wg21.link/p2324">P2324R1</a>, Labels at the end of Jakub