c++/10618: [diagnostic] Error message for function declarations with invalid return type could be improved
giovannibajo@libero.it
giovannibajo@libero.it
Sun May 4 10:24:00 GMT 2003
>Number: 10618
>Category: c++
>Synopsis: [diagnostic] Error message for function declarations with invalid return type could be improved
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: change-request
>Submitter-Id: net
>Arrival-Date: Sun May 04 10:16:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator: Giovanni Bajo
>Release: 3.4 CVS 20030503
>Organization:
>Environment:
i686-pc-cygwin
>Description:
Look at this:
---------------------------------------
template <class T>
struct A
{
};
struct B
{
};
template <class T>
A<T>::k func1();
B::k func2();
---------------------------------------
pr10615.cpp:12: error: expected function-definition
pr10615.cpp:14: error: expected constructor, destructor, or type conversion
pr10615.cpp:14: error: expected `,' or `;'
(note: this code ICEs on 3.3, but there's already a PR for it, c++/10617)
I think the error message should be improved since it is
a bit confusing right now. This is for instance what I get with Comeau/EDG on the same snippet:
"pr10615.cpp", line 12: error: nontype "A<T>::k [with T=T]" is not a type name
A<T>::k func1();
^
"pr10615.cpp", line 14: error: class "B" has no member "k"
B::k func2();
^
>How-To-Repeat:
Compile the above code
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the Gcc-bugs
mailing list