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