From 56bbd9d6aa0374c942f843ab796bbcf7eab6e39d Mon Sep 17 00:00:00 2001 From: Volker Reichelt <reichelt@igpm.rwth-aachen.de> Date: Mon, 2 Jan 2006 16:19:26 +0000 Subject: [PATCH] parser.c (cp_parser_using_declaration): Skip name-lookup on invalid scope. * parser.c (cp_parser_using_declaration): Skip name-lookup on invalid scope. * g++.dg/lookup/using12.C: Tighten error marker. From-SVN: r109237 --- gcc/cp/ChangeLog | 5 +++++ gcc/cp/parser.c | 2 +- gcc/testsuite/ChangeLog | 4 ++++ gcc/testsuite/g++.dg/lookup/using12.C | 2 +- 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index c895ce58f862..d2b4c81a74f9 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2006-01-02 Volker Reichelt <reichelt@igpm.rwth-aachen.de> + + * parser.c (cp_parser_using_declaration): Skip name-lookup on + invalid scope. + 2005-12-30 Gabriel Dos Reis <gdr@integrable-solutions.net> * cxx-pretty-print.c (pp_cxx_constant): New. Print diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index 86d7edbcc47a..90d1486cdd59 100644 --- a/gcc/cp/parser.c +++ b/gcc/cp/parser.c @@ -10486,7 +10486,7 @@ cp_parser_using_declaration (cp_parser* parser) /* The function we call to handle a using-declaration is different depending on what scope we are in. */ - if (identifier == error_mark_node) + if (qscope == error_mark_node || identifier == error_mark_node) ; else if (TREE_CODE (identifier) != IDENTIFIER_NODE && TREE_CODE (identifier) != BIT_NOT_EXPR) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 9e9c2b1286d9..10f7c252f938 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2006-01-02 Volker Reichelt <reichelt@igpm.rwth-aachen.de> + + * g++.dg/lookup/using12.C: Tighten error marker. + 2006-01-01 Andreas Tobler <a.tobler@schweiz.ch> Andrew Pinski <pinskia@physics.uc.edu> diff --git a/gcc/testsuite/g++.dg/lookup/using12.C b/gcc/testsuite/g++.dg/lookup/using12.C index 030385581a5e..4aa5ce681808 100644 --- a/gcc/testsuite/g++.dg/lookup/using12.C +++ b/gcc/testsuite/g++.dg/lookup/using12.C @@ -1,4 +1,4 @@ // PR c++/16707 int i; -using N::i; // { dg-error "declared|expected" } +using N::i; // { dg-error "'N' has not been declared" } -- GitLab