https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71463
--- Comment #14 from Jakub Jelinek <jakub at gcc dot gnu.org> --- > I imagine it was to support using them on function pointers. Yes, that is the reason why they apply to function types rather than decls.