Ping. Attached please find patch is for trunk (gcc-4.9):
Index: gcc/ira-costs.c =================================================================== --- gcc/ira-costs.c (revision 206236) +++ gcc/ira-costs.c (working copy) @@ -155,7 +155,7 @@ inline bool cost_classes_hasher::equal (const value_type *hv1, const compare_type *hv2) { return hv1->num == hv2->num && memcmp (hv1->classes, hv2->classes, - sizeof (enum reg_class) * hv1->num); + sizeof (enum reg_class) * hv1->num) == 0; } /* Delete cost classes info V from the hash table. */ Cheers, Fei. > Hi Vladimir, > > I am trying to fix a potential bug of cost_classes_eq in ira-costs.c. This > patch > is for gcc-4.8 branch and should work for gcc-4.9. > Library function memcmp return 0 if no difference for the two compared data. > Please take a look. > > > /* Compares cost classes info V1 and V2. */ static int cost_classes_eq (const > void *v1, const void *v2) { > const_cost_classes_t hv1 = (const_cost_classes_t) v1; > const_cost_classes_t hv2 = (const_cost_classes_t) v2; > > return hv1->num == hv2->num && memcmp (hv1->classes, hv2->classes, > - sizeof (enum reg_class) * hv1->num); > + sizeof (enum reg_class) * hv1->num) == > 0; > } > > Cheers, > Fei