diff options
| author | lerdsuwa <lerdsuwa@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-10-27 14:05:34 +0000 |
|---|---|---|
| committer | lerdsuwa <lerdsuwa@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-10-27 14:05:34 +0000 |
| commit | ddb71437e09c938e2eee26c27b8dbef83fe4cda2 (patch) | |
| tree | 4e90340eaf363251d63f8d9fa396d392a8b52ab5 | |
| parent | 2a22a8e674c3d8e3532bba566a6ab756dab73e5f (diff) | |
| download | ppe42-gcc-ddb71437e09c938e2eee26c27b8dbef83fe4cda2.tar.gz ppe42-gcc-ddb71437e09c938e2eee26c27b8dbef83fe4cda2.zip | |
* decl2.c (validate_nonmember_using_decl): Handle NAMESPACE_DECL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46565 138bc75d-0d04-0410-961f-82ee72b054a4
| -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 5fbcc47e2f8..848411d5815 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 f384f0a64d3..e215cd6e9a5 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 aac33423336..92f134eaf84 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 { |

