The way the new_local_vars hash table is hashed in ipa-struct-reorg.c causes
spurious code differences across runs of GCC.  I saw this, for example, in
gcc.dg/struct/wo_prof_two_strs.c:

--- base-mn10300-gcc-build/gcc/cc1 -mam33
+++ mn10300-gcc-build/gcc/cc1 -mam33
@@ -117,12 +117,12 @@
        .comm   _p2,4,4
        .local  _num
        .comm   _num,4,4
-       .local  _p1___0
-       .comm   _p1___0,4,4
-       .local  _p1___1
-       .comm   _p1___1,4,4
        .local  _p2___0
        .comm   _p2___0,4,4
        .local  _p2___1
        .comm   _p2___1,4,4
+       .local  _p1___0
+       .comm   _p1___0,4,4
+       .local  _p1___1
+       .comm   _p1___1,4,4
        .ident  "GCC: (GNU) 4.4.0 20090314 (experimental)"


-- 
           Summary: incorrect pointer hashing in ipa-struct-reorg.c
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: bonzini at gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39806

Reply via email to