[Bug c++/96645] [13/14/15/16/17 Regression] [CWG2335] std::variant default constructor and unparsed DMI

"cvs-commit at gcc dot gnu.org via Gcc-bugs" <[email protected]>
Newsgroups gmane.comp.gcc.bugs
Message-ID <[email protected]/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96645

--- Comment #39 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Jason Merrill <[email protected]>:

https://gcc.gnu.org/g:e3e1c72649c3a0b48af70f88bcd942c46b0d00ab

commit r17-2718-ge3e1c72649c3a0b48af70f88bcd942c46b0d00ab
Author: Jason Merrill <[email protected]>
Date:   Fri Jul 24 15:17:32 2026 -0400

    c++: parse trivial DMI immediately [PR96645]

    The current direction of CWG2335 is to parse complete-class contexts as
    needed rather than always wait until the end of the outermost class.

    This doesn't fully implement that (nor fully fix PR96645), but takes a step
    in that direction by allowing simple cases that do no name lookup; then
    being in complete class scope makes no difference.

            CWG 2335
            PR c++/96645

    gcc/cp/ChangeLog:

            * parser.cc (cp_parser_early_parsing_nsdmi): New.
            (cp_parser_member_declaration): Call it.

    gcc/testsuite/ChangeLog:

            * g++.dg/cpp0x/nsdmi10.C: Distinguish simple case.
            * g++.dg/ext/is_constructible7.C: New.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.