https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105149
--- Comment #7 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- I think it's valid to reject this at compile time (rather than just generating a runtime trap): the "such that the type of a pointer to an object that has the specified type can be obtained simply by postfixing a * to type" can never be satisfied for a function type, even if e.g. a typedef name is used so that postfixing '*' produces valid syntax for the corresponding pointer type, because it still wouldn't be "the type of a pointer to an object".