curried template arg bug

Larry Evans cppljevans@earthlink.net
Mon May 1 10:51:00 GMT 2000


uname -a
Linux localhost.localdomain 2.2.13-4mdk #1 Tue Sep 7 18:23:11 CEST 1999
i586 unknown
g++ -v
Reading specs from /usr/local/lib/gcc-lib/i586-pc-linux-gnu/2.95.2/specs

gcc version 2.95.2 19991024 (release)
cat main.cpp
//Purpose:
//  Test to see whether template args can be curried.
//Result:
//  Compile-time error:
//    main.cpp:47: Internal compiler error 980422.
  struct
S
  {};
  struct
T
  {};
template
  < template<typename U>class V
  >
  struct
A
  {  V<T> v;
  };
template
  < typename S
  , typename T
  >
  struct
B
  { S s;
    T t;
  };
template
  < typename S
  >
  struct
C
  {
    template
      < typename T
      >
      struct
    V
      : public B<S,T>
      {};
  };
  int
main(void)
  {
  ; C<S>::V<T> x
  ; A<C<S>::V> y
  ; return 0
  ;}

g++ -c main.cpp
main.cpp: In function `int main()':
main.cpp:47: Internal compiler error 980422.
main.cpp:47: Please submit a full bug report.
main.cpp:47: See
<URL: http://www.gnu.org/software/gcc/faq.html#bugreport > for
instructions.
make: *** [compile] Error 1




More information about the Gcc-bugs mailing list