[Bug c++/94462] New: ICE in duplicate_decls, at cp/decl.c:1456
asolokha at gmx dot com
gcc-bugzilla@gcc.gnu.org
Thu Apr 2 19:43:02 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94462
Bug ID: 94462
Summary: ICE in duplicate_decls, at cp/decl.c:1456
Product: gcc
Version: 10.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++-10.0.1-alpha20200329 snapshot (g:60c254b279e8e8443b8ad26cc46b9e4084cff66c)
ICEs when compiling the following testcase, extracted from
test/CXX/except/except.spec/p11-2a.cpp from the clang 10.0.0 test suite, w/
-std=c++2a:
namespace std {
struct strong_ordering {
};
}
namespace Synth {
struct B {
friend std::strong_ordering operator<=>(B, B) = default;
};
struct C {
friend bool operator==(C, C);
};
}
% g++-10.0.1 -std=c++2a -c nfj6urxw.cpp
nfj6urxw.cpp:12:32: internal compiler error: in duplicate_decls, at
cp/decl.c:1456
12 | friend bool operator==(C, C);
| ^
0x60bd06 duplicate_decls(tree_node*, tree_node*, bool)
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/decl.c:1456
0x973a60 do_pushdecl
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/name-lookup.c:3045
0x9759a3 pushdecl(tree_node*, bool)
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/name-lookup.c:3174
0x9759a3 do_pushdecl_with_scope
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/name-lookup.c:3856
0x975b81 pushdecl_namespace_level(tree_node*, bool)
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/name-lookup.c:5080
0x936333 do_friend(tree_node*, tree_node*, tree_node*, tree_node*,
overload_flags, bool)
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/friend.c:627
0x90082c grokdeclarator(cp_declarator const*, cp_decl_specifier_seq*,
decl_context, int, tree_node**)
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/decl.c:13363
0x91d4cf grokfield(cp_declarator const*, cp_decl_specifier_seq*, tree_node*,
bool, tree_node*, tree_node*)
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/decl2.c:841
0x9c1f06 cp_parser_member_declaration
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:25331
0x994d61 cp_parser_member_specification_opt
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:24775
0x994d61 cp_parser_class_specifier_1
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:23872
0x996eab cp_parser_class_specifier
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:24179
0x996eab cp_parser_type_specifier
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:17708
0x997fb5 cp_parser_decl_specifier_seq
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:14356
0x998a54 cp_parser_simple_declaration
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:13610
0x9c3302 cp_parser_declaration
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:13430
0x9c3042 cp_parser_toplevel_declaration
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:13458
0x9c3042 cp_parser_declaration_seq_opt
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:13306
0x9c3042 cp_parser_namespace_body
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:19716
0x9c3042 cp_parser_namespace_definition
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:19694
More information about the Gcc-bugs
mailing list