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

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           See Also|                            |https://gcc.gnu.org/bugzill
                   |                            |a/show_bug.cgi?id=83342
           Keywords|diagnostic                  |rejects-valid

--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> ---
The "got 1 template parameters" bug was fixed by r252040 so now we print:

78157.C:4:47: error: conflicting declaration 'double A<int>::pi<double, T>'
 template <> template <class T> double A<int>::pi<double, T> =
3.1415926535897932385;
                                               ^~~~~~~~~~~~~
78157.C:2:39: note: previous declaration as 'T A<int>::pi<T, U>'
   template<class T, class U> static T pi;
                                       ^~
78157.C: In instantiation of 'double A<int>::pi<double, int>':
78157.C:6:25:   required from here
78157.C:6:25: error: explicit instantiation of 'A<int>::pi<double, int>' but no
definition available [-fpermissive]
 template double A<int>::pi<double, int>;
                         ^~~~~~~~~~~~~~~

That seems like it might be PR 83342. In any case, this is a C++ front end bug
now, not just a diagnostic one.

Reply via email to