On Sunday 15 January 2006 22:13, John David Anglin wrote:
> #include <stdio.h>
> unsigned char
> T (unsigned char x)
> {
>   static int first = 1;
>   static unsigned char firstx;
>
>   if (first)
>     {
>       first = 0;
>       firstx = x;
>       return ~x;
>     }
>
>   if (x == firstx)
>     printf ("Behavior is pre GCC 4.0\n");
>   else
>     printf ("Behavior is GCC 4.0 and later\n");
>   return 0;
> }

So firstx can have an indeterminate value coming into "if (x == firstx)"
and the behavior is still undefined.

For what it's worth, it annoys me to no end that you have managed to
turn more than a day of hard work to understand and fix PR24626 into
a discussion about defining undefined behavior.  I don't think I'll
ever look at HPPA bugs anymore if they don't affect me.

Gr.
Steven

Reply via email to