https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56724
--- Comment #16 from Marek Polacek <mpolacek at gcc dot gnu.org> --- What's not fixed is this: r.c:3:5: note: expected ‘int (*)(double *)’ but argument is of type ‘int (*)(int *)’ int callf (int, int, int (*)(double *)); ^ we should point to the actual parameter. I think PR60129 is a dupe for this, though. We'll probably have to add some *location_t stuff into the function_decl or somewhere for this...