OSDN Git Service

* name-lookup.c (do_class_using_decl): Use IDENTIFIER_TYPENAME_P,
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 3 Feb 2006 16:46:22 +0000 (16:46 +0000)
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 3 Feb 2006 16:46:22 +0000 (16:46 +0000)
not IDENTIFIER_OPNAME_P.

* g++.dg/template/using12.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110546 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/cp/ChangeLog
gcc/cp/name-lookup.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/template/using12.C [new file with mode: 0644]

index eb24a75..8e57bdc 100644 (file)
@@ -1,3 +1,8 @@
+2006-02-03  Mark Mitchell  <mark@codesourcery.com>
+
+       * name-lookup.c (do_class_using_decl): Use IDENTIFIER_TYPENAME_P,
+       not IDENTIFIER_OPNAME_P.
+
 2006-01-31  Mark Mitchell  <mark@codesourcery.com>
 
        PR c++/25342
 2006-01-31  Mark Mitchell  <mark@codesourcery.com>
 
        PR c++/25342
index ed7dd53..761cf95 100644 (file)
@@ -2768,7 +2768,7 @@ do_class_using_decl (tree scope, tree name)
 
   scope_dependent_p = dependent_type_p (scope);
   name_dependent_p = (scope_dependent_p 
 
   scope_dependent_p = dependent_type_p (scope);
   name_dependent_p = (scope_dependent_p 
-                     || (IDENTIFIER_OPNAME_P (name)
+                     || (IDENTIFIER_TYPENAME_P (name)
                          && dependent_type_p (TREE_TYPE (name))));
 
   bases_dependent_p = false;
                          && dependent_type_p (TREE_TYPE (name))));
 
   bases_dependent_p = false;
index c4d4528..2ee0ec3 100644 (file)
@@ -1,3 +1,7 @@
+2006-02-03  Mark Mitchell  <mark@codesourcery.com>
+
+       * g++.dg/template/using12.C: New test.
+
 2006-02-03  Alan Modra  <amodra@bigpond.net.au>
 
        * gcc.target/powerpc/pr25960.c: New test.
 2006-02-03  Alan Modra  <amodra@bigpond.net.au>
 
        * gcc.target/powerpc/pr25960.c: New test.
diff --git a/gcc/testsuite/g++.dg/template/using12.C b/gcc/testsuite/g++.dg/template/using12.C
new file mode 100644 (file)
index 0000000..cebfab1
--- /dev/null
@@ -0,0 +1,7 @@
+struct A {
+};
+
+template <typename T>
+struct S : public A {
+  using A::operator(); // { dg-error "no member" }
+};