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

            Bug ID: 88861
           Summary: [9 Regression] ICE in calc_dfs_tree, at
                    dominance.c:458
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
                CC: segher at gcc dot gnu.org
  Target Milestone: ---
              Host: x86_64-pc-linux-gnu
            Target: ppc64-linux-gnu

Following is causing ICE:

$ cat flex.ii
struct Ax {
  int n, a[];
};

int i = 12345678;
int main() {
  static Ax s{456, i};
  ((s.a[0]) ? (void)0 : (void)0);
}

$ ppc64-linux-gnu-g++ flex.ii -O2 -fnon-call-exceptions -c

during RTL pass: ce2
flex.ii: In function ‘int main()’:
flex.ii:9:1: internal compiler error: in calc_dfs_tree, at dominance.c:458
    9 | }
      | ^
0x5923df calc_dfs_tree
       
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64/build/gcc/dominance.c:458
0x82365d calculate_dominance_info(cdi_direction)
       
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64/build/gcc/dominance.c:734
0x7c476d flow_loops_find(loops*)
       
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64/build/gcc/cfgloop.c:431
0x9ed2ae loop_optimizer_init(unsigned int)
       
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64/build/gcc/loop-init.c:93
0x117c280 if_convert
       
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64/build/gcc/ifcvt.c:5374
0x117dc1d execute
       
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64/build/gcc/ifcvt.c:5553

Reply via email to