This is the mail archive of the gcc-bugs@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]

[Bug middle-end/27793] New: num_ssa_names inconsistent or immediate use iterator wrong


The testcase I'll attach momentarily segfaults/ICEs at random places for a
checking enabled 4.1.1 compiler.  Valgrind has more useful information as

==31272== Invalid read of size 4
==31272==    at 0x82AC3C3: verify_ssa (tree-ssa.c:746)
==31272==    by 0x8731ED8: execute_todo (passes.c:761)
...
==31272==  Address 0x456FA58 is 8 bytes after a block of size 120 alloc'd
==31272==    at 0x402064B: calloc (in
/usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==31272==    by 0x88D0817: xcalloc (xmalloc.c:162)
==31272==    by 0x82ABA7F: verify_ssa (tree-ssa.c:637)

which means we access definition_block[SSA_NAME_VERSION (op)] with
SSA_NAME_VERSION (op) >= num_ssa_names.  Attaching with gdb at this point
also shows op being corrupt (0x433230c), so it may be well the iterator
being bogus.

It's hard to reduce the testcase further as it is very sensitive to number
of ssa names and allocation profile.


-- 
           Summary: num_ssa_names inconsistent or immediate use iterator
                    wrong
           Product: gcc
           Version: 4.1.1
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: rguenth at gcc dot gnu dot org


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]