------- Comment #2 from rguenth at gcc dot gnu dot org 2010-03-20 20:53 ------- (In reply to comment #1) > (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.
There's a sequence point after evaluating the first operand. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43456