https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114628
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|[14 Regression] ICE in |ICE with _BitInt with |gimple_check_failed at |computed gotos with |gimple.cc:1337 while |returns_twice and -g and |compiling bitint-100.c |optimization Status|UNCONFIRMED |NEW Ever confirmed|0 |1 Last reconfirmed| |2024-04-07 Target Milestone|14.0 |--- --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Confirmed, ICEs with just `-O1 -g`. Reduced testcase: ``` int foo (int); __attribute__((returns_twice)) int bar (_BitInt(129) x); void corge (int x, _BitInt(129) y) { void *q[] = { &&l1, &&l2 }; l2: x = foo (foo (3)); bar (y); #if 1 goto *q[x & 1]; #endif l1: } ``` Note we get 2 difference ICEs depending on if `#if ` is 1 or 0. It seems like it would be useful if some more torture tests for _BitInt were included so `-g` gets a little more testing.