------- Comment #15 from rask at gcc dot gnu dot org 2007-10-28 15:54 ------- In reply to comment #14: > is your patch supposed to help with testcase presented in comment #6?
No, it's aimed at the problem from the description. That is, GCC itself doesn't work if compiled with a compiler where f(int a, int b) is called differently than f(int a, ...). I don't think your testcase is actually supposed to work. Don't you get a warning if you take out (void *) and compile with -Wall? As pinpointed in comment #2, GCC contains the same incorrect type cast. I actually forgot to patch this part: Index: gcc/genoutput.c =================================================================== --- gcc/genoutput.c (revision 129503) +++ gcc/genoutput.c (working copy) @@ -386,7 +386,7 @@ output_insn_data (void) } if (d->name && d->name[0] != '*') - printf (" (insn_gen_fn) gen_%s,\n", d->name); + printf (" gen_%s,\n", d->name); else printf (" 0,\n"); -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12081