------- Additional Comments From rearnsha at gcc dot gnu dot org  2005-09-30 
10:13 -------
Confirmed by visual inspection of the assembly code.

What seems to be happening is this:

After if conversion we have (pseudo code)

a ? alpha.style = 1
a ? ...
!a ? alpha.style = 2
!a ? ...

inlined_memcpy(newinfo->fig->alpha, alpha, sizeof (alpha)

and this is transformed by the scheduler into 

a ? alpha.style = 1
a ? ...
!a ? ...
inlined_memcpy(newinfo->fig->alpha, alpha, sizeof (alpha))
!a ? alpha.style = 2

That is, alpha.style is only set to 2 after alpha has been copied elsewhere.

Disabling sched-2 also avoids the problem.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
      Known to fail|3.3.1 3.4.3                 |3.3.1 3.4.3 3.4.5
   Last reconfirmed|0000-00-00 00:00:00         |2005-09-30 10:13:03
               date|                            |


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

Reply via email to