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