https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102804
--- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> --- Oops, sorry the reduced example was missing the first line. Fixed, and further reduced: using int32_t = int; enum: unsigned int32_t { foo }; int f(int); int f(unsigned); auto x = f(1 ? foo : 1);