]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gdb/testsuite/gdb.python/py-type.c
GDB copyright headers update after running GDB's copyright.py script.
[thirdparty/binutils-gdb.git] / gdb / testsuite / gdb.python / py-type.c
CommitLineData
bfd31e71
PM
1/* This testcase is part of GDB, the GNU debugger.
2
618f726f 3 Copyright 2009-2016 Free Software Foundation, Inc.
bfd31e71
PM
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
18struct s
19{
20 int a;
21 int b;
22};
23
b5b08fb4
SC
24struct SS
25{
26 union { int x; char y; };
27 union { int a; char b; };
28};
29
f6b47be4
DE
30typedef struct s TS;
31TS ts;
32
bfd31e71
PM
33#ifdef __cplusplus
34struct C
35{
36 int c;
37 int d;
bed91f4d
SM
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 }
bfd31e71
PM
56};
57
58struct D : C
59{
60 int e;
61 int f;
62};
326fd672
TT
63
64template<typename T, int I, int C::*MP>
65struct Temargs
66{
67};
68
69Temargs<D, 23, &C::c> temvar;
70
bfd31e71
PM
71#endif
72
7a81bdbf
PK
73enum E
74{ v1, v2, v3
75};
76
8954db33
AB
77struct s vec_data_1 = {1, 1};
78struct s vec_data_2 = {1, 2};
79
bed91f4d
SM
80static int
81a_function (int x, char y)
82{
83 return x + y;
84}
85
bfd31e71
PM
86int
87main ()
88{
89 int ar[2] = {1,2};
90 struct s st;
b5b08fb4 91 struct SS ss;
bfd31e71
PM
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;
bed91f4d
SM
99
100 c.a_method (0, 1);
101 c.a_const_method (0, 1);
102 C::a_static_method (0, 1);
bfd31e71 103#endif
7a81bdbf 104 enum E e;
bed91f4d 105
bfd31e71
PM
106 st.a = 3;
107 st.b = 5;
108
7a81bdbf 109 e = v2;
b5b08fb4
SC
110
111 ss.x = 100;
bed91f4d
SM
112
113 a_function (0, 1);
114
bfd31e71
PM
115 return 0; /* break to inspect struct and array. */
116}