https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112761
nrk at disroot dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |nrk at disroot dot org --- Comment #3 from nrk at disroot dot org --- > 6.7.6.2#1 ... The element type shall not be an incomplete or function type. Except it's *not* an array here. It's a pointer after adjustment: 6.7.6.3#7 A declaration of a parameter as ''array of type'' shall be adjusted to ''qualified pointer to type'' And in the case of function declarator, the not being an incomplete type constrain comes *after* the adjustment: 6.7.6.3#4 After adjustment, the parameters in a parameter type list in a function declarator that is part of a definition of that function shall not have incomplete type.