------- 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

Reply via email to