https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88695
--- Comment #3 from Anders Granlund <anders.granlund.0 at gmail dot com> --- Yes, the type of f does have a prototype. That fact is however not relevant here. Note that I'm not making any calls to f here. I am only using f in a way that requires its type to be compatible with void (int) . The prototype mentioned in 6.7.3/15 refers to the prototype of the type void (int) in this case.