* decl2.c (validate_nonmember_using_decl): Handle NAMESPACE_DECL.
authorlerdsuwa <lerdsuwa@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 27 Oct 2001 14:05:34 +0000 (14:05 +0000)
committerlerdsuwa <lerdsuwa@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 27 Oct 2001 14:05:34 +0000 (14:05 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46565 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/cp/ChangeLog
gcc/cp/decl2.c
gcc/testsuite/g++.dg/lookup/using2.C

index 5fbcc47..848411d 100644 (file)
@@ -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
index f384f0a..e215cd6 100644 (file)
@@ -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))
index aac3342..92f134e 100644 (file)
@@ -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 {