From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 6B92C3857C5B; Thu, 23 Jul 2020 19:29:30 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6B92C3857C5B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1595532570; bh=4nNkeA/vjF5i/yaoNmGGGeusuJcah6/KpktmG3gzS2U=; h=From:To:Subject:Date:In-Reply-To:References:From; b=IG69bNNe9dZqr1rghtdt4UKVyqAD6q0Pli3TLzM+9j1Kn9E9X/u/1hhpVjlTpTNow yrIZlQdZ/udSuvwynJGwZfFOUMhfIoVhgHFF9VJQTqCqjxIvBYVkrCHkTYVzu3UJ8E zzdmE+rOOskCK3J9ZS4GJ0whdsQdQyTEF/whG5JE= From: "mpolacek at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/86002] ICE with requires in constexpr if condition Date: Thu, 23 Jul 2020 19:29:30 +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: 8.1.1 X-Bugzilla-Keywords: ice-on-valid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: mpolacek at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: mpolacek at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cc assigned_to everconfirmed cf_reconfirmed_on bug_status 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: Thu, 23 Jul 2020 19:29:30 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D86002 Marek Polacek changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mpolacek at gcc dot gnu.org Assignee|unassigned at gcc dot gnu.org |mpolacek at gcc dot= gnu.org Ever confirmed|0 |1 Last reconfirmed| |2020-07-23 Status|UNCONFIRMED |ASSIGNED --- Comment #1 from Marek Polacek --- GCC 9 ICEs 86002.C: In instantiation of =E2=80=98int f(T) [with T =3D X]=E2=80=99: 86002.C:15:17: required from here 86002.C:7:30: internal compiler error: in tsubst_copy, at cp/pt.c:15680 7 | if constexpr (requires { t.i; }) | ^ 0xa07611 tsubst_copy /home/mpolacek/src/gcc9/gcc/cp/pt.c:15680 0xa1dd78 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, boo= l, bool) /home/mpolacek/src/gcc9/gcc/cp/pt.c:19676 0xa1e716 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, boo= l, bool) /home/mpolacek/src/gcc9/gcc/cp/pt.c:19794 0xa16968 tsubst_non_call_postfix_expression /home/mpolacek/src/gcc9/gcc/cp/pt.c:18159 0xa1c97b tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, boo= l, bool) /home/mpolacek/src/gcc9/gcc/cp/pt.c:19455 0xa16347 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /home/mpolacek/src/gcc9/gcc/cp/pt.c:18067 0x8a018e tsubst_simple_requirement /home/mpolacek/src/gcc9/gcc/cp/constraint.cc:1778 0x8a018e tsubst_requirement /home/mpolacek/src/gcc9/gcc/cp/constraint.cc:1836 0x8a018e tsubst_requirement_body /home/mpolacek/src/gcc9/gcc/cp/constraint.cc:1859 0x8a018e tsubst_requires_expr(tree_node*, tree_node*, int, tree_node*) /home/mpolacek/src/gcc9/gcc/cp/constraint.cc:1891 0xa1e641 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, boo= l, bool) /home/mpolacek/src/gcc9/gcc/cp/pt.c:19782 0xa16347 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /home/mpolacek/src/gcc9/gcc/cp/pt.c:18067 0xa11390 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /home/mpolacek/src/gcc9/gcc/cp/pt.c:17417 0xa11afb tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /home/mpolacek/src/gcc9/gcc/cp/pt.c:17472 0xa34241 instantiate_decl(tree_node*, bool, bool) /home/mpolacek/src/gcc9/gcc/cp/pt.c:24975 0xa34c1a instantiate_pending_templates(int) /home/mpolacek/src/gcc9/gcc/cp/pt.c:25091 0x915c43 c_parse_final_cleanups() /home/mpolacek/src/gcc9/gcc/cp/decl2.c:4818 But GCC 10+ compiles it fine.=