[Bug tree-optimization/97516] New: [11 Regression] ICE: tree check: expected class 'type', have 'exceptional' (error_mark) in useless_type_conversion_p, at gimple-expr.c:87

asolokha at gmx dot com gcc-bugzilla@gcc.gnu.org
Wed Oct 21 11:55:46 GMT 2020


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

            Bug ID: 97516
           Summary: [11 Regression] ICE: tree check: expected class
                    'type', have 'exceptional' (error_mark) in
                    useless_type_conversion_p, at gimple-expr.c:87
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
                CC: aldyh at gcc dot gnu.org
  Target Milestone: ---

g++-11.0.0-alpha20201018 snapshot (g:1e70b1a358b6ce3b894f284d88fbb90518d45cc0)
ICEs when compiling the following testcase w/ -O1 -ftree-vrp:

void
f0 (int eh)
{
  int bi;

  for (;;)
    {
      int yl;

      eh += bi / (yl = bi = 2);
      if (eh == 0)
        {
          int *p9 = &bi;

          while (yl < 1)
            {
              bi -= *p9;
              yl += bi;
            }
        }

      eh *= bi == 1;
      eh = (eh & 3) ? (eh + 1) : 0;
    }
}

% gcc-11.0.0 -O1 -ftree-vrp -c ca56p6z0.c
during GIMPLE pass: evrp
ca56p6z0.c: In function 'f0':
ca56p6z0.c:25:1: internal compiler error: tree check: expected class 'type',
have 'exceptional' (error_mark) in useless_type_conversion_p, at
gimple-expr.c:87
   25 | }
      | ^
0x718a64 tree_class_check_failed(tree_node const*, tree_code_class, char
const*, int, char const*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gcc/tree.c:9779
0x65480f tree_class_check(tree_node*, tree_code_class, char const*, int, char
const*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gcc/tree.h:3426
0x65480f useless_type_conversion_p(tree_node*, tree_node*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gcc/gimple-expr.c:87
0xdf3c94 verify_gimple_assign_binary
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gcc/tree-cfg.c:4147
0xe04d6a verify_gimple_in_cfg(function*, bool)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gcc/tree-cfg.c:5418
0xcdb72f execute_function_todo
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gcc/passes.c:1992
0xcdc56c do_per_function
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gcc/passes.c:1640
0xcdc56c execute_todo
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gcc/passes.c:2046


More information about the Gcc-bugs mailing list