https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102557

            Bug ID: 102557
           Summary: [12 Regression] ICE: Segmentation fault signal
                    terminated program cc1plus (indefinite recursion in
                    modref_ref_node<int>::insert_access)
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: ipa
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
                CC: marxin at gcc dot gnu.org
  Target Milestone: ---

Created attachment 51533
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51533&action=edit
Testcase

g++-12.0.0-alpha20210926 snapshot (g:fe2771b291c2c7c0ac37b75ec5b160937524b60c)
ICEs when compiling the attached testcase, reduced from
libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/6.cc, w/ -O3
--param max-inline-insns-single=2 --param modref-max-accesses=2:

% g++-12.0.0 -O3 --param max-inline-insns-single=2 --param
modref-max-accesses=2 -c xv7snbwu.cc
g++-12.0.0: internal compiler error: Segmentation fault signal terminated
program cc1plus

(gdb) where
#0  0x0000000000f345c7 in modref_access_node::merge
(this=this@entry=0x7ffff77533f8, a=...,
    record_adjustments=record_adjustments@entry=false)
    at
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210926/work/gcc-12-20210926/gcc/ipa-modref-tree.h:204
#1  0x0000000000f35235 in modref_access_node::forced_merge
(this=0x7ffff77533f8, a=..., record_adjustments=<optimized out>)
    at
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210926/work/gcc-12-20210926/gcc/ipa-modref-tree.h:351
#2  0x0000000000f39654 in modref_ref_node<int>::insert_access
(this=this@entry=0x7ffff7732f00, a=...,
    max_accesses=max_accesses@entry=2,
record_adjustments=record_adjustments@entry=false)
    at
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210926/work/gcc-12-20210926/gcc/ipa-modref-tree.h:575
#3  0x0000000000f397de in modref_ref_node<int>::insert_access
(this=this@entry=0x7ffff7732f00, a=...,
    max_accesses=max_accesses@entry=2,
record_adjustments=record_adjustments@entry=false)
    at
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210926/work/gcc-12-20210926/gcc/ipa-modref-tree.h:596

Reply via email to