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] | |
> > 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] |