https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109321
            Bug ID: 109321
           Summary: [13 Regression] ICE in iterative_hash_template_arg, at
                    cp/pt.cc:1727
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gs...@t-online.de
  Target Milestone: ---

Started between 20230226 and 20230312, with -std=c++20 or -std=c++23 :


$ cat z1.cc
struct A;
template<class C> struct B;
template<class, class C=A> using D = B<C>;
void f () { D() = 0; }


$ g++-13-20230326 -c z1.cc -std=c++23
z1.cc: In substitution of 'template<class C> B()-> B<C> requires 
__is_deducible (D, B<C>) [with C = A]':
z1.cc:4:15:   required from here
z1.cc:4:15: internal compiler error: Segmentation fault
    4 | void f () { D() = 0; }
      |               ^
0xe24a1f crash_signal
        ../../gcc/toplev.cc:314
0x88209c iterative_hash_template_arg(tree_node*, unsigned int)
        ../../gcc/cp/pt.cc:1727
0x762f71 sat_hasher::hash(sat_entry*)
        ../../gcc/cp/constraint.cc:2572
0x762f71 hash_table<sat_hasher, false, xcallocator>::find_slot(sat_entry*
const&, insert_option)
        ../../gcc/hash-table.h:435
0x762f71 satisfaction_cache::satisfaction_cache(tree_node*, tree_node*,
sat_info)
        ../../gcc/cp/constraint.cc:2668
0x765a71 satisfy_atom
        ../../gcc/cp/constraint.cc:2998
0x765a71 satisfy_constraint_r
        ../../gcc/cp/constraint.cc:3106
0x7665f3 satisfy_normalized_constraints
        ../../gcc/cp/constraint.cc:3131
0x7641da satisfy_declaration_constraints
        ../../gcc/cp/constraint.cc:3352
0x7641da constraint_satisfaction_value
        ../../gcc/cp/constraint.cc:3373
0x76666a constraints_satisfied_p(tree_node*, tree_node*)
        ../../gcc/cp/constraint.cc:3410
0x8afef5 fn_type_unification(tree_node*, tree_node*, tree_node*, tree_node*
const*, unsigned int, tree_node*, unification_kind_t, int, conversion**, bool,
bool)
        ../../gcc/cp/pt.cc:22534
0x7251cb add_template_candidate_real
        ../../gcc/cp/call.cc:3594
0x725e83 add_template_candidate
        ../../gcc/cp/call.cc:3688
0x725e83 add_candidates
        ../../gcc/cp/call.cc:6596
0x72d101 add_candidates
        ../../gcc/cp/call.cc:4911
0x72d101 perform_overload_resolution
        ../../gcc/cp/call.cc:4911
0x72d4e9 perform_dguide_overload_resolution(tree_node*, vec<tree_node*, va_gc,
vl_embed> const*, int)
        ../../gcc/cp/call.cc:4976
0x88e581 do_class_deduction
        ../../gcc/cp/pt.cc:30590
0x88e581 do_auto_deduction(tree_node*, tree_node*, tree_node*, int,
auto_deduction_context, tree_node*, int)
        ../../gcc/cp/pt.cc:30715

Reply via email to