https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97100
--- Comment #8 from Konstantin Kharlamov <Hi-Angel at yandex dot ru> --- (In reply to uecker from comment #7) > Fundamentally, the program is that _Generic is not ideally designed for this > use case. Why? > One could consider an extension > > _Generic(x, int i: f(i), long l: g(l)); > > that allows referring to the first argument with the type it would have in > each branch. Unless I'm missing something, a compiler already knows if `x` is an `int` or `long`. I see no benefit in devising such extension.