diff options
author | Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net> | 2001-10-27 14:05:34 +0000 |
---|---|---|
committer | Kriang Lerdsuwanakij <lerdsuwa@gcc.gnu.org> | 2001-10-27 14:05:34 +0000 |
commit | 765430000ddb057aa1269539ffed21bdb988ad87 (patch) | |
tree | 4e90340eaf363251d63f8d9fa396d392a8b52ab5 | |
parent | 7dddfb65cf6a30894855f54f7eeb7850879d7813 (diff) | |
download | gcc-765430000ddb057aa1269539ffed21bdb988ad87.zip gcc-765430000ddb057aa1269539ffed21bdb988ad87.tar.gz gcc-765430000ddb057aa1269539ffed21bdb988ad87.tar.bz2 |
* decl2.c (validate_nonmember_using_decl): Handle NAMESPACE_DECL.
From-SVN: r46565
-rw-r--r-- | gcc/cp/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/cp/decl2.c | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/lookup/using2.C | 2 |
3 files changed, 11 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 5fbcc47..848411d 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +2001-10-27 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net> + + * decl2.c (validate_nonmember_using_decl): Handle NAMESPACE_DECL. + 2001-10-25 Zack Weinberg <zack@codesourcery.com> * cp-lang.c: Redefine LANG_HOOKS_CLEAR_BINDING_STACK to diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c index f384f0a..e215cd6 100644 --- a/gcc/cp/decl2.c +++ b/gcc/cp/decl2.c @@ -4877,6 +4877,11 @@ validate_nonmember_using_decl (decl, scope, name) *scope = global_namespace; *name = decl; } + else if (TREE_CODE (decl) == NAMESPACE_DECL) + { + cp_error ("namespace `%D' not allowed in using-declaration", decl); + return NULL_TREE; + } else my_friendly_abort (382); if (DECL_P (*name)) diff --git a/gcc/testsuite/g++.dg/lookup/using2.C b/gcc/testsuite/g++.dg/lookup/using2.C index aac3342..92f134e 100644 --- a/gcc/testsuite/g++.dg/lookup/using2.C +++ b/gcc/testsuite/g++.dg/lookup/using2.C @@ -25,6 +25,8 @@ namespace N template<int> void f() {} } +using N; // { dg-error "parse error" "" } +using ::N; // { dg-error "using-declaration" "" } using N::f< 0 >; // { dg-error "using-declaration" "" } struct A { |