From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8159 invoked by alias); 16 May 2006 05:41:03 -0000 Received: (qmail 8000 invoked by alias); 16 May 2006 05:40:20 -0000 Date: Tue, 16 May 2006 05:41:00 -0000 Message-ID: <20060516054020.7999.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug c++/27339] [4.1/4.2 Regression] out-of-class definition of value template parameter with private type In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "mmitchel at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2006-05/txt/msg01553.txt.bz2 List-Id: ------- Comment #3 from mmitchel at gcc dot gnu dot org 2006-05-16 05:40 ------- Subject: Bug 27339 Author: mmitchel Date: Tue May 16 05:39:49 2006 New Revision: 113819 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113819 Log: 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. Added: trunk/gcc/testsuite/g++.dg/template/access17.C trunk/gcc/testsuite/g++.dg/template/access18.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/cp-tree.h trunk/gcc/cp/parser.c trunk/gcc/cp/semantics.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/g++.dg/parse/access8.C -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27339