https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92451

            Bug ID: 92451
           Summary: [10 Regression] ICE: Segmentation fault (in
                    add_candidates)
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Keywords: error-recovery, 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.0-alpha20191110 snapshot (r278028) ICEs when compiling the following
testcase reduced from test/CXX/temp/temp.deduct.guide/p3.cpp from the clang
9.0.0 testsuite:

template<typename T> struct Local {};
void f() {
  Local(int);
}

% g++-10.0.0-alpha20191110 -std=c++17 -c dlhpwdpu.cpp
dlhpwdpu.cpp: In function 'void f()':
dlhpwdpu.cpp:3:12: error: class template argument deduction failed:
    3 |   Local(int);
      |            ^
dlhpwdpu.cpp:3:12: internal compiler error: Segmentation fault
0xe81bf0 crash_signal
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191110/work/gcc-10-20191110/gcc/toplev.c:329
0x7ec36a add_candidates
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191110/work/gcc-10-20191110/gcc/cp/call.c:5772
0x7f20d2 add_candidates
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191110/work/gcc-10-20191110/gcc/cp/call.c:5696
0x7f20d2 perform_overload_resolution
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191110/work/gcc-10-20191110/gcc/cp/call.c:4461
0x7f57ea build_new_function_call(tree_node*, vec<tree_node*, va_gc,
vl_embed>**, int)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191110/work/gcc-10-20191110/gcc/cp/call.c:4535
0x950b30 do_class_deduction
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191110/work/gcc-10-20191110/gcc/cp/pt.c:28070
0x950b30 do_auto_deduction(tree_node*, tree_node*, tree_node*, int,
auto_deduction_context, tree_node*, int)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191110/work/gcc-10-20191110/gcc/cp/pt.c:28118
0x9c07cf build_functional_cast(tree_node*, tree_node*, int)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191110/work/gcc-10-20191110/gcc/cp/typeck2.c:2270
0x8e8a9f cp_parser_functional_cast
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191110/work/gcc-10-20191110/gcc/cp/parser.c:29182
0x8fed45 cp_parser_postfix_expression
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191110/work/gcc-10-20191110/gcc/cp/parser.c:7122
0x8e40a7 cp_parser_binary_expression
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191110/work/gcc-10-20191110/gcc/cp/parser.c:9480
0x8e4f7f cp_parser_assignment_expression
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191110/work/gcc-10-20191110/gcc/cp/parser.c:9780
0x8e520c cp_parser_expression
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191110/work/gcc-10-20191110/gcc/cp/parser.c:9948
0x8e8685 cp_parser_expression_statement
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191110/work/gcc-10-20191110/gcc/cp/parser.c:11599
0x8f32b5 cp_parser_statement
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191110/work/gcc-10-20191110/gcc/cp/parser.c:11395
0x8f4785 cp_parser_statement_seq_opt
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191110/work/gcc-10-20191110/gcc/cp/parser.c:11742
0x8f4852 cp_parser_compound_statement
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191110/work/gcc-10-20191110/gcc/cp/parser.c:11696
0x9098cf cp_parser_function_body
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191110/work/gcc-10-20191110/gcc/cp/parser.c:22866
0x9098cf cp_parser_ctor_initializer_opt_and_function_body
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191110/work/gcc-10-20191110/gcc/cp/parser.c:22917
0x90ca15 cp_parser_function_definition_after_declarator
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191110/work/gcc-10-20191110/gcc/cp/parser.c:28586

Reply via email to