1 /* This testcase is part of GDB, the GNU debugger.
2 
3    Copyright 2011-2020 Free Software Foundation, Inc.
4 
5    This program is free software; you can redistribute it and/or modify
6    it under the terms of the GNU General Public License as published by
7    the Free Software Foundation; either version 3 of the License, or
8    (at your option) any later version.
9 
10    This program is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13    GNU General Public License for more details.
14 
15    You should have received a copy of the GNU General Public License
16    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
17 
18 class C {
19 public:
C()20   C() {}
~C()21   ~C() {}
22 };
23 
24 typedef struct {
25   C m;
26 } t;
27 
28 t v;
29 
30 namespace X {
31   class C2 {
32   public:
C2()33     C2() {}
34   };
35 
36   typedef struct {
37     C2 m;
38   } t2;
39 
40   t2 v2;
41 }
42 
43 template<class T>
44 class C3 {
45 public:
~C3()46   ~C3() {}
47 };
48 
49 typedef struct {
50   C3<int> m;
51 } t3;
52 
53 t3 v3;
54 
main()55 int main()
56 {
57   return 0;
58 }
59