From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4467 invoked by alias); 22 Jul 2007 16:34:01 -0000 Received: (qmail 4410 invoked by uid 48); 22 Jul 2007 16:33:51 -0000 Date: Sun, 22 Jul 2007 16:34:00 -0000 Message-ID: <20070722163351.4409.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug c++/30818] [4.1/4.2/4.3 Regression] templates and typedefs cause function prototype not to match In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "nathan at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2007-07/txt/msg02256.txt.bz2 ------- Comment #6 from nathan at gcc dot gnu dot org 2007-07-22 16:33 ------- fixed with http://gcc.gnu.org/ml/gcc-patches/2007-07/msg01644.html cp/ PR c++/30818 * typeck.c (structural_comptypes): No need to check resolve_typename_type return value here. * cp-tree.h (TYPENAME_IS_RESOLVING_P): New. * pt.c (resolve_typename_type): Follow typename typedefs. Return original type rather than error_mark_node in case of failure. * parser.c (cp_parser_nested_name_specifier_opt): Adjust resolve_typename_type result check. (cp_parser_direct_declarator, cp_parser_head, cp_parser_constructor_declarator_p): Likewise. testsuite/ PR c++/30818 * g++.dg/template/crash47.C: Adjust errors. * g++.dg/template/crash48.C: Adjust errors. * g++.dg/template/typename12.C: New. * g++.dg/template/typename13.C: New. * g++.dg/template/typename14.C: New. * g++.dg/template/typedef6.C: Adjust errors. the patch should backport painlessly to 4.2 -- nathan at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30818