Bug 4882

Summary: fails to lookup a template specialization dependent of an outer template
Product: gcc Reporter: duret_g
Component: c++Assignee: Not yet assigned to anyone <unassigned>
Status: RESOLVED DUPLICATE    
Severity: normal CC: bangerth, debian-gcc, duret_g, fang, gcc-bugs, jason, lerdsuwa, mmitchel, pawel_sikora, pinskia, reichelt, rguenth, s__nakayama, twhitehe, zjasz
Priority: P3 Keywords: monitored, rejects-valid
Version: 3.0.2   
Target Milestone: ---   
Host: Target:
Build: Known to work:
Known to fail: Last reconfirmed: 2006-10-21 21:32:46
Bug Depends on:    
Bug Blocks: 12944    
Attachments: c2.cc

Description duret_g 2001-11-15 08:16:02 UTC
[I'm sorry if this falls into the "two stage lookup in template" category.  The bugs.html page does not explain
what that means.]

GCC fails to compile the attached file
as follow:

~/tmp % gcc-3.0 c2.cc                                                
c2.cc: In function `int main()':
c2.cc:20: `ret' is not a member of type `C<1, 2>::output<D<8, 1> >'
c2.cc:20: parse error before `;' token
The on-line C/C++ Comeau compiles it just fine.

Release:
3.0.2

Environment:
Debian GNU/Linux i386

How-To-Repeat:
Compile the attached file.
Comment 1 Kriang Lerdsuwanakij 2001-11-16 09:07:05 UTC
State-Changed-From-To: open->analyzed
State-Changed-Why: Confirmed.
Comment 2 Kriang Lerdsuwanakij 2001-11-16 17:07:06 UTC
From: lerdsuwa@gcc.gnu.org
To: duret_g@epita.fr, gcc-bugs@gcc.gnu.org, gcc-gnats@gcc.gnu.org,
  gcc-prs@gcc.gnu.org, nobody@gcc.gnu.org
Cc:  
Subject: Re: c++/4882: fails to lookup a template specialization dependent of an outer template
Date: 16 Nov 2001 17:07:06 -0000

 Synopsis: fails to lookup a template specialization dependent of an outer template
 
 State-Changed-From-To: open->analyzed
 State-Changed-By: lerdsuwa
 State-Changed-When: Fri Nov 16 09:07:05 2001
 State-Changed-Why:
     Confirmed.
 
 http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=4882&database=gcc
Comment 3 Kriang Lerdsuwanakij 2002-10-26 02:25:12 UTC
Responsible-Changed-From-To: unassigned->lerdsuwa
Responsible-Changed-Why: Under investigation.
Comment 4 Nathanael C. Nerode 2003-01-03 11:19:20 UTC
From: Nathanael Nerode <neroden@twcny.rr.com>
To: gcc-gnats@gcc.gnu.org, gcc-prs@gcc.gnu.org, lerdsuwa@gcc.gnu.org,
   duret_g@epita.fr, gcc-bugs@gcc.gnu.org
Cc:  
Subject: Re: c++/4882: ...
Date: Fri, 3 Jan 2003 11:19:20 -0500

 New error message with 3.4:
 
 ice.cxx: In function `int main()':
 ice.cxx:20: error: `ret' is not a member of `struct C<1, 2>::output<D<8, 1> >'
 ice.cxx:20: error: expected `;'
Comment 5 Wolfgang Bangerth 2004-10-15 14:50:37 UTC
*** Bug 18007 has been marked as a duplicate of this bug. ***
Comment 6 Wolfgang Bangerth 2004-10-15 14:53:49 UTC
Likely related to PR 10574. 
W. 
Comment 7 Wolfgang Bangerth 2004-10-15 14:56:22 UTC
There quite some discussion on this matter in PR 13088. 
W. 
Comment 8 Kriang Lerdsuwanakij 2004-11-28 10:46:12 UTC
Work postponed to GCC 4.1.  This bug is tricky to fix.
Comment 9 Kriang Lerdsuwanakij 2005-10-22 13:55:50 UTC
Won't work on it for a long while.
Comment 10 Wolfgang Bangerth 2007-02-16 18:39:33 UTC
This is a duplicate of PR14032, which has more information on the matter
than the present one.

W.

*** This bug has been marked as a duplicate of 14032 ***