https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86408
--- Comment #3 from janus at gcc dot gnu.org --- (In reply to janus from comment #0) > Moreover the error message does not really match the quoted standard clause > F03:C418, which says: > > "A function name declared with an asterisk type-param-value shall not be an > array, a pointer, recursive, or pure." > > 1) This does not talk about abstract interfaces at all, but functions in > general. > 2) The function in the examples has no asterisk type-param-value. > 3) The function in the example is neither an array, pointer, recursive or > pure. I would say that F03:C417 is more relevant in the context of the check that is being done there: C417 A function name shall not be declared with an asterisk type-param-value unless it is of type CHARACTER and is the name of the result of an external function or the name of a dummy function.