From 765430000ddb057aa1269539ffed21bdb988ad87 Mon Sep 17 00:00:00 2001 From: Kriang Lerdsuwanakij Date: Sat, 27 Oct 2001 14:05:34 +0000 Subject: [PATCH] * decl2.c (validate_nonmember_using_decl): Handle NAMESPACE_DECL. From-SVN: r46565 --- gcc/cp/ChangeLog | 4 ++++ gcc/cp/decl2.c | 5 +++++ gcc/testsuite/g++.dg/lookup/using2.C | 2 ++ 3 files changed, 11 insertions(+) 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 + + * decl2.c (validate_nonmember_using_decl): Handle NAMESPACE_DECL. + 2001-10-25 Zack Weinberg * 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 void f() {} } +using N; // { dg-error "parse error" "" } +using ::N; // { dg-error "using-declaration" "" } using N::f< 0 >; // { dg-error "using-declaration" "" } struct A { -- 2.30.2