Prototypes for static functions that aren't used in between the prototype and the actual static function definition are useless and could be cleaned up, I think gcc itself has thousands of such useless prototypes.
It isn't hard to add a warning for this. Given: static void foo (int); #ifdef D void bar (void) { foo (0); } #endif static void foo (int x) { x++; } void baz (void) { foo (0); } we'd warn about the foo prototype (unless compiling with -DD). -- Summary: Warning for redundant static function prototypes Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jakub at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43728