https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100517
Bug ID: 100517
Summary: [12 Regression] ICE in rvalue, at cp/tree.c:946
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Keywords: ice-on-invalid-code
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: asolokha at gmx dot com
Target Milestone: ---
g++-12.0.0-alpha20210509 snapshot (g:5e0236d3b0e0d7ad98bcee36128433fa755b5558)
ICEs when compiling the following testcase, reduced from
test/SemaCXX/vector-casts.cpp from the clang 11.1.0 test suite:
typedef int __v2si __attribute__ ((__vector_size__ (8)));
struct S { };
void
f (S s)
{
(void) reinterpret_cast<__v2si> (s);
}
% g++-12.0.0 -c jtptvwic.cpp
jtptvwic.cpp: In function 'void f(S)':
jtptvwic.cpp:8:37: internal compiler error: in rvalue, at cp/tree.c:946
8 | (void) reinterpret_cast<__v2si> (s);
| ^
0x6dbbce rvalue(tree_node*)
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210509/work/gcc-12-20210509/gcc/cp/tree.c:946
0xb3fec4 build_reinterpret_cast_1
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210509/work/gcc-12-20210509/gcc/cp/typeck.c:8114
0xb40913 build_reinterpret_cast(unsigned int, tree_node*, tree_node*, int)
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210509/work/gcc-12-20210509/gcc/cp/typeck.c:8157
0xb40913 build_reinterpret_cast(unsigned int, tree_node*, tree_node*, int)
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210509/work/gcc-12-20210509/gcc/cp/typeck.c:8136
0xa5ed8f cp_parser_postfix_expression
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210509/work/gcc-12-20210509/gcc/cp/parser.c:7204
0xa46910 cp_parser_cast_expression
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210509/work/gcc-12-20210509/gcc/cp/parser.c:9689
0xa46f62 cp_parser_binary_expression
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210509/work/gcc-12-20210509/gcc/cp/parser.c:9839
0xa478fd cp_parser_assignment_expression
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210509/work/gcc-12-20210509/gcc/cp/parser.c:10143
0xa48f02 cp_parser_expression
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210509/work/gcc-12-20210509/gcc/cp/parser.c:10313
0xa4c728 cp_parser_expression_statement
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210509/work/gcc-12-20210509/gcc/cp/parser.c:12048
0xa58123 cp_parser_statement
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210509/work/gcc-12-20210509/gcc/cp/parser.c:11844
0xa59dcd cp_parser_statement_seq_opt
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210509/work/gcc-12-20210509/gcc/cp/parser.c:12196
0xa59ea8 cp_parser_compound_statement
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210509/work/gcc-12-20210509/gcc/cp/parser.c:12145
0xa77924 cp_parser_function_body
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210509/work/gcc-12-20210509/gcc/cp/parser.c:24094
0xa77924 cp_parser_ctor_initializer_opt_and_function_body
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210509/work/gcc-12-20210509/gcc/cp/parser.c:24145
0xa7954a cp_parser_function_definition_after_declarator
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210509/work/gcc-12-20210509/gcc/cp/parser.c:30088
0xa7a989 cp_parser_function_definition_from_specifiers_and_declarator
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210509/work/gcc-12-20210509/gcc/cp/parser.c:30004
0xa7a989 cp_parser_init_declarator
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210509/work/gcc-12-20210509/gcc/cp/parser.c:21664
0xa55d57 cp_parser_simple_declaration
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210509/work/gcc-12-20210509/gcc/cp/parser.c:14464
0xa83af5 cp_parser_declaration
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210509/work/gcc-12-20210509/gcc/cp/parser.c:14161