* parser.c (cp_parser_ptr_operator): Reject pointer to member of enum.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182452
138bc75d-0d04-0410-961f-
82ee72b054a4
+2011-12-17 Jason Merrill <jason@redhat.com>
+
+ PR c++/51588
+ * parser.c (cp_parser_ptr_operator): Reject pointer to member of enum.
+
2011-12-17 Richard Henderson <rth@redhat.com>
PR bootstrap/51072
if (TREE_CODE (parser->scope) == NAMESPACE_DECL)
error_at (token->location, "%qD is a namespace", parser->scope);
+ else if (TREE_CODE (parser->scope) == ENUMERAL_TYPE)
+ error_at (token->location, "cannot form pointer to member of "
+ "non-class %q#T", parser->scope);
else
{
/* The type of which the member is a member is given by the
2011-12-17 Jason Merrill <jason@redhat.com>
+ PR c++/51588
+ * g++.dg/parse/enum7.C: New.
+
PR c++/51586
* g++.dg/lookup/nested2.C: New.
--- /dev/null
+// PR c++/51588
+
+enum A {};
+
+struct B : A { // { dg-error "" }
+ int i;
+};
+
+int A::* p = &B::i; // { dg-error "" }