OSDN Git Service

PR c++/29138
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 3 Oct 2006 18:39:32 +0000 (18:39 +0000)
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 3 Oct 2006 18:39:32 +0000 (18:39 +0000)
* decl2.c (grokfield): Don't handle access declarations here.
* parser.c (cp_parser_using_declaration): Handle access
declarations too.
(cp_parser_block_declaration): Adjust calls to
cp_parser_using_declaration.
(cp_parser_member_declaration): Likewise.  Use
cp_parser_using_declaration to look for access_declarations.
PR c++/29138
* g++.dg/inherit/access8.C: New test.
* g++.dg/template/dtor4.C: Tweak error messages.

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

gcc/cp/parser.c

index cb2346a..05151cd 100644 (file)
@@ -3632,6 +3632,10 @@ cp_parser_nested_name_specifier_opt (cp_parser *parser,
        {
          /* Grab the nested-name-specifier and continue the loop.  */
          cp_parser_pre_parsed_nested_name_specifier (parser);
+         if (is_declaration
+             && TREE_CODE (parser->scope) == TYPENAME_TYPE)
+           parser->scope = resolve_typename_type (parser->scope,
+                                                  /*only_current_p=*/false);
          success = true;
          continue;
        }