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

            Bug ID: 104836
           Summary: ice in unify, at cp/pt.cc:24055
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dcb314 at hotmail dot com
  Target Milestone: ---

Created attachment 52580
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=52580&action=edit
C++ source code

For the attached C++ code, recent gcc trunk does this:

bug796.cc: In substitution of ‘template<Ts ...Ns, int (* ...Ps)[3]> A<int [3],
i
nt, int, short int>::A(X<Ps ...>, Ts (*)[Ns]...) [with Ts ...Ns = <missing>;
int
 (* ...Ps)[3] = {(& arr1), (& arr2)}]’:
bug796.cc:12:43:   required from here
bug796.cc:12:43: internal compiler error: in unify, at cp/pt.cc:24055
   12 | A a(X<&arr1, &arr2>{}, &arr1, &arr2, &arr3);
      |                                           ^
0x9432e3 unify(tree_node*, tree_node*, tree_node*, tree_node*, int, bool)
        ../../trunk.git/gcc/cp/pt.cc:24055

This code is a copy of a file from the clang test suite, file 
SemaTemplate/deduction-guide.cpp.

Reply via email to