From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27570 invoked by alias); 5 Dec 2003 21:12:52 -0000 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 Received: (qmail 27560 invoked by uid 48); 5 Dec 2003 21:12:52 -0000 Date: Fri, 05 Dec 2003 21:12:00 -0000 Message-ID: <20031205211252.27557.qmail@sources.redhat.com> From: "bangerth at dealii dot org" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20031205210149.13323.david.lee@teracruz.com> References: <20031205210149.13323.david.lee@teracruz.com> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug c++/13323] [3.3/3.4 regression] Template code does not compile in presence of typedef X-Bugzilla-Reason: CC X-SW-Source: 2003-12/txt/msg00682.txt.bz2 List-Id: ------- Additional Comments From bangerth at dealii dot org 2003-12-05 21:12 ------- This is clearly a bug, and a regression on 3.3/mainline w.r.t. 3.2.x. Here's an extract: ------------------------- template struct B { virtual operator T() const = 0; }; template struct D : B { virtual operator T() const; }; typedef int i; typedef B Bi; D i32; --------------------------- g/x> /home/bangerth/bin/gcc-3.2.3/bin/c++ -c x.cc g/x> /home/bangerth/bin/gcc-3.3.3-pre/bin/c++ -c x.cc x.cc:13: error: cannot declare variable `i32' to be of type `D' x.cc:13: error: because the following virtual functions are abstract: x.cc:2: error: B::operator T() const [with T = i] W. -- What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed| |1 Keywords| |rejects-valid Last reconfirmed|0000-00-00 00:00:00 |2003-12-05 21:12:51 date| | Summary|Template code does not |[3.3/3.4 regression] |compile in presence of |Template code does not |typedef |compile in presence of | |typedef Target Milestone|--- |3.3.3 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13323