https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96383
--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Agreed, and we do want the prototypes of used functions even when it costs some increase in debug info size, because without that one say can't easily call in a debugger those functions unless debug info for the library they are defined in is available. Well, one can always do p ((int (*)(int, int)) foo) (2, 3) instead of just p foo (2, 3) which gdb disallows because it doesn't have the prototype, but it is ugly.