From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21695 invoked by alias); 26 Dec 2001 01: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 21669 invoked by uid 71); 26 Dec 2001 01:16:01 -0000 Resent-Date: 26 Dec 2001 01:16:01 -0000 Resent-Message-ID: <20011226011601.21667.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-To: nobody@gcc.gnu.org Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, antoine.de-maricourt@m4x.org Received:(qmail 21429 invoked by uid 61); 26 Dec 2001 01:11:22 -0000 Message-Id:<20011226011122.21428.qmail@sources.redhat.com> Date: Tue, 25 Dec 2001 17:16:00 -0000 From: antoine.de-maricourt@m4x.org Reply-To: antoine.de-maricourt@m4x.org To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version:gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: c++/5193: Problem with nested templates instanciation X-SW-Source: 2001-12/txt/msg01111.txt.bz2 List-Id: >Number: 5193 >Category: c++ >Synopsis: Problem with nested templates instanciation >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: rejects-legal >Submitter-Id: net >Arrival-Date: Tue Dec 25 17:16:01 PST 2001 >Closed-Date: >Last-Modified: >Originator: A. de Maricourt >Release: 3.0.3 >Organization: >Environment: i386-linux >Description: xx.cc: In function 'int foo()': xx.cc:19: no matching function for call to 'aaa::bbb::bbb(const char[4])' xx.cc:5: candidates are ... message is correct, but I was expecting 'aaa::...' instead of 'aaa::...' since Y is bound to float See source code below Note 1: I am unable to say if this is related to the two stage lookup feature that you mention, as I don't know what it is and I don't have the C++ specs. Note 2: this code was isolated from a biger project, previously compiled using gcc 2.95 (didn't work either with 2.95 because I had a 'compiler error'). I expected 3.0 would allow me to rewrite it in a cleaner way. Sorry if it's already known, or a some misunderstanding from my own. Best regards, >How-To-Repeat: file xx.cc: template class aaa { public: template struct bbb { }; }; template class xxx { public: typedef aaa::bbb ccc; }; void foo (void) { xxx::ccc i ("aaa"); } >Fix: >Release-Note: >Audit-Trail: >Unformatted: