------- Comment #7 from pinskia at gcc dot gnu dot org 2008-05-07 21:10 ------- Better reduced testcase: typedef unsigned long int uintptr_t; typedef struct _FcCharLeaf { } FcCharLeaf; struct _FcCharLeafEnt { unsigned int hash; int leaf; }; struct _FcCharSetFreezer { int orig_hash_table[67]; }; struct _FcCharLeafEnt *ent; int a, f(FcCharLeaf * ); void FcCharSetFreeze (struct _FcCharSetFreezer *freezer, int *fcs) { int i; for (i = 0; i < *fcs; i++) { FcCharLeaf *leaf = (FcCharLeaf *)fcs; unsigned int hash = f (leaf); if (ent->hash == hash) a = ent->leaf; if (!a) return; } freezer->orig_hash_table[((uintptr_t) fcs) & 67] = 0; }
PRE is creating the mismatched PHI nodes. -- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2008-05-07 21:10:58 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36172