diff options
author | Volker Reichelt <reichelt@igpm.rwth-aachen.de> | 2005-08-31 08:46:46 +0000 |
---|---|---|
committer | Volker Reichelt <reichelt@gcc.gnu.org> | 2005-08-31 08:46:46 +0000 |
commit | 1e1b4b377ca66667f52b9f6ea0056c673136df90 (patch) | |
tree | 581073219f702349659741e4ff271b45e72295cb /gcc | |
parent | ab17392846662aeedad473b0dd0698c7dbdf120d (diff) | |
download | gcc-1e1b4b377ca66667f52b9f6ea0056c673136df90.zip gcc-1e1b4b377ca66667f52b9f6ea0056c673136df90.tar.gz gcc-1e1b4b377ca66667f52b9f6ea0056c673136df90.tar.bz2 |
re PR c++/23639 (Bad error message: not a member of '<declaration error>')
PR c++/23639
* semantics.c (qualified_name_lookup_error): Do not complain again
on invalid scope.
* g++.dg/template/ttp5.C: Adjust error markers.
From-SVN: r103662
Diffstat (limited to 'gcc')
-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" } }; |