// { 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
};
