------- Comment #3 from burnus at gcc dot gnu dot org 2009-06-09 12:09 ------- The problem is that fsym->ts.cl of all of "a", "b", "c" and "d" to the same struct:
(gdb) p sym->formal->sym->name $17 = 0x2aaaaab31ec8 "a" (gdb) p sym->formal->sym->ts $18 = {... cl = 0x12b6da0 ...} (gdb) p sym->formal->next->sym->name $19 = 0x2aaaaab31ed0 "b" (gdb) p sym->formal->next->sym->ts $20 = {... cl = 0x12b6da0 ...} Thus f->sym->ts.cl->passed_length = length; in create_function_arglist does not do what one expects. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40383