From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 1AB09385DC06; Wed, 15 Apr 2020 05:31:35 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1AB09385DC06 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1586928695; bh=5pfvk6XIW2ycQEUupFPg4ccsBZe7Bt3WQDlSyldMWLI=; h=From:To:Subject:Date:In-Reply-To:References:From; b=fJd4/NilRyL8fnbHf3F39L1YjvTIGfPhTAMo3Y7JPAelVdDKirWPEztKkd9WTjSV0 vFoo9TX6+SbNAVFVkRrvh1uZYvURMSn2egv/QW6SXxqxyEYqUwi3aWjYjbzbBvFE2H RwBW0vgQEcILyxy6K/3FEME6MuiyrKgG0gInGyTs= From: "marxin at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/94597] [10 Regression] ICE while using a concept checking for user defined conversion operator since r10-3735-gcb57504a55015891 Date: Wed, 15 Apr 2020 05:31:34 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Version: 10.0 X-Bugzilla-Keywords: ice-on-valid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: marxin at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 10.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cf_known_to_fail cc keywords everconfirmed short_desc cf_known_to_work target_milestone bug_status cf_reconfirmed_on Message-ID: In-Reply-To: References: 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: Wed, 15 Apr 2020 05:31:35 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D94597 Martin Li=C5=A1ka changed: What |Removed |Added ---------------------------------------------------------------------------- Known to fail| |10.0 CC| |jason at gcc dot gnu.org, | |marxin at gcc dot gnu.org Keywords| |ice-on-valid-code Ever confirmed|0 |1 Summary|ICE while using a concept |[10 Regression] ICE while |checking for user defined |using a concept checking |conversion operator |for user defined conversion | |operator since | |r10-3735-gcb57504a55015891 Known to work| |9.3.0 Target Milestone|--- |10.0 Status|UNCONFIRMED |NEW Last reconfirmed| |2020-04-15 --- Comment #1 from Martin Li=C5=A1ka --- Confirmed, started with r10-3735-gcb57504a55015891. Reduced test-case: $ cat pr94597.ii template concept d =3D requires(b e) { e.operator = c; }; template requires(d) bool equal(f, g); template struct i { i(h); operator h(); }; bool fun() { i a(2.0f); return equal(a, 3.0f); } $ g++ -std=3Dc++2a -fconcepts pr94597.ii -c pr94597.ii: In instantiation of =E2=80=98bool equal(f, g) [with f =3D i; g =3D float]=E2=80=99: pr94597.ii:9:23: required from here pr94597.ii:1:74: internal compiler error: tree check: accessed elt 2 of =E2=80=98tree_vec=E2=80=99 with 1 elts in tsubst, at cp/pt.c:15175 1 | template concept d =3D requires(b e) { e.operator c; }; |=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 ~~~~~~~~~~~^ 0x84239d tree_vec_elt_check_failed(int, int, char const*, int, char const*) /home/marxin/Programming/gcc/gcc/tree.c:9928 0x6a6a8b tree_vec_elt_check(tree_node*, int, char const*, int, char const*) /home/marxin/Programming/gcc/gcc/tree.h:3508 0x6a6a8b tsubst(tree_node*, tree_node*, int, tree_node*) /home/marxin/Programming/gcc/gcc/cp/pt.c:15175 0xab6c3b tsubst_copy /home/marxin/Programming/gcc/gcc/cp/pt.c:16821 0xabd7e4 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, boo= l, bool) /home/marxin/Programming/gcc/gcc/cp/pt.c:20125 0xab0677 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /home/marxin/Programming/gcc/gcc/cp/pt.c:18690 0x982f25 tsubst_valid_expression_requirement /home/marxin/Programming/gcc/gcc/cp/constraint.cc:1867 0x982f25 tsubst_simple_requirement /home/marxin/Programming/gcc/gcc/cp/constraint.cc:1880 0x982f25 tsubst_requirement /home/marxin/Programming/gcc/gcc/cp/constraint.cc:2032 0x982f25 tsubst_requirement_body /home/marxin/Programming/gcc/gcc/cp/constraint.cc:2054 0x982f25 tsubst_requires_expr(tree_node*, tree_node*, int, tree_node*) /home/marxin/Programming/gcc/gcc/cp/constraint.cc:2170 0xabd8da tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, boo= l, bool) /home/marxin/Programming/gcc/gcc/cp/pt.c:20440 0xab0677 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /home/marxin/Programming/gcc/gcc/cp/pt.c:18690 0x9829d8 satisfy_atom /home/marxin/Programming/gcc/gcc/cp/constraint.cc:2595 0x9829d8 satisfy_constraint_r /home/marxin/Programming/gcc/gcc/cp/constraint.cc:2657 0x982dd8 satisfy_constraint /home/marxin/Programming/gcc/gcc/cp/constraint.cc:2677 0x983f42 satisfy_declaration_constraints /home/marxin/Programming/gcc/gcc/cp/constraint.cc:2776 0x983f42 constraint_satisfaction_value /home/marxin/Programming/gcc/gcc/cp/constraint.cc:2812 0x9843fa constraints_satisfied_p(tree_node*) /home/marxin/Programming/gcc/gcc/cp/constraint.cc:2846 0x933368 add_function_candidate /home/marxin/Programming/gcc/gcc/cp/call.c:2288 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See for instructions. $ g++-9 -std=3Dc++2a -fconcepts pr94597.ii -c [ok]=