https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98043
Marek Polacek <mpolacek at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|11.0 |8.5 --- Comment #4 from Marek Polacek <mpolacek at gcc dot gnu.org> --- Candidate fix: --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -3711,6 +3711,10 @@ pop_switch (void) SWITCH_STMT_ALL_CASES_P (cs->switch_stmt) = 1; if (!cs->break_stmt_seen_p) SWITCH_STMT_NO_BREAK_P (cs->switch_stmt) = 1; + if (SWITCH_STMT_TYPE (cs->switch_stmt) + && SCOPED_ENUM_P (SWITCH_STMT_TYPE (cs->switch_stmt))) + SWITCH_STMT_TYPE (cs->switch_stmt) + = TREE_TYPE (SWITCH_STMT_COND (cs->switch_stmt)); gcc_assert (!cs->in_loop_body_p); splay_tree_delete (cs->cases); switch_stack = switch_stack->next;