------- Additional Comments From manus at eiffel dot com 2004-11-09 23:34 ------- Also one thing I forgot to add. Is that if you replace `char' by `int' then there is no warning at all:
extern void f();
void g(int a) {
void * fnptr = f;
((void (*) (int)) fnptr) (a); /* Ok. */
((void (*) (int)) f)(a); /* Not Ok. */
}
Why `char' does trigger the warning and not `int'? This looks like a bug to
me.
Thanks,
Manu
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18411
