From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12525 invoked by alias); 6 May 2003 09:06:01 -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 12489 invoked by uid 71); 6 May 2003 09:06:00 -0000 Resent-Date: 6 May 2003 09:06:00 -0000 Resent-Message-ID: <20030506090600.12488.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, francois.delobel@wanadoo.fr Received: (qmail 9898 invoked by uid 48); 6 May 2003 09:01:18 -0000 Message-Id: <20030506090118.9897.qmail@sources.redhat.com> Date: Tue, 06 May 2003 09:06:00 -0000 From: francois.delobel@wanadoo.fr Reply-To: francois.delobel@wanadoo.fr To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: c++/10639: using an inner class in a template class, G++ can't detect invalid constructor X-SW-Source: 2003-05/txt/msg00361.txt.bz2 List-Id: >Number: 10639 >Category: c++ >Synopsis: using an inner class in a template class, G++ can't detect invalid constructor >Confidential: no >Severity: non-critical >Priority: medium >Responsible: unassigned >State: open >Class: ice-on-illegal-code >Submitter-Id: net >Arrival-Date: Tue May 06 09:06:00 UTC 2003 >Closed-Date: >Last-Modified: >Originator: Francois Delobel >Release: gcc version 2.95.4 20011002 (Debian prerelease) & gcc 3.2.3 20030415 (Debian prerelease) & version gcc 3.3 20030415 (Debian prerelease) >Organization: >Environment: Linux (debian sarge, 2.4.20-k7, running on AMD XP1900) >Description: context: using an inner class in a template class error: g++ can't detect an incorrect line (constructor returning a value) and exits with internal compiler error. ---- essai.cpp (preprocessed, 30 lines)-- # 1 "essai.cpp" # 1 "" # 1 "" # 1 "essai.cpp" template class C { public: class Inner; C(const T& t); }; template class C::Inner { public: Inner(); }; template C::C(const T& t) { } template T C::Inner::Inner() { } int main() { C o(7); } >How-To-Repeat: g++ -Wall -ansi essai.cpp >Fix: >Release-Note: >Audit-Trail: >Unformatted: