aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorGabriel Dos Reis <gdr@integrable-solutions.net>2003-07-17 11:49:02 +0000
committerGabriel Dos Reis <gdr@gcc.gnu.org>2003-07-17 11:49:02 +0000
commitef292d4f655214dd00d24c78378ae79eb1d7d6f5 (patch)
tree938eeb15783cece0f236e789f175be0a07aa1dca /gcc
parent54284728e5916502a5bbd8e7f82e265d10e9c304 (diff)
downloadgcc-ef292d4f655214dd00d24c78378ae79eb1d7d6f5.zip
gcc-ef292d4f655214dd00d24c78378ae79eb1d7d6f5.tar.gz
gcc-ef292d4f655214dd00d24c78378ae79eb1d7d6f5.tar.bz2
re PR c++/10668 (assigning address of non-static member variable to pointer)
PR c++/10668 * typeck.c (build_class_member_access_expr): Improve diagnostic. From-SVN: r69509
Diffstat (limited to 'gcc')
-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;
}