------- Additional Comments From law at redhat dot com  2005-07-09 21:58 -------
Subject: Re:  [4.0/4.1 Regression] &volatile_var !=
        &volatile_var is always true

On Sat, 2005-07-09 at 17:58 +0000, pinskia at gcc dot gnu dot org wrote:
> ------- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-09 
> 17:58 -------
> This fails also at -O0:
> volatile int x;
> 
> int main()
> {
>   if (&x != &x)
>    abort ();
>   return 0;
> }
> 
> And this testcase worked in 3.4.x too so this is defintely a fold bug.
It's a bug in how the folder uses operand_equal_p.  operand_equal_p is
not equivalent to a C equality test, but fold_binary is using it to
evaluate a C equality test and thus getting the wrong results.

I've got a patch ready to go, but won't get it checked in until Monday
or possibly even Tuesday depending on some personal commitments.

jeff




-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22321

Reply via email to