Imported Upstream version 7.9
[platform/upstream/gdb.git] / gdb / testsuite / gdb.python / py-type.c
1 /* This testcase is part of GDB, the GNU debugger.
2
3    Copyright 2009-2015 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 struct s
19 {
20   int a;
21   int b;
22 };
23
24 struct SS
25 {
26   union { int x; char y; };
27   union { int a; char b; };
28 };
29
30 typedef struct s TS;
31 TS ts;
32
33 #ifdef __cplusplus
34 struct C
35 {
36   int c;
37   int d;
38 };
39
40 struct D : C
41 {
42   int e;
43   int f;
44 };
45
46 template<typename T, int I, int C::*MP>
47 struct Temargs
48 {
49 };
50
51 Temargs<D, 23, &C::c> temvar;
52
53 #endif
54
55 enum E
56 { v1, v2, v3
57 };
58
59 struct s vec_data_1 = {1, 1};
60 struct s vec_data_2 = {1, 2};
61
62 int
63 main ()
64 {
65   int ar[2] = {1,2};
66   struct s st;
67   struct SS ss;
68 #ifdef __cplusplus
69   C c;
70   c.c = 1;
71   c.d = 2;
72   D d;
73   d.e = 3;
74   d.f = 4;
75 #endif
76   enum E e;
77   
78   st.a = 3;
79   st.b = 5;
80
81   e = v2;
82
83   ss.x = 100;
84   
85   return 0;      /* break to inspect struct and array.  */
86 }