diff options
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/semantics.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/template/ttp5.C | 2 |
4 files changed, 15 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index cc10775..cc6a969 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2005-08-31 Volker Reichelt <reichelt@igpm.rwth-aachen.de> + + PR c++/23639 + * semantics.c (qualified_name_lookup_error): Do not complain again + on invalid scope. + 2005-08-30 Volker Reichelt <reichelt@igpm.rwth-aachen.de> PR c++/23586 diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index b2a28e2..528d8b7 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -2395,7 +2395,9 @@ finish_base_specifier (tree base, tree access, bool virtual_p) void qualified_name_lookup_error (tree scope, tree name, tree decl) { - if (TYPE_P (scope)) + if (scope == error_mark_node) + ; /* We already complained. */ + else if (TYPE_P (scope)) { if (!COMPLETE_TYPE_P (scope)) error ("incomplete type %qT used in nested name specifier", scope); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index ee019b9..e457ae4 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2005-08-31 Volker Reichelt <reichelt@igpm.rwth-aachen.de> + + PR c++/23639 + * g++.dg/template/ttp5.C: Adjust error markers. + 2005-08-30 Andrew Pinski <pinskia@physics.uc.edu> PR testsuite/23609 diff --git a/gcc/testsuite/g++.dg/template/ttp5.C b/gcc/testsuite/g++.dg/template/ttp5.C index d26b816..ee9d1ff 100644 --- a/gcc/testsuite/g++.dg/template/ttp5.C +++ b/gcc/testsuite/g++.dg/template/ttp5.C @@ -16,5 +16,5 @@ template <template <int> class F> struct C { }; template <int n> struct D { - enum { v = C<A<n>::B>::v }; // { dg-error "mismatch|class template|not a member" } + enum { v = C<A<n>::B>::v }; // { dg-error "mismatch|class template" } }; |