From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14482 invoked by alias); 16 Jan 2003 10:46:13 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 14323 invoked by uid 71); 16 Jan 2003 10:46:02 -0000 Resent-Date: 16 Jan 2003 10:46:02 -0000 Resent-Message-ID: <20030116104602.14322.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, rguenth@tat.physik.uni-tuebingen.de Received: (qmail 12848 invoked by uid 61); 16 Jan 2003 10:40:21 -0000 Message-Id: <20030116104021.12847.qmail@sources.redhat.com> Date: Thu, 16 Jan 2003 10:46:00 -0000 From: rguenth@tat.physik.uni-tuebingen.de Reply-To: rguenth@tat.physik.uni-tuebingen.de To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: c++/9341: [3.4 regression] Specialization after use gives error X-SW-Source: 2003-01/txt/msg01000.txt.bz2 List-Id: >Number: 9341 >Category: c++ >Synopsis: [3.4 regression] Specialization after use gives error >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: rejects-legal >Submitter-Id: net >Arrival-Date: Thu Jan 16 02:46:02 PST 2003 >Closed-Date: >Last-Modified: >Originator: Richard Guenther >Release: g++ (GCC) 3.4 20030115 (experimental) >Organization: >Environment: ix86-linux >Description: template struct UnaryReturn { typedef T Type_t; }; struct foo { template typename UnaryReturn::Type_t foo(); }; template struct UnaryReturn { typedef bool Type_t; }; gives bellatrix:~/src/tests$ ~/ix86/gcc3.4/bin/g++ -c -Wall insbefdecl.cpp insbefdecl.cpp:8: error: return type specification for constructor invalid insbefdecl.cpp:11: error: specialization of `UnaryReturn' after instantiation >>From Mark Mitchell: This is a bug -- but not in the new parser. This is lingering fallout from the now-almost-gone implicit typename extension. I will use this as the excuse to kill the last vestiges of that ugliness. >How-To-Repeat: compile the testcase with the new parser >Fix: >Release-Note: >Audit-Trail: >Unformatted: