------- Comment #11 from reichelt at gcc dot gnu dot org 2006-08-04 21:39 ------- Even worse, here's a modified example that produces wrong code on the 4.0 branch:
==================================== struct A { typedef int X; }; template<typename T> struct B { typedef typename T::X Y; template<Y y, Y> struct C { enum { i=1 }; }; template<Y y> struct C<y,y> { enum { i=0 }; }; }; int main() { return B<A>::C<0,0>().i; } ==================================== The program should return 0, but returns 1 instead. -- reichelt at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |wrong-code http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25342