This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
c++/7402: Partial Template Specialization Problem
- From: jfranzoy at yahoo dot com dot ar
- To: gcc-gnats at gcc dot gnu dot org
- Date: 25 Jul 2002 13:53:35 -0000
- Subject: c++/7402: Partial Template Specialization Problem
- Reply-to: jfranzoy at yahoo dot com dot ar
>Number: 7402
>Category: c++
>Synopsis: Partial Template Specialization Problem
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: rejects-legal
>Submitter-Id: net
>Arrival-Date: Thu Jul 25 06:56:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator: jfranzoy@yahoo.com.ar
>Release: g++ version 3.0.4
>Organization:
>Environment:
g++ -v
Reading specs from /usr/local/gcc-3.0.4/lib/gcc-lib/sparc-sun-solaris2.6/3.0.4/specs
Configured with: ../gcc-3.0.4/configure --prefix=/usr/local/gcc-3.0.4 --with-ld=/usr/ccs/bin/ld --with-as=/usr/ccs/bin/as --enable-threads=posix --enable-languages=c++
Thread model: posix
gcc version 3.0.4
uname -a
SunOS ultra5 5.6 Generic_105181-20 sun4u sparc SUNW,Ultra-5_10
/usr/platform/sun4u/sbin/prtdiag -v
System Configuration: Sun Microsystems sun4u Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 360MHz)
System clock frequency: 90 MHz
Memory size: 256 Megabytes
========================= CPUs =========================
Run Ecache CPU CPU
Brd CPU Module MHz MB Impl. Mask
--- --- ------- ----- ------ ------ ----
0 0 0 360 0.2 12 9.1
========================= IO Cards =========================
No failures found in System
===========================
========================= HW Revisions =========================
ASIC Revisions:
---------------
System PROM revisions:
----------------------
>Description:
The compiler does not see a partial template specialization when one of the template-argument-list (those that follow the class template name) is an inner type of another template instantiation.
>How-To-Repeat:
g++ PossibleGCCBug.cpp
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: text/plain; name="PossibleGCCBug.cpp"
Content-Disposition: inline; filename="PossibleGCCBug.cpp"
#include <iostream>
template<class T>
struct TemplateParameterGenerator
{
typedef T Result;
};
template<class TList>
class SomeClassTemplate;
template<class T1>
class SomeClassTemplate< typename TemplateParameterGenerator<T1>::Result >
{
};
int main()
{
SomeClassTemplate<int> fi;
}