// { dg-do assemble  }

// Copyright (C) 1999 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 3 Jun 1999 <nathan@acm.org>

// Duplicate definitions are wrong, we should just cough
// politely, but we used to die horribly.

class Y
{   // { dg-error "" } previous definition
};
class Y // { dg-error "" } redefinition
{   
};

template<class T> class X
{   // { dg-error "" } previous definition
};
template<class T> class X // { dg-error "" } redefinition
{   
};

template<class T> class X<T *>
{   // { dg-error "" } previous definition
};
template<class T> class X<T *> // { dg-error "" } redefinition
{   
};

template<> class X<int>
{   // { dg-error "" } previous definition
};
template<> class X<int> // { dg-error "" } redefinition
{   
};

template<> class X<int *>
{   // { dg-error "" } previous definition
};
template<> class X<int *> // { dg-error "" } redefinition
{   
};
