https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46073
Martin Uecker <muecker at gwdg dot de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |muecker at gwdg dot de --- Comment #7 from Martin Uecker <muecker at gwdg dot de> --- To me, the text in the documentation "This may change in future revisions." merely expresses a possible future change, not necessarily that the current behavior is considered buggy. Regarding the declaration, those are processed at compile time even the the code is not evaluated at run-time. FWIW, the specification of _Generic in C23 intentionally requires all brances to be processed and checked including the branches which are not selected. What the C FE does though is that it suppresses some errors in the arms which are not evaluated.