From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28396 invoked by alias); 18 Nov 2002 16:36:04 -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 28371 invoked by uid 71); 18 Nov 2002 16:36:02 -0000 Resent-Date: 18 Nov 2002 16:36:02 -0000 Resent-Message-ID: <20021118163602.28368.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, laurent@ient.rwth-aachen.de Received: (qmail 26904 invoked by uid 61); 18 Nov 2002 16:28:24 -0000 Message-Id: <20021118162824.26903.qmail@sources.redhat.com> Date: Fri, 22 Nov 2002 22:36:00 -0000 From: laurent@ient.rwth-aachen.de Reply-To: laurent@ient.rwth-aachen.de To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: c++/8622: typename of base class X-SW-Source: 2002-11/txt/msg00878.txt.bz2 List-Id: >Number: 8622 >Category: c++ >Synopsis: typename of base class >Confidential: no >Severity: serious >Priority: low >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Mon Nov 18 08:36:01 PST 2002 >Closed-Date: >Last-Modified: >Originator: laurent@ient.rwth-aachen.de >Release: gcc3.2 >Organization: >Environment: cygwin, probably every other >Description: A type definition, defined by a template typename in a base class, is not understood in the derived class. This work with Visual 7 or Intel Compiler 6, but gcc gives the following unjustified warnings: warnings: 'typename B::value_type' is implicitly a typename warnings: implicit typename is deprecated, please see the documentation for details Am I wrong ? If it is really a bug, please correct it, because it is quite important for my big project. Patrick >How-To-Repeat: template struct value_traits { typedef V value_type; }; template struct A { typedef typename value_traits::value_type value_type; }; template struct B : public A { value_type v; }; int main() { B b; return 0; } >Fix: >Release-Note: >Audit-Trail: >Unformatted: