[Bug c++/39859] New: C++: Duplicated and unhelpful error for "c:n"
ian at airs dot com
gcc-bugzilla@gcc.gnu.org
Thu Apr 23 00:41:00 GMT 2009
When I compile this erroneous C++ program
namespace n { const int c = 1; }
int foo() { return n:c; }
I get this:
foo.cc: In function Âint foo()Â:
foo.cc:2: error: expected primary-expression before Â:Â token
foo.cc:2: error: expected Â;Â before Â:Â token
foo.cc:2: error: expected primary-expression before Â:Â token
foo.cc:2: error: expected Â;Â before Â:Â token
The duplicated error messages are useless; I think that is a bug.
Even if that bug is fixed, this error message could be better. The error is
using a single colon instead of two colons. "expected primary-expression" is
not helpful to the user. Firstly, as in PR 39858, what is missing is an
expression, not a primary-expression. Secondly, the colon is clearly out of
place; if we found an expression, we would still fail. In this case, we
actually know that we just saw a NAMESPACE_DECL. We can give a better error
message in this context.
--
Summary: C++: Duplicated and unhelpful error for "c:n"
Product: gcc
Version: 4.5.0
Status: UNCONFIRMED
Severity: trivial
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ian at airs dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39859
More information about the Gcc-bugs
mailing list