https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106080
--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> --- On the statement expression part, it is documented that jumping into statement expression is not allowed too: https://gcc.gnu.org/onlinedocs/gcc-12.2.0/gcc/Statement-Exprs.html#Statement-Exprs >Jumping into a statement expression with goto or using a switch statement >outside the statement expression with a case or default label inside the >statement expression is not permitted. Jumping into a statement expression >with a computed goto (see Labels as Values) has undefined behavior.