This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: curried template inaccurate names


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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]