https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110106
--- Comment #6 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-13 branch has been updated by Marek Polacek <mpola...@gcc.gnu.org>: https://gcc.gnu.org/g:d44830a1364cf8cb726d59e91298a5b3077a86d9 commit r13-8148-gd44830a1364cf8cb726d59e91298a5b3077a86d9 Author: Marek Polacek <pola...@redhat.com> Date: Tue Jul 18 16:02:21 2023 -0400 c++: fix ICE with is_really_empty_class [PR110106] is_really_empty_class is liable to crash when it gets an incomplete or dependent type. Since r11-557, we pass the yet-uninstantiated class type S<0> of the PARM_DECL s to is_really_empty_class -- because of the potential_rvalue_constant_expression -> is_rvalue_constant_expression change in cp_parser_constant_expression. Here we're not parsing a template so we did not check COMPLETE_TYPE_P as we should. It should work to complete the type before checking COMPLETE_TYPE_P. PR c++/110106 gcc/cp/ChangeLog: * constexpr.cc (potential_constant_expression_1): Try to complete the type when !processing_template_decl. gcc/testsuite/ChangeLog: * g++.dg/cpp0x/noexcept80.C: New test. (cherry picked from commit e36d1994051122fc6e1f8c728fbd109a59e0a822)