update copyright year range in GDB files
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.python / py-type.c
1 /* This testcase is part of GDB, the GNU debugger.
2
3 Copyright 2009-2017 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 int
40 a_method (int x, char y)
41 {
42 return x + y;
43 }
44
45 int
46 a_const_method (int x, char y) const
47 {
48 return x + y;
49 }
50
51 static int
52 a_static_method (int x, char y)
53 {
54 return x + y;
55 }
56 };
57
58 struct D : C
59 {
60 int e;
61 int f;
62 };
63
64 template<typename T, int I, int C::*MP>
65 struct Temargs
66 {
67 };
68
69 Temargs<D, 23, &C::c> temvar;
70
71 #endif
72
73 enum E
74 { v1, v2, v3
75 };
76
77 struct s vec_data_1 = {1, 1};
78 struct s vec_data_2 = {1, 2};
79
80 static int
81 a_function (int x, char y)
82 {
83 return x + y;
84 }
85
86 int
87 main ()
88 {
89 int ar[2] = {1,2};
90 struct s st;
91 struct SS ss;
92 #ifdef __cplusplus
93 C c;
94 c.c = 1;
95 c.d = 2;
96 D d;
97 d.e = 3;
98 d.f = 4;
99
100 c.a_method (0, 1);
101 c.a_const_method (0, 1);
102 C::a_static_method (0, 1);
103 #endif
104 enum E e;
105
106 st.a = 3;
107 st.b = 5;
108
109 e = v2;
110
111 ss.x = 100;
112
113 a_function (0, 1);
114
115 return 0; /* break to inspect struct and array. */
116 }
This page took 0.03557 seconds and 5 git commands to generate.