Additional notes:

On Tue, Jun 20, 2006 at 01:20:56AM +0900, YONETANI Tomokazu wrote:
> > Hm. Could be a bug in the reordering done for character arrays only.
> > If you can create a smaller testcase, we can bug Etoh about it :-)
> 
> Done.  It's very hard to narrow down when gdb lies to me :)
> (attached)

> static int
> bar(void *p)
> {
>       char baz[9];
>       int val = 1;
> 
>       /* just to quiet gcc, no effects on the result */
>       (void)baz; (void)val;

Turned out that `val' is not needed, only baz[] with its size > 8bytes
is needed.
 
>       if (true_expr && !p)
>               p = &foo;
>       if (true_expr && !p)

And if you exchange `true_expr' and `!p' around `&&' in either or both
of if-statement above, the bug is not triggered.

Reply via email to