http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50165
--- Comment #6 from Markus Trippelsdorf <markus at trippelsdorf dot de> 2011-08-24 10:41:15 UTC --- (In reply to comment #4) > > - > > - if (ds1->len == ds2->len) > > - return memcmp (ds1->s, ds2->s, ds1->len) == 0; > > - > > - return 0; > > + return strcmp (ds1->s, ds2->s) == 0; > > } > > > > /* Returns a new bit-packing context for bit-packing into S. */ > > Can you check if keeping the ds1->len == ds2->len check in eq_string_slot_node > but using strcmp works as well? If not, then it seems ->len is not > properly initialized in all cases (which would explain that changing the > hash is also important). No, keeping the (ds1->len == ds2->len) check doesn't work.