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

            Bug ID: 80449
           Summary: ICE reporting failed partial class template
                    specialization class template argument deduction
           Product: gcc
           Version: 7.0.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ed at catmur dot co.uk
  Target Milestone: ---

The following invalid code ICEs:

template<class S> struct C;
template<> struct C<int> { C(int, int) {} };
auto k = C{0, 0};

<source>:4:16: error: class template argument deduction failed:
 auto k = C{0, 0};
                ^
<source>:4:16: internal compiler error: Segmentation fault
mmap: Cannot allocate memory

ICE also occurs if the primary template is complete and does not provide an
appropriate constructor:

template<class S> struct C {};
template<> struct C<int> { C(int, int) {} };
auto k = C{0, 0};

Looks similar to bug 79790.

Reply via email to