https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80866
Bug ID: 80866 Summary: [8 Regression] segfault in is_overloaded_fn() Product: gcc Version: 8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: trippels at gcc dot gnu.org CC: nathan at gcc dot gnu.org Target Milestone: --- % cat pow_test.ii void pow(); namespace math { template <typename T> void pow(T); } using namespace math; decltype(pow<>(0)) z(); % g++ -c pow_test.ii pow_test.ii:6:10: internal compiler error: Segmentation fault decltype(pow<>(0)) z(); ^~~~~ 0xd537bf crash_signal ../../gcc/gcc/toplev.c:337 0x7acc14 is_overloaded_fn(tree_node*) ../../gcc/gcc/cp/tree.c:2297 0x792535 finish_id_expression(tree_node*, tree_node*, tree_node*, cp_id_kind*, bool, bool, bool*, bool, bool, bool, bool, char const**, unsigned int) ../../gcc/gcc/cp/semantics.c:3742 0x6f25c2 cp_parser_primary_expression ../../gcc/gcc/cp/parser.c:5325 0x70576f cp_parser_postfix_expression ../../gcc/gcc/cp/parser.c:6781 0x70652d cp_parser_unary_expression ../../gcc/gcc/cp/parser.c:8117 0x707543 cp_parser_cast_expression ../../gcc/gcc/cp/parser.c:8796 0x707c67 cp_parser_binary_expression ../../gcc/gcc/cp/parser.c:8897 0x708544 cp_parser_assignment_expression ../../gcc/gcc/cp/parser.c:9184 0x70c388 cp_parser_expression ../../gcc/gcc/cp/parser.c:9353 0x70c87c cp_parser_decltype_expr ../../gcc/gcc/cp/parser.c:13756 0x70c87c cp_parser_decltype ../../gcc/gcc/cp/parser.c:13836 0x71294f cp_parser_simple_type_specifier ../../gcc/gcc/cp/parser.c:16735 0x7001bd cp_parser_type_specifier ../../gcc/gcc/cp/parser.c:16520 0x70140a cp_parser_decl_specifier_seq ../../gcc/gcc/cp/parser.c:13353 0x720551 cp_parser_simple_declaration ../../gcc/gcc/cp/parser.c:12678 0x721455 cp_parser_block_declaration ../../gcc/gcc/cp/parser.c:12625 0x726924 cp_parser_declaration ../../gcc/gcc/cp/parser.c:12523 0x72855b cp_parser_declaration_seq_opt ../../gcc/gcc/cp/parser.c:12399 0x72883a cp_parser_translation_unit ../../gcc/gcc/cp/parser.c:4364