From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 779AD384D19C; Sun, 12 Jun 2022 04:50:01 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 779AD384D19C From: "sam at gentoo dot org" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/105931] [12 regression] ICE in cxx_eval_constant_expression Date: Sun, 12 Jun 2022 04:50:01 +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: 12.1.1 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: sam at gentoo dot org 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: 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: Sun, 12 Jun 2022 04:50:01 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D105931 --- Comment #2 from Sam James --- Interesting! The minimised version of this is: ``` $ cat test.cxx template decltype(0 % ElemSize =3D=3D 0) ``` ``` $ g++ -o test.o -c -O2 test.cxx new.cxx:1:52: internal compiler error: unexpected expression =E2=80=98ElemS= ize=E2=80=99 of kind template_parm_index 1 | template decltype(0 % ElemSize =3D=3D 0) | ~~~~~~~~~~~~~^~~~ 0x6def33 cxx_eval_constant_expression =20=20=20=20=20=20=20 /usr/src/debug/sys-devel/gcc-12.1.1_p20220611/gcc-12-20220611/gcc/cp/conste= xpr.cc:7587 0x6df310 cxx_eval_outermost_constant_expr =20=20=20=20=20=20=20 /usr/src/debug/sys-devel/gcc-12.1.1_p20220611/gcc-12-20220611/gcc/cp/conste= xpr.cc:7824 0x6e154d potential_constant_expression_1 =20=20=20=20=20=20=20 /usr/src/debug/sys-devel/gcc-12.1.1_p20220611/gcc-12-20220611/gcc/cp/conste= xpr.cc:9274 0x6e1ef5 potential_constant_expression_1(tree_node*, bool, bool, bool, int) =20=20=20=20=20=20=20 /usr/src/debug/sys-devel/gcc-12.1.1_p20220611/gcc-12-20220611/gcc/cp/conste= xpr.cc:9550 0x6e1ef5 is_constant_expression(tree_node*) =20=20=20=20=20=20=20 /usr/src/debug/sys-devel/gcc-12.1.1_p20220611/gcc-12-20220611/gcc/cp/conste= xpr.cc:9607 0x6e1ef5 is_nondependent_constant_expression(tree_node*) =20=20=20=20=20=20=20 /usr/src/debug/sys-devel/gcc-12.1.1_p20220611/gcc-12-20220611/gcc/cp/conste= xpr.cc:9644 0x6e2b04 maybe_constant_value(tree_node*, tree_node*, bool) =20=20=20=20=20=20=20 /usr/src/debug/sys-devel/gcc-12.1.1_p20220611/gcc-12-20220611/gcc/cp/conste= xpr.cc:8071 0x74e35b fold_for_warn(tree_node*) =20=20=20=20=20=20=20 /usr/src/debug/sys-devel/gcc-12.1.1_p20220611/gcc-12-20220611/gcc/cp/expr.c= c:416 0x8c9552 shorten_compare(unsigned int, tree_node**, tree_node**, tree_node*= *, tree_code*) =20=20=20=20=20=20=20 /usr/src/debug/sys-devel/gcc-12.1.1_p20220611/gcc-12-20220611/gcc/c-family/= c-common.cc:3237 0x889d72 cp_build_binary_op(op_location_t const&, tree_code, tree_node*, tree_node*, int) =20=20=20=20=20=20=20 /usr/src/debug/sys-devel/gcc-12.1.1_p20220611/gcc-12-20220611/gcc/cp/typeck= .cc:6158 0x6bd96c build_new_op(op_location_t const&, tree_code, int, tree_node*, tree_node*, tree_node*, tree_node*, tree_node**, int) =20=20=20=20=20=20=20 /usr/src/debug/sys-devel/gcc-12.1.1_p20220611/gcc-12-20220611/gcc/cp/call.c= c:6935 0x88041b build_x_binary_op(op_location_t const&, tree_code, tree_node*, tree_code, tree_node*, tree_code, tree_node*, tree_node**, int) =20=20=20=20=20=20=20 /usr/src/debug/sys-devel/gcc-12.1.1_p20220611/gcc-12-20220611/gcc/cp/typeck= .cc:4563 0x81f7e7 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, boo= l, bool) =20=20=20=20=20=20=20 /usr/src/debug/sys-devel/gcc-12.1.1_p20220611/gcc-12-20220611/gcc/cp/pt.cc:= 20369 0x82337a instantiate_non_dependent_expr_internal(tree_node*, int) =20=20=20=20=20=20=20 /usr/src/debug/sys-devel/gcc-12.1.1_p20220611/gcc-12-20220611/gcc/cp/pt.cc:= 6367 0x82337a instantiate_non_dependent_expr_sfinae(tree_node*, int) =20=20=20=20=20=20=20 /usr/src/debug/sys-devel/gcc-12.1.1_p20220611/gcc-12-20220611/gcc/cp/pt.cc:= 6388 0x85eec3 finish_decltype_type(tree_node*, bool, int) =20=20=20=20=20=20=20 /usr/src/debug/sys-devel/gcc-12.1.1_p20220611/gcc-12-20220611/gcc/cp/semant= ics.cc:11255 0x7e183f cp_parser_decltype =20=20=20=20=20=20=20 /usr/src/debug/sys-devel/gcc-12.1.1_p20220611/gcc-12-20220611/gcc/cp/parser= .cc:16540 0x7fa3e7 cp_parser_simple_type_specifier =20=20=20=20=20=20=20 /usr/src/debug/sys-devel/gcc-12.1.1_p20220611/gcc-12-20220611/gcc/cp/parser= .cc:19647 0x7d6cbd cp_parser_type_specifier =20=20=20=20=20=20=20 /usr/src/debug/sys-devel/gcc-12.1.1_p20220611/gcc-12-20220611/gcc/cp/parser= .cc:19424 0x7d7d81 cp_parser_decl_specifier_seq =20=20=20=20=20=20=20 /usr/src/debug/sys-devel/gcc-12.1.1_p20220611/gcc-12-20220611/gcc/cp/parser= .cc:15905 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See for instructions. ``` This minimised version is only slightly different to the one in the original bug.=