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]>
