https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122053

--- Comment #5 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Nathaniel Shead <[email protected]>:

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

commit r16-4228-gfa6544ef5f50a824cabeda4906453d4545fbf66f
Author: Nathaniel Shead <[email protected]>
Date:   Fri Sep 26 22:10:15 2025 +1000

    c++/modules: Avoid ICE when redefining a type reachable via import
[PR122053]

    This shouldn't be an error (see PR c++/99000), but we can at least avoid
    the ICE by ensuring that we load any pending type definition before
    calling pushdecl, so that we error before committing to filling in the
    class definition.

    Something like this will probably still be helpful even for implementing
    textual deduplication as we now at least ensure check_module_override is
    called for this case.

            PR c++/122053

    gcc/cp/ChangeLog:

            * name-lookup.cc (pushtag): Load any imported definition of type
            before calling pushdecl.

    gcc/testsuite/ChangeLog:

            * g++.dg/modules/pr122053_a.C: New test.
            * g++.dg/modules/pr122053_b.C: New test.

    Signed-off-by: Nathaniel Shead <[email protected]>
    Reviewed-by: Jason Merrill <[email protected]>

Reply via email to