From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 380C13857C49; Sat, 24 Oct 2020 08:50:08 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 380C13857C49 From: "asolokha at gmx dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/97560] New: [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 Date: Sat, 24 Oct 2020 08:50:07 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Version: 11.0 X-Bugzilla-Keywords: ice-on-valid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: asolokha at gmx dot com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status keywords bug_severity priority component assigned_to reporter target_milestone Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 24 Oct 2020 08:50:08 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D97560 Bug ID: 97560 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 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 Target Milestone: --- g++-11.0.0-alpha20201018 snapshot (g:1e70b1a358b6ce3b894f284d88fbb90518d45c= c0) ICEs when compiling the following testcase, reduced from test/libcxx/containers/sequences/list/list.cons/db_move.pass.cpp from the libcxx 10.0.1 test suite, w/ -O2 -fno-tree-forwprop -fnon-call-exceptions: template struct pv; template struct pv { typedef CY g7; }; template typename pv::g7 hq (Q6 &&lb) { return static_cast::g7 &&> (lb); } struct fk { fk *j6; fk *od; }; fk *qi; struct xz : fk { xz (xz &&) { qi =3D this; if (j6) od =3D this; } }; struct el { struct { xz ls; } eu; }; struct be : el { }; be l1 =3D hq (l1); % g++-11.0.0 -O2 -fno-tree-forwprop -fnon-call-exceptions -c um06grxw.cpp during GIMPLE pass: evrp um06grxw.cpp: In function 'void __static_initialization_and_destruction_0(i= nt, int)': um06grxw.cpp:41:16: 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 | be l1 =3D hq (l1); | ^ 0x7e046c tree_contains_struct_check_failed(tree_node const*, tree_node_structure_enum, char const*, int, char const*) =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gc= c/tree.c:9903 0x785391 contains_struct_check(tree_node*, tree_node_structure_enum, char const*, int, char const*) =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gc= c/tree.h:3417 0x785391 tree_could_trap_p(tree_node*) =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gc= c/tree-eh.c:2708 0x1087624 stmt_could_throw_1_p =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gc= c/tree-eh.c:2868 0x1087624 stmt_could_throw_p(function*, gimple*) =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gc= c/tree-eh.c:2922 0x1089035 stmt_could_throw_p(function*, gimple*) =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gc= c/tree-eh.c:2894 0x1089035 stmt_can_throw_internal(function*, gimple*) =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gc= c/tree-eh.c:2996 0x12ca68a infer_value_range(gimple*, tree_node*, tree_code*, tree_node**) =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gc= c/tree-vrp.c:1331 0x1b1d42f non_null_ref::process_name(tree_node*) =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gc= c/gimple-range-cache.cc:102 0x1b1d544 non_null_ref::non_null_deref_p(tree_node*, basic_block_def*) =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gc= c/gimple-range-cache.cc:60 0x1b1d544 non_null_ref::non_null_deref_p(tree_node*, basic_block_def*) =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gc= c/gimple-range-cache.cc:53 0x1b1eda9 ranger_cache::ssa_range_in_bb(irange&, tree_node*, basic_block_de= f*) =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gc= c/gimple-range-cache.cc:555 0x1b1f0cd ranger_cache::iterative_cache_update(tree_node*) =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gc= c/gimple-range-cache.cc:638 0x1b1f5f2 ranger_cache::fill_block_cache(tree_node*, basic_block_def*, basic_block_def*) =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gc= c/gimple-range-cache.cc:808 0x1b1fda6 ranger_cache::block_range(irange&, basic_block_def*, tree_node*, bool) =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gc= c/gimple-range-cache.cc:589 0x1b18784 gimple_ranger::range_on_entry(irange&, basic_block_def*, tree_nod= e*) =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gc= c/gimple-range.cc:909 0x1b18eeb gimple_ranger::range_of_expr(irange&, tree_node*, gimple*) =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gc= c/gimple-range.cc:880 0x130cb4d range_query::value_of_expr(tree_node*, gimple*) =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gc= c/value-query.cc:85 0x19b4831 hybrid_folder::value_of_expr(tree_node*, gimple*) =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gc= c/gimple-ssa-evrp.c:235 0x11c0594 substitute_and_fold_engine::replace_uses_in(gimple*) =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gc= c/tree-ssa-propagate.c:871=