[Bug c++/40261] confusing diagnostic on ill-formed template definition
msebor at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Feb 16 01:14:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=40261
Martin Sebor <msebor at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed|2009-08-25 15:42:13 |2017-2-15
Known to fail| |4.4.0, 5.3.0, 6.3.0, 7.0
--- Comment #2 from Martin Sebor <msebor at gcc dot gnu.org> ---
No change in GCC 7. For reference, other compilers print:
Clang 5.0:
t.C:4:31: error: nested name specifier 'B<T>::' for declaration does not refer
into a class, class template or class template partial specialization
template <class T> void B<T>::foo () { }
~~~~~~^
EDG eccp 4.11:
"t.C", line 4: error: template argument list must match the parameter list
template <class T> void B<T>::foo () { }
^
Oracle CC:
"t.C", line 4: Error: Cannot define member of undefined specialization "B<T>".
1 Error(s) detected.
IBM XLC++:
"t.C", line 4.25: 1540-0708 (S) The template argument 2 does not match the
corresponding template parameter of "template struct B".
More information about the Gcc-bugs
mailing list