[Bug c++/85135] New: [7/8 Regression] ICE with invalid late-specified return type
reichelt at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Mar 30 19:35:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85135
Bug ID: 85135
Summary: [7/8 Regression] ICE with invalid late-specified
return type
Product: gcc
Version: 8.0
Status: UNCONFIRMED
Keywords: ice-on-invalid-code
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: reichelt at gcc dot gnu.org
Target Milestone: ---
The following invalid code snippet (compiled with "-std=c++1z")
triggers an ICE since GCC 7.1.0:
====================================
template<int> struct A {};
auto foo() -> A;
template<typename> struct B {};
auto foo() -> A;
====================================
bug.cc:7:15: internal compiler error: canonical types differ for identical
types A and A
auto foo() -> A;
^
0x75c440 comptypes(tree_node*, tree_node*, int)
../../gcc-7.1.0/gcc/cp/typeck.c:1433
0x6229a8 decls_match(tree_node*, tree_node*)
../../gcc-7.1.0/gcc/cp/decl.c:1085
0x6232fc duplicate_decls(tree_node*, tree_node*, bool)
../../gcc-7.1.0/gcc/cp/decl.c:1409
0x810ee8 pushdecl_maybe_friend_1
../../gcc-7.1.0/gcc/cp/name-lookup.c:835
0x810ee8 pushdecl_maybe_friend(tree_node*, bool)
../../gcc-7.1.0/gcc/cp/name-lookup.c:1352
0x639635 start_decl(cp_declarator const*, cp_decl_specifier_seq*, int,
tree_node*, tree_node*, tree_node**)
../../gcc-7.1.0/gcc/cp/decl.c:5137
0x722a07 cp_parser_init_declarator
../../gcc-7.1.0/gcc/cp/parser.c:19255
0x74718c cp_parser_simple_declaration
../../gcc-7.1.0/gcc/cp/parser.c:12777
0x747f25 cp_parser_block_declaration
../../gcc-7.1.0/gcc/cp/parser.c:12602
0x74d3d4 cp_parser_declaration
../../gcc-7.1.0/gcc/cp/parser.c:12500
0x74f00b cp_parser_declaration_seq_opt
../../gcc-7.1.0/gcc/cp/parser.c:12376
0x74f2ea cp_parser_translation_unit
../../gcc-7.1.0/gcc/cp/parser.c:4366
0x74f2ea c_parse_file()
../../gcc-7.1.0/gcc/cp/parser.c:38431
0x8b25e3 c_common_parse_file()
../../gcc-7.1.0/gcc/c-family/c-opts.c:1107
Please submit a full bug report, [etc.]
More information about the Gcc-bugs
mailing list