1// { dg-do assemble  }
2
3// Copyright (C) 1999 Free Software Foundation, Inc.
4// Contributed by Nathan Sidwell 3 Jun 1999 <nathan@acm.org>
5
6// Duplicate definitions are wrong, we should just cough
7// politely, but we used to die horribly.
8
9class Y
10{   // { dg-error "" } previous definition
11};
12class Y // { dg-error "" } redefinition
13{
14};
15
16template<class T> class X
17{   // { dg-error "" } previous definition
18};
19template<class T> class X // { dg-error "" } redefinition
20{
21};
22
23template<class T> class X<T *>
24{   // { dg-error "" } previous definition
25};
26template<class T> class X<T *> // { dg-error "" } redefinition
27{
28};
29
30template<> class X<int>
31{   // { dg-error "" } previous definition
32};
33template<> class X<int> // { dg-error "" } redefinition
34{
35};
36
37template<> class X<int *>
38{   // { dg-error "" } previous definition
39};
40template<> class X<int *> // { dg-error "" } redefinition
41{
42};
43