This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: curried template inaccurate names
- To: gcc-bugs at gcc dot gnu dot org
- Subject: Re: curried template inaccurate names
- From: Larry Evans <jcampbell3 at prodigy dot net>
- Date: Sun, 16 Jul 2000 12:54:06 -0500
- Followup-To: http://gcc.gnu.org/ml/gcc-bugs/2000-07/msg00407.html
The following is an even further simplification of the problem:
=========================
template
< typename S
>
struct
A
{
};
template
< template<typename S>class T
>
struct
B
{
template
< typename U
>
struct
C
{
C(void);
};
};
typedef B<A> B1;
typedef B<B1::C> B2;
typedef B<B2::C> B3;
B2::C<int>::C(void){};
#define B3__C__CTOR
#ifdef B3__C__CTOR
//The following produces:
// bug2.s:24: Fatal error: Symbol B<template <class> class
C>::C<int>::C(void) already defined.
B3::C<int>::C(void){};
#endif