https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122540
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
CC| |jakub at gcc dot gnu.org
Assignee|unassigned at gcc dot gnu.org |jakub at gcc dot gnu.org
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Untested fix:
2025-11-18 Jakub Jelinek <[email protected]>
PR c++/122540
* decl.cc (start_enum): When setting ENUM_UNDERLYING_TYPE
to integer_type_node during error recovery, also call copy_type_enum.
--- gcc/cp/decl.cc.jj 2025-11-15 11:57:53.020056413 +0100
+++ gcc/cp/decl.cc 2025-11-18 17:47:56.029713633 +0100
@@ -18723,6 +18723,7 @@ start_enum (tree name, tree enumtype, tr
{
error ("underlying type %qT of %qT must be an integral type",
underlying_type, enumtype);
+ copy_type_enum (enumtype, integer_type_node);
ENUM_UNDERLYING_TYPE (enumtype) = integer_type_node;
}
}