------- 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

Reply via email to