------- Comment #1 from pinskia at gcc dot gnu dot org 2010-03-20 20:40 ------- (f->sp++)->u.number) ? ((Int) 0x1L) : ((Int) 0x0L)) | (((--f->sp)->type = 0x01, f->sp->u.number = ivar10, (f->argp + 3)->u.number = ivar3, i_funcall(f, (object *) ((void *)0), (array *) ((void *)0), 0, 5 , 1), (f->sp++)->u.number) ? ((Int) 0x4L) : ((Int) 0x0L))));
I almost want to say there is no sequence point between the modifications of f->sp in the above code. I cannot remember the rules for ?: and sequence points right now. If there is none, then this code is undefined and the bug is invalid. Otherwise we are missing that point of the sequence point. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43456