This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: i686 bootstrap failure in revision 110699: looping in


> 
> On Wed, 2006-02-08 at 12:28 -0500, Andrew Pinski wrote:
> > > 
> > > I've build in a unified (symlink) tree, with sourceware stuff checked 
> > > out via cvs from date/time D2006.02.07.17.00.00
> > 
> > I am reducing this failure and will file a bug report.
> > 
> 
> This failure is actually a latent bug elsewhere in marking statements
> annotations with volatile ops
> 
> PRE doesn't touch statements that contain volatile operations because
> operand_equal_p claims two volatile operands are different, even if they
> look the same (which is the underlying cause of your infinite loop.  We
> keep thinking we've generated new values because the hash lookup never
> finds the old ones because operand_equal_p returns false)
> 
> All the other statements related to your volatile expressions have
> stmt_ann (stmt)->has_volatile_ops set to 1.
> 
> yet
> 
> (gdb) p ann->has_volatile_ops
> $18 = 0
> :(

I have a patch which is testing right now and I will apply it as pre-approved
(by Diego) once it has finishing testing. 

Thanks,
Andrew Pinski


ChangeLog:

	* tree-flow-inline.h (var_can_have_subvars): 
	Volatile variables should not have subvariables.


Attachment: fixvolatile.diff.txt
Description: ASCII C program text


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]