2014-01-30 Alangi Derick <alangiderick@gmail.com>
[official-gcc.git] / gcc / testsuite / g++.dg / template / pr58878.C
blobadad9fe5b07cfb2af8b2e4d36f52c1dde06e6d1f
1 // PR c++/58878
3 // Template-members of non-template class
4 struct A
6     template <typename t>    // { dg-error "shadows" }
7         void f()
8         {
9             int t = 1;       // { dg-error "declaration" }
10         }
12     template <typename t>
13         void g();
16 template <typename t>        // { dg-error "shadows" }
17 void A::g()
19     int t = 2;               // { dg-error "declaration" }
22 // (Non-template) Members of template class
23 template <typename t>        // { dg-error "shadows" }
24 struct B
26     void f()
27     {
28         int t = 3;           // { dg-error "declaration" }
29     }
31     void g();
34 template <typename t>        // { dg-error "shadows" }
35 void B<t>::g()
37     int t = 4;               // { dg-error "declaration" }
40 // Template members of template class
41 template <typename t>        // { dg-error "shadows" }
42 struct C
44     template <typename s>    // { dg-error "shadows" }
45     void f()
46     {
47         int t = 5;           // { dg-error "declaration" }
48         int s = 6;           // { dg-error "declaration" }
49     }
51     template <typename s>
52     void g();
55 template <typename t>        // { dg-error "shadows" }
56 template <typename s>        // { dg-error "shadows" }
57 void C<t>::g()
59     int t = 7;               // { dg-error "declaration" }
60     int s = 8;               // { dg-error "declaration" }