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

            Bug ID: 59890
           Summary: var-tracking.c:val_reset segfaults
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: rtl-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: rguenth at gcc dot gnu.org

With changed iteration order during bootstrap I get into

#0  0x0000000000c99933 in pointer_set_lookup (pset=0x0, p=0x21d3f20, ix=
    0x7fffffffd9c8) at /space/rguenther/src/svn/trunk/gcc/pointer-set.c:86
#1  0x0000000000c99aa7 in pointer_map_contains (pmap=0x0, p=0x21d3f20)
    at /space/rguenther/src/svn/trunk/gcc/pointer-set.c:211
#2  0x000000000105906e in val_reset (set=0x2109338, dv=0x21d3f20)
    at /space/rguenther/src/svn/trunk/gcc/var-tracking.c:2511
#3  0x00000000010599dd in variable_post_merge_new_vals (slot=0x21e8fa0, dfpm=
    0x7fffffffdb80) at /space/rguenther/src/svn/trunk/gcc/var-tracking.c:4429
#4  0x0000000001061ab2 in hash_table<variable_hasher,
xcallocator>::traverse_noresize<dfset_post_merge*,
&(variable_post_merge_new_vals(variable_def**, dfset_post_merge*))>
(this=0x7fffffffdb90, argument=0x7fffffffdb80)
    at /space/rguenther/src/svn/trunk/gcc/hash-table.h:928
#5  0x0000000001061b39 in hash_table<variable_hasher,
xcallocator>::traverse<dfset_post_merge*,
&(variable_post_merge_new_vals(variable_def**, dfset_post_merge*))>
(this=0x7fffffffdb90, argument=0x7fffffffdb80)
    at /space/rguenther/src/svn/trunk/gcc/hash-table.h:950
#6  0x0000000001059bdc in dataflow_post_merge_adjust (set=0x2109338, permp=
    0x2109838) at /space/rguenther/src/svn/trunk/gcc/var-tracking.c:4555
#7  0x000000000105d2f7 in vt_find_locations ()
    at /space/rguenther/src/svn/trunk/gcc/var-tracking.c:7021

where val_reset is called with a NULL local_get_addr_cache.  The fix seems
obvious.

Reply via email to