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;
        }
     }

Reply via email to