[Bug c++/85208] New: ICE with #pragma weak and structured binding
reichelt at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Apr 4 18:56:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85208
Bug ID: 85208
Summary: ICE with #pragma weak and structured binding
Product: gcc
Version: 8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: reichelt at gcc dot gnu.org
Target Milestone: ---
The following valid code snippet (compiled with "-std=c++17") triggers
an ICE since GCC 7.1.0 (when structured bindings were introduced):
======================
#pragma weak foo
struct A { int i; };
auto [a] = A();
======================
bug.cc:5:6: internal compiler error: in write_unqualified_name, at
cp/mangle.c:1338
auto [a] = A();
^~~
0x619dda write_unqualified_name
../../gcc/gcc/cp/mangle.c:1338
0x8e61a7 write_name
../../gcc/gcc/cp/mangle.c:937
0x8e5986 write_encoding
../../gcc/gcc/cp/mangle.c:825
0x8ea224 mangle_decl_string
../../gcc/gcc/cp/mangle.c:3792
0x8f0070 get_mangled_id
../../gcc/gcc/cp/mangle.c:3814
0x8f0070 mangle_decl(tree_node*)
../../gcc/gcc/cp/mangle.c:3852
0x1147c4d decl_assembler_name(tree_node*)
../../gcc/gcc/tree.c:687
0xa4cfdc maybe_apply_pragma_weak(tree_node*)
../../gcc/gcc/c-family/c-pragma.c:291
0x8abea4 start_decl(cp_declarator const*, cp_decl_specifier_seq*, int,
tree_node*, tree_node*, tree_node**)
../../gcc/gcc/cp/decl.c:5094
0x94466d cp_parser_decomposition_declaration
../../gcc/gcc/cp/parser.c:13262
0x94466d cp_parser_simple_declaration
../../gcc/gcc/cp/parser.c:12979
0x945218 cp_parser_block_declaration
../../gcc/gcc/cp/parser.c:12874
0x9491a2 cp_parser_declaration
../../gcc/gcc/cp/parser.c:12772
0x9495b1 cp_parser_declaration_seq_opt
../../gcc/gcc/cp/parser.c:12648
0x9498a4 cp_parser_translation_unit
../../gcc/gcc/cp/parser.c:4563
0x9498a4 c_parse_file()
../../gcc/gcc/cp/parser.c:39016
0xa494d6 c_common_parse_file()
../../gcc/gcc/c-family/c-opts.c:1132
Please submit a full bug report, [etc.]
More information about the Gcc-bugs
mailing list