Add PRs where possible and mark a few issues as done in GCC 16. Pushed.
-- >8 -- commit c55d60121d4c60f5401b67a377975c7a8477b240 Author: Marek Polacek <[email protected]> Date: Thu Feb 26 19:35:17 2026 -0500 cxx-dr-status: Update various DRs diff --git a/htdocs/projects/cxx-dr-status.html b/htdocs/projects/cxx-dr-status.html index 21389bbd..dec2cb73 100644 --- a/htdocs/projects/cxx-dr-status.html +++ b/htdocs/projects/cxx-dr-status.html @@ -3213,7 +3213,7 @@ <td>NAD</td> <td>Partial ordering and non-deduced arguments</td> <td class="other">N/A</td> - <td></td> + <td><a href="https://gcc.gnu.org/PR86193">PR86193</a></td> </tr> <tr> <td><a href="https://wg21.link/cwg456">456</a></td> @@ -3234,7 +3234,7 @@ <td>C++11</td> <td>Hiding of member template parameters by other members</td> <td class="unsupported">No</td> - <td><a href="https://gcc.gnu.org/PR96138">PR96138</a></td> + <td><a href="https://gcc.gnu.org/PR87841">PR87841</a></td> </tr> <tr> <td><a href="https://wg21.link/cwg459">459</a></td> @@ -3332,7 +3332,7 @@ <td>open</td> <td>Casting across protected inheritance</td> <td>-</td> - <td></td> + <td><a href="https://gcc.gnu.org/PR67943">PR67943</a></td> </tr> <tr> <td><a href="https://wg21.link/cwg473">473</a></td> @@ -4318,8 +4318,8 @@ <td><a href="https://wg21.link/cwg613">613</a></td> <td>CD1</td> <td>Unevaluated uses of non-static class members</td> - <td class="unsupported">?</td> - <td></td> + <td class="unsupported">No</td> + <td><a href="https://gcc.gnu.org/PR68604">PR68604</a></td> </tr> <tr> <td><a href="https://wg21.link/cwg614">614</a></td> @@ -10211,7 +10211,7 @@ <td>CD3</td> <td>Passing constants through <code>constexpr</code> functions via references</td> <td class="unsupported">?</td> - <td></td> + <td><a href="https://gcc.gnu.org/PR78223">PR78223</a></td> </tr> <tr> <td><a href="https://wg21.link/cwg1455">1455</a></td> @@ -11099,8 +11099,8 @@ <td><a href="https://wg21.link/cwg1581">1581</a></td> <td>CD5</td> <td>When are <code>constexpr</code> member functions defined?</td> - <td class="supported">Yes</td> - <td></td> + <td class="supported">Yes (but see PR115251)</td> + <td><a href="https://gcc.gnu.org/PR115251">PR115251</a></td> </tr> <tr class="open"> <td><a href="https://wg21.link/cwg1582">1582</a></td> @@ -11639,8 +11639,9 @@ <td><a href="https://wg21.link/cwg1658">1658</a></td> <td>C++14</td> <td>Deleted default constructor for abstract class via destructor</td> - <td class="unsupported">?</td> - <td></td> + <td class="unsupported">No</td> + <td><a href="https://gcc.gnu.org/PR91159">PR91159</a>, + <a href="https://gcc.gnu.org/PR80427">PR80427</a></td> </tr> <tr class="open"> <td><a href="https://wg21.link/cwg1659">1659</a></td> @@ -11723,7 +11724,7 @@ <td><a href="https://wg21.link/cwg1670">1670</a></td> <td>DR</td> <td><code>auto</code> as <I>conversion-type-id</I></td> - <td class="unsupported">?</td> + <td class="supported">16</td> <td></td> </tr> <tr> @@ -11996,7 +11997,7 @@ <td><a href="https://wg21.link/cwg1709">1709</a></td> <td>open</td> <td>Stringizing raw string literals containing newline</td> - <td>-</td> + <td class="supported">Yes</td> <td></td> </tr> <tr> @@ -12829,8 +12830,8 @@ <td><a href="https://wg21.link/cwg1828">1828</a></td> <td>CD6</td> <td><I>nested-name-specifier</I> ambiguity</td> - <td class="unsupported">?</td> - <td></td> + <td class="unsupported">No</td> + <td><a href="https://gcc.gnu.org/PR107889">PR107889</a></td> </tr> <tr> <td><a href="https://wg21.link/cwg1829">1829</a></td> @@ -12892,8 +12893,8 @@ <td><a href="https://wg21.link/cwg1837">1837</a></td> <td>CD6</td> <td>Use of <code>this</code> in <code>friend</code> and local class declarations</td> - <td class="unsupported">?</td> - <td></td> + <td class="unsupported">No</td> + <td><a href="https://gcc.gnu.org/PR59795">PR59795</a></td> </tr> <tr> <td><a href="https://wg21.link/cwg1838">1838</a></td> @@ -13144,8 +13145,8 @@ <td><a href="https://wg21.link/cwg1873">1873</a></td> <td>CD4</td> <td>Protected member access from derived class friends</td> - <td class="unsupported">?</td> - <td></td> + <td class="supported">No</td> + <td><a href="https://gcc.gnu.org/PR95407">PR95407</a></td> </tr> <tr> <td><a href="https://wg21.link/cwg1874">1874</a></td> @@ -15667,8 +15668,8 @@ <td><a href="https://wg21.link/cwg2233">2233</a></td> <td>CD5</td> <td>Function parameter packs following default arguments</td> - <td class="unsupported">?</td> - <td></td> + <td class="supported">Yes (but see PR95287)</td> + <td><a href="https://gcc.gnu.org/PR95287">PR95287</a></td> </tr> <tr> <td><a href="https://wg21.link/cwg2234">2234</a></td> @@ -16214,7 +16215,7 @@ <td>open</td> <td>Missed case for guaranteed copy elision</td> <td>-</td> - <td></td> + <td><a href="https://gcc.gnu.org/PR101500">PR101500</a></td> </tr> <tr> <td><a href="https://wg21.link/cwg2312">2312</a></td> @@ -16326,7 +16327,7 @@ <td>drafting</td> <td>Copy elision for direct-initialization with a conversion function</td> <td>-</td> - <td></td> + <td><a href="https://gcc.gnu.org/PR80943">PR80943</a></td> </tr> <tr class="open"> <td><a href="https://wg21.link/cwg2328">2328</a></td> @@ -16382,7 +16383,7 @@ <td>drafting</td> <td>Deduced return types vs member types</td> <td>-</td> - <td></td> + <td><a href="https://gcc.gnu.org/PR102734">PR102734</a></td> </tr> <tr> <td><a href="https://wg21.link/cwg2336">2336</a></td> @@ -16564,7 +16565,7 @@ <td>open</td> <td>Unclear description of <code>longjmp</code> undefined behavior</td> <td>-</td> - <td></td> + <td><a href="https://gcc.gnu.org/PR102237">PR102237</a></td> </tr> <tr class="open"> <td><a href="https://wg21.link/cwg2362">2362</a></td> @@ -17963,7 +17964,7 @@ <td><a href="https://wg21.link/cwg2561">2561</a></td> <td>CD7</td> <td>Conversion to function pointer for lambda with explicit object parameter</td> - <td class="unsupported">?</td> + <td class="supported">16</td> <td></td> </tr> <tr class="open"> @@ -17977,7 +17978,7 @@ <td><a href="https://wg21.link/cwg2563">2563</a></td> <td>review</td> <td>Initialization of coroutine result object</td> - <td class="unsupported">?</td> + <td class="supported">16</td> <td></td> </tr> <tr class="open"> @@ -18061,42 +18062,42 @@ <td><a href="https://wg21.link/cwg2575">2575</a></td> <td>open</td> <td>Undefined behavior when macro-replacing "defined" operator</td> - <td>-</td> + <td class="supported">Yes</td> <td></td> </tr> <tr class="open"> <td><a href="https://wg21.link/cwg2576">2576</a></td> <td>open</td> <td>Undefined behavior with macro-expanded <code>#include</code> directives</td> - <td>-</td> + <td class="supported">Yes</td> <td></td> </tr> <tr class="open"> <td><a href="https://wg21.link/cwg2577">2577</a></td> <td>open</td> <td>Undefined behavior for preprocessing directives in macro arguments</td> - <td>-</td> + <td class="supported">Yes</td> <td></td> </tr> <tr> <td><a href="https://wg21.link/cwg2578">2578</a></td> <td>CD7</td> <td>Undefined behavior when creating an invalid string literal via stringizing</td> - <td class="unsupported">?</td> + <td class="supported">Yes</td> <td></td> </tr> <tr> <td><a href="https://wg21.link/cwg2579">2579</a></td> <td>CD7</td> <td>Undefined behavior when token pasting does not create a preprocessing token</td> - <td class="unsupported">?</td> + <td class="supported">Yes</td> <td></td> </tr> <tr> <td><a href="https://wg21.link/cwg2580">2580</a></td> <td>CD7</td> <td>Undefined behavior with <code>#line</code></td> - <td class="unsupported">?</td> + <td class="supported">Yes</td> <td></td> </tr> <tr class="open"> @@ -19251,8 +19252,8 @@ <td><a href="https://wg21.link/cwg2745">2745</a></td> <td>CD7</td> <td>Dependent odr-use in generic lambdas</td> - <td class="unsupported">?</td> - <td></td> + <td class="unsupported">No</td> + <td><a href="https://gcc.gnu.org/PR121430">PR121430</a></td> </tr> <tr> <td><a href="https://wg21.link/cwg2746">2746</a></td> @@ -19797,8 +19798,8 @@ <td><a href="https://wg21.link/cwg2823">2823</a></td> <td>CD7</td> <td>Implicit undefined behavior when dereferencing pointers</td> - <td class="unsupported">?</td> - <td></td> + <td class="unsupported">No</td> + <td><a href="https://gcc.gnu.org/PR115592">PR115592</a></td> </tr> <tr> <td><a href="https://wg21.link/cwg2824">2824</a></td> @@ -21071,8 +21072,8 @@ <td><a href="https://wg21.link/cwg3005">3005</a></td> <td>accepted</td> <td>Function parameters should never be name-independent</td> - <td class="unsupported">?</td> - <td></td> + <td class="unsupported">No</td> + <td><a href="https://gcc.gnu.org/PR119871">PR119871</a></td> </tr> <tr> <td><a href="https://wg21.link/cwg3006">3006</a></td> @@ -21337,21 +21338,21 @@ <td><a href="https://wg21.link/cwg3043">3043</a></td> <td>accepted</td> <td>Lifetime extension for temporaries in expansion statements</td> - <td class="unsupported">?</td> + <td class="supported">16</td> <td></td> </tr> <tr> <td><a href="https://wg21.link/cwg3044">3044</a></td> <td>accepted</td> <td>Iterating expansion statements woes</td> - <td class="unsupported">?</td> + <td class="partial">16 (partial)</td> <td></td> </tr> <tr> <td><a href="https://wg21.link/cwg3045">3045</a></td> <td>accepted</td> <td>Regularizing environment interactions of expansion statement</td> - <td class="unsupported">?</td> + <td class="supported">16</td> <td></td> </tr> <tr class="open"> @@ -21372,7 +21373,7 @@ <td><a href="https://wg21.link/cwg3048">3048</a></td> <td>accepted</td> <td>Empty destructuring expansion statements</td> - <td class="unsupported">?</td> + <td class="supported">16</td> <td></td> </tr> <tr> @@ -21407,7 +21408,7 @@ <td><a href="https://wg21.link/cwg3053">3053</a></td> <td>accepted</td> <td>Allowing <code>#undef likely</code></td> - <td class="unsupported">?</td> + <td class="supported">16</td> <td></td> </tr> <tr class="open"> @@ -21463,7 +21464,7 @@ <td><a href="https://wg21.link/cwg3061">3061</a></td> <td>accepted</td> <td>Trailing comma in an <i>expansion-init-list</i></td> - <td class="unsupported">?</td> + <td class="supported">Yes</td> <td></td> </tr> <tr> @@ -21589,7 +21590,7 @@ <td><a href="https://wg21.link/cwg3079">3079</a></td> <td>DR</td> <td>Allow <i>empty-declaration</i>s in anonymous unions</td> - <td class="unsupported">?</td> + <td class="supported">Yes</td> <td></td> </tr> <tr> @@ -21743,7 +21744,7 @@ <td><a href="https://wg21.link/cwg3101">3101</a></td> <td>accepted</td> <td>Types "compounded" from other types</td> - <td class="unsupported">?</td> + <td class="supported">16</td> <td></td> </tr> <tr> @@ -21799,7 +21800,7 @@ <td><a href="https://wg21.link/cwg3109">3109</a></td> <td>accepted</td> <td>Access checking when designating a protected member by a splice</td> - <td class="unsupported">?</td> + <td class="supported">16</td> <td></td> </tr> <tr> @@ -21813,7 +21814,7 @@ <td><a href="https://wg21.link/cwg3111">3111</a></td> <td>DR</td> <td>Template parameter objects of array type</td> - <td class="unsupported">?</td> + <td class="supported">16</td> <td></td> </tr> <tr> @@ -21841,7 +21842,7 @@ <td><a href="https://wg21.link/cwg3115">3115</a></td> <td>accepted</td> <td>Function parameters of consteval-only type</td> - <td class="unsupported">?</td> + <td class="supported">16</td> <td></td> </tr> <tr> @@ -21855,7 +21856,7 @@ <td><a href="https://wg21.link/cwg3117">3117</a></td> <td>accepted</td> <td>Overriding by a consteval virtual function</td> - <td class="unsupported">?</td> + <td class="supported">16</td> <td></td> </tr> <tr> @@ -21897,7 +21898,7 @@ <td><a href="https://wg21.link/cwg3123">3123</a></td> <td>open</td> <td>Global lookup for <code>begin</code> and <code>end</code> for expansion statements</td> - <td>-</td> + <td class="supported">16</td> <td></td> </tr> <tr class="open"> @@ -21953,7 +21954,7 @@ <td><a href="https://wg21.link/cwg3131">3131</a></td> <td>open</td> <td>Value categories and types for the range in iterable expansion statements</td> - <td>-</td> + <td class="supported">16</td> <td></td> </tr> <tr> @@ -22048,10 +22049,11 @@ <td></td> </tr> </table> +<!-- https://cplusplus.github.io/CWG/issues/3153.html is implemented in 16 --> <p>This page is currently maintained by <a href="mailto:[email protected]">[email protected]</a>.</p> <p>Last update: -Thu Feb 26 06:34:15 PM EST 2026 +Thu Feb 26 07:35:11 PM EST 2026 </p> </body>
