re PR c++/10668 (assigning address of non-static member variable to pointer)
authorGabriel Dos Reis <gdr@integrable-solutions.net>
Thu, 17 Jul 2003 11:49:02 +0000 (11:49 +0000)
committerGabriel Dos Reis <gdr@gcc.gnu.org>
Thu, 17 Jul 2003 11:49:02 +0000 (11:49 +0000)
PR c++/10668
* typeck.c (build_class_member_access_expr): Improve diagnostic.

From-SVN: r69509

gcc/cp/ChangeLog
gcc/cp/typeck.c

index c4d01e6..72bd508 100644 (file)
@@ -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
index b0bb1ac..9498dee 100644 (file)
@@ -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;
     }