c++/10771: [3.4 regression] [diagnostic] Unreadable error message for illegal specialization

giovannibajo@libero.it giovannibajo@libero.it
Tue May 13 18:12:00 GMT 2003


>Number:         10771
>Category:       c++
>Synopsis:       [3.4 regression] [diagnostic] Unreadable error message for illegal specialization
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue May 13 18:06:03 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     Giovanni Bajo
>Release:        3.4 CVS 20030503
>Organization:
>Environment:
i686-pc-cygwin
>Description:
This is the testcase for c++/10705 (a 3.3 only regression):

-------------------------
template <typename T>
struct X<T*> {
   typedef int Y;
};
-------------------------

Compile with 3.4, we get:

pr10705.cpp:4: error: expected unqualified-id

This is a regression on error diagnostic wrt 2.95, where
it was giving:

pr10705.cpp:2: `X' is not a template
pr10705.cpp:2: template class without a name

which is much clearer. With Comeau, I get:

"pr10705.cpp", line 2: error: a template argument list is not allowed in a declaration of a primary template
  struct X<T*> {
         ^
>How-To-Repeat:
Compile the above snippet
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the Gcc-bugs mailing list