aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/typeck.c5
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index c4d01e6..72bd508 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2003-07-17 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ PR c++/10668
+ * typeck.c (build_class_member_access_expr): Improve diagnostic.
+
2003-07-16 Mark Mitchell <mark@codesourcery.com>
PR c++/11547
diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c
index b0bb1ac..9498dee 100644
--- a/gcc/cp/typeck.c
+++ b/gcc/cp/typeck.c
@@ -1805,7 +1805,10 @@ build_class_member_access_expr (tree object, tree member,
member_scope = TYPE_CONTEXT (member_scope);
if (!member_scope || !DERIVED_FROM_P (member_scope, object_type))
{
- error ("`%D' is not a member of `%T'", member, object_type);
+ if (TREE_CODE (member) == FIELD_DECL)
+ error ("invalid use of nonstatic data member '%E'", member);
+ else
+ error ("`%D' is not a member of `%T'", member, object_type);
return error_mark_node;
}