https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100003
Bug ID: 100003
Summary: internal compiler error: in merge_exception_specifiers
Product: gcc
Version: 11.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: mpolacek at gcc dot gnu.org
Target Milestone: ---
The directive here is important:
# 9 "" 3
template <typename T> struct S {
bool foo();
S() noexcept(foo());
};
template<typename T> S<T>::S() noexcept(T::value) {}
$ ./cc1plus -quiet q.C
:13:49: internal compiler error: in merge_exception_specifiers, at
cp/typeck2.c:2420
0xe1e274 merge_exception_specifiers(tree_node*, tree_node*)
/home/mpolacek/src/gcc/gcc/cp/typeck2.c:2420
0xdef11c merge_types(tree_node*, tree_node*)
/home/mpolacek/src/gcc/gcc/cp/typeck.c:890
0xb14e18 duplicate_decls(tree_node*, tree_node*, bool, bool)
/home/mpolacek/src/gcc/gcc/cp/decl.c:2339
0xb3a380 grokfndecl
/home/mpolacek/src/gcc/gcc/cp/decl.c:10143
0xb468b3 grokdeclarator(cp_declarator const*, cp_decl_specifier_seq*,
decl_context, int, tree_node**)
/home/mpolacek/src/gcc/gcc/cp/decl.c:13903
0xb54ba2 start_function(cp_decl_specifier_seq*, cp_declarator const*,
tree_node*)
/home/mpolacek/src/gcc/gcc/cp/decl.c:16838
0xcb0635 cp_parser_function_definition_from_specifiers_and_declarator
/home/mpolacek/src/gcc/gcc/cp/parser.c:29904
0xc9f847 cp_parser_init_declarator
/home/mpolacek/src/gcc/gcc/cp/parser.c:21634
0xcb1f58 cp_parser_single_declaration
/home/mpolacek/src/gcc/gcc/cp/parser.c:30528
0xcb0bdd cp_parser_template_declaration_after_parameters
/home/mpolacek/src/gcc/gcc/cp/parser.c:30100
0xcb1b51 cp_parser_explicit_template_declaration
/home/mpolacek/src/gcc/gcc/cp/parser.c:30366
0xcb1bab cp_parser_template_declaration_after_export
/home/mpolacek/src/gcc/gcc/cp/parser.c:30385
0xc95af6 cp_parser_template_declaration
/home/mpolacek/src/gcc/gcc/cp/parser.c:16594
0xc913c4 cp_parser_declaration
/home/mpolacek/src/gcc/gcc/cp/parser.c:14070
0xc917d7 cp_parser_toplevel_declaration
/home/mpolacek/src/gcc/gcc/cp/parser.c:14168
0xc7d11f cp_parser_translation_unit
/home/mpolacek/src/gcc/gcc/cp/parser.c:4942
0xce022a c_parse_file()
/home/mpolacek/src/gcc/gcc/cp/parser.c:45268
0xea2d8e c_common_parse_file()
/home/mpolacek/src/gcc/gcc/c-family/c-opts.c:1218