Compiling the below program produces a warning when it should not. This bug is also present in the gcc3 package. Cheers! [bcrl@toomuch ~]$ gcc -Wall -o /dev/null gcc-warning.c gcc-warning.c:4: warning: parameter has incomplete type ... gcc-warning.c ... struct iocb; struct foo { void (*bar)(struct iocb); };
It is true that ISO C99 allows incomplete types in function prototypes, on the other side I don't think it forbids such a warning. I'll ask Joseph what he thinks about it.
Tracked upstream: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17881