From 82d6b0182ace61b335e1bf81ceb600b4efab4a74 Mon Sep 17 00:00:00 2001 From: Mark Mitchell Date: Fri, 3 Feb 2006 16:46:22 +0000 Subject: [PATCH] name-lookup.c (do_class_using_decl): Use IDENTIFIER_TYPENAME_P, not IDENTIFIER_OPNAME_P. * name-lookup.c (do_class_using_decl): Use IDENTIFIER_TYPENAME_P, not IDENTIFIER_OPNAME_P. * g++.dg/template/using12.C: New test. From-SVN: r110546 --- gcc/cp/ChangeLog | 5 +++++ gcc/cp/name-lookup.c | 2 +- gcc/testsuite/ChangeLog | 4 ++++ gcc/testsuite/g++.dg/template/using12.C | 7 +++++++ 4 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/g++.dg/template/using12.C diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index eb24a755c95..8e57bdce99f 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2006-02-03 Mark Mitchell + + * name-lookup.c (do_class_using_decl): Use IDENTIFIER_TYPENAME_P, + not IDENTIFIER_OPNAME_P. + 2006-01-31 Mark Mitchell PR c++/25342 diff --git a/gcc/cp/name-lookup.c b/gcc/cp/name-lookup.c index ed7dd5361c9..761cf9517a8 100644 --- a/gcc/cp/name-lookup.c +++ b/gcc/cp/name-lookup.c @@ -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 - || (IDENTIFIER_OPNAME_P (name) + || (IDENTIFIER_TYPENAME_P (name) && dependent_type_p (TREE_TYPE (name)))); bases_dependent_p = false; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c4d45285865..2ee0ec3de32 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2006-02-03 Mark Mitchell + + * g++.dg/template/using12.C: New test. + 2006-02-03 Alan Modra * 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 index 00000000000..cebfab1ee0b --- /dev/null +++ b/gcc/testsuite/g++.dg/template/using12.C @@ -0,0 +1,7 @@ +struct A { +}; + +template +struct S : public A { + using A::operator(); // { dg-error "no member" } +}; -- 2.30.2