]> gcc.gnu.org Git - gcc.git/commit
re PR c++/27339 (out-of-class definition of value template parameter with private...
authorMark Mitchell <mark@codesourcery.com>
Tue, 16 May 2006 05:39:49 +0000 (05:39 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Tue, 16 May 2006 05:39:49 +0000 (05:39 +0000)
commit6b6484828fb7d580efae23d5a637bc7229a68fff
treee988ca30c77d6ca9b32595fdbd4b59589db99563
parentd0b898529b9ac6e3c227567a197d12dcf71dc800
re PR c++/27339 (out-of-class definition of value template parameter with private type)

PR c++/27339
* cp-tree.h (perform_access_checks): New function.
* semantics.c (perform_access_checks): New function.
(perform_deferred_access_checks): Use it.
* parser.c (cp_parser_simple_declaration): Adjust call to
cp_parser_init_declarator.
(cp_parser_type_parameter): Do not defer checks in default
arguments.
(cp_parser_explicit_specialization): Adjust call to
cp_parser_single_declaration.
(cp_parser_init_declarator): Perform template-parameter access
checks.
(cp_parser_parameter_declaration): Do not defer checks for
template parameter default arguments.
(cp_parser_template_declaration_after_export): Gather access
checks for template parameters, and pass them to
cp_parser_single_declaration.
(cp_parser_template_parameter_access_checks): New function.
(cp_parser_single_declaration): Add checks parameter.
PR c++/27339
* g++.dg/parser/access8.C: Adjust error marker.
* g++.dg/template/access17.C: New test.
* g++.dg/template/access18.C: Likewise.

From-SVN: r113819
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/parser.c
gcc/cp/semantics.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/parse/access8.C
gcc/testsuite/g++.dg/template/access17.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/access18.C [new file with mode: 0644]
This page took 0.059435 seconds and 5 git commands to generate.