decl2.c (validate_nonmember_using_decl): Complain about using declarations for class members.

* decl2.c (validate_nonmember_using_decl): Complain about using
	declarations for class members.

From-SVN: r24060
This commit is contained in:
Mark Mitchell 1998-12-02 10:12:20 +00:00 committed by Mark Mitchell
parent b7f7462b7a
commit 066b4a1cc8
3 changed files with 24 additions and 0 deletions

View File

@ -1,3 +1,8 @@
1998-12-02 Mark Mitchell <mark@markmitchell.com>
* decl2.c (validate_nonmember_using_decl): Complain about using
declarations for class members.
1998-11-29 Jason Merrill <jason@yorick.cygnus.com>
* typeck2.c (process_init_constructor): Use same_type_p.

View File

@ -4690,6 +4690,16 @@ validate_nonmember_using_decl (decl, scope, name)
{
*scope = TREE_OPERAND (decl, 0);
*name = TREE_OPERAND (decl, 1);
/* [namespace.udecl]
A using-declaration for a class member shall be a
member-declaration. */
if (TREE_CODE (*scope) != NAMESPACE_DECL)
{
cp_error ("`%D' is not a namespace", *scope);
return NULL_TREE;
}
}
else if (TREE_CODE (decl) == IDENTIFIER_NODE
|| TREE_CODE (decl) == TYPE_DECL

View File

@ -0,0 +1,9 @@
// Build don't link:
class joey {
public:
typedef int SVec;
};
using joey::SVec; // ERROR - joey is not a namespace