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

            Bug ID: 97609
           Summary: [11 Regression] ICE: tree check: expected tree that
                    contains 'decl common' structure, have 'component_ref'
                    in tree_could_trap_p, at tree-eh.c:2708
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---

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

g++-11.0.0-alpha20201025 snapshot (g:308e40331f9d2820f8286769b5fc764671187364)
ICEs when compiling the attached testcase, reduced from
test/std/containers/sequences/forwardlist/forwardlist.ops/unique.pass.cpp from
the libcxx 10.0.1 test suite, w/ -O2 -fno-tree-fre -fnon-call-exceptions:

% g++-11.0.0 -O2 -fno-tree-fre -fnon-call-exceptions -c d1sutzlp.cpp
during GIMPLE pass: evrp
d1sutzlp.cpp: In member function 'forward_list< <template-parameter-1-1>,
<template-parameter-1-2> >::__remove_return_type forward_list<
<template-parameter-1-1>, <template-parameter-1-2> >::unique(_BinPred) [with
_BinPred = int; <template-parameter-1-1> = int; <template-parameter-1-2> =
int]':
d1sutzlp.cpp:41:1: internal compiler error: tree check: expected tree that
contains 'decl common' structure, have 'component_ref' in tree_could_trap_p, at
tree-eh.c:2708
   41 | }
      | ^
0x7dbdc8 tree_contains_struct_check_failed(tree_node const*,
tree_node_structure_enum, char const*, int, char const*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201025/work/gcc-11-20201025/gcc/tree.c:9903
0x780afc contains_struct_check(tree_node*, tree_node_structure_enum, char
const*, int, char const*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201025/work/gcc-11-20201025/gcc/tree.h:3417
0x780afc tree_could_trap_p(tree_node*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201025/work/gcc-11-20201025/gcc/tree-eh.c:2708
0x10875f4 stmt_could_throw_1_p
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201025/work/gcc-11-20201025/gcc/tree-eh.c:2868
0x10875f4 stmt_could_throw_p(function*, gimple*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201025/work/gcc-11-20201025/gcc/tree-eh.c:2922
0x1088fe5 stmt_could_throw_p(function*, gimple*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201025/work/gcc-11-20201025/gcc/tree-eh.c:2894
0x1088fe5 stmt_can_throw_internal(function*, gimple*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201025/work/gcc-11-20201025/gcc/tree-eh.c:2996
0x12cdff5 infer_value_range(gimple*, tree_node*, tree_code*, tree_node**)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201025/work/gcc-11-20201025/gcc/tree-vrp.c:1331
0x12cdff5 infer_value_range(gimple*, tree_node*, tree_code*, tree_node**)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201025/work/gcc-11-20201025/gcc/tree-vrp.c:1317
0x19b157f non_null_ref::process_name(tree_node*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201025/work/gcc-11-20201025/gcc/gimple-range-cache.cc:102
0x19b1694 non_null_ref::non_null_deref_p(tree_node*, basic_block_def*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201025/work/gcc-11-20201025/gcc/gimple-range-cache.cc:60
0x19b1694 non_null_ref::non_null_deref_p(tree_node*, basic_block_def*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201025/work/gcc-11-20201025/gcc/gimple-range-cache.cc:53
0x19b3a78 ranger_cache::fill_block_cache(tree_node*, basic_block_def*,
basic_block_def*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201025/work/gcc-11-20201025/gcc/gimple-range-cache.cc:772
0x19b3efd ranger_cache::block_range(irange&, basic_block_def*, tree_node*,
bool)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201025/work/gcc-11-20201025/gcc/gimple-range-cache.cc:589
0x19ac7e4 gimple_ranger::range_on_entry(irange&, basic_block_def*, tree_node*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201025/work/gcc-11-20201025/gcc/gimple-range.cc:939
0x19ad13b gimple_ranger::range_of_expr(irange&, tree_node*, gimple*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201025/work/gcc-11-20201025/gcc/gimple-range.cc:910
0x130e921 range_query::value_of_expr(tree_node*, gimple*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201025/work/gcc-11-20201025/gcc/value-query.cc:86
0x19bb0c1 hybrid_folder::value_of_expr(tree_node*, gimple*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201025/work/gcc-11-20201025/gcc/gimple-ssa-evrp.c:235
0x11c2784 substitute_and_fold_engine::replace_uses_in(gimple*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201025/work/gcc-11-20201025/gcc/tree-ssa-propagate.c:871
0x11c2aab substitute_and_fold_dom_walker::before_dom_children(basic_block_def*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201025/work/gcc-11-20201025/gcc/tree-ssa-propagate.c:1141

Reply via email to