From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20324 invoked by alias); 2 Apr 2003 20:16: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 20255 invoked by uid 71); 2 Apr 2003 20:16:01 -0000 Resent-Date: 2 Apr 2003 20:16:01 -0000 Resent-Message-ID: <20030402201601.20254.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, boris@isis-server.isis.vanderbilt.edu Resent-Reply-To: gcc-gnats@gcc.gnu.org, boris@kolpackov.net Received: (qmail 6675 invoked by uid 48); 2 Apr 2003 19:27:04 -0000 Message-Id: <20030402192704.6674.qmail@sources.redhat.com> Date: Wed, 02 Apr 2003 20:16:00 -0000 From: boris@kolpackov.net Reply-To: boris@kolpackov.net To: gcc-gnats@gcc.gnu.org Cc: boris@isis-server.isis.vanderbilt.edu X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) X-GNATS-Notify: boris@isis-server.isis.vanderbilt.edu Subject: c++/10299: parsing error: unqualified type-name from base-class in c-tor's exception specification X-SW-Source: 2003-04/txt/msg00074.txt.bz2 List-Id: >Number: 10299 >Category: c++ >Synopsis: parsing error: unqualified type-name from base-class in c-tor's exception specification >Confidential: no >Severity: critical >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Wed Apr 02 20:16:00 UTC 2003 >Closed-Date: >Last-Modified: >Originator: boris@kolpackov.net >Release: g++ (GCC) 3.3 20030331 (prerelease) >Organization: >Environment: linux-i686; ./configure --enable-threads=posix >Description: The code below causes the following output. bash-2.05a$ /usr/local/bin/g++ -Wall ./ExceptionSpecCtor.cpp ExceptionSpecCtor.cpp:13: error: parse error before `)' token ExceptionSpecCtor.cpp:14: error: declaration of `Derived::Derived()' throws different exceptions ExceptionSpecCtor.cpp:9: error: than previous declaration `Derived::Derived() throw (Base::E)' Note that if I comment c-tor out everyhting compiles fine even though foo () member functions uses semantically the same construct. -------------------------------------- struct Base { class E {}; }; struct Derived : public virtual Base { Derived () throw (E); void foo () throw (E); }; Derived::Derived () throw (E) { } void Derived::foo () throw (E) { } >How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: >Unformatted: