]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - gdb/testsuite/gdb.python/py-explore.c
update copyright year range in GDB files
[thirdparty/binutils-gdb.git] / gdb / testsuite / gdb.python / py-explore.c
1 /* This testcase is part of GDB, the GNU debugger.
2
3 Copyright 2012-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 #define ARRAY_SIZE 10
19
20 struct SimpleStruct
21 {
22 int a;
23 double d;
24 };
25
26 union SimpleUnion
27 {
28 int i;
29 char c;
30 float f;
31 double d;
32 };
33
34 typedef struct SimpleStruct SS;
35
36 struct ComplexStruct
37 {
38 struct SimpleStruct s;
39 union SimpleUnion u;
40 SS sa[ARRAY_SIZE];
41 };
42
43 union ComplexUnion
44 {
45 SS s;
46 struct SimpleStruct sa[ARRAY_SIZE];
47 };
48
49 int
50 main (void)
51 {
52 struct SimpleStruct ss;
53 struct SimpleStruct* ss_ptr = &ss;
54 SS ss_t;
55
56 union SimpleUnion su;
57 struct ComplexStruct cs;
58 struct ComplexStruct* cs_ptr = &cs;
59 union ComplexUnion cu;
60 int i;
61 double darray[5] = {0.1, 0.2, 0.3, 0.4, 0.5};
62 double *darray_ref = darray;
63
64 ss.a = 10;
65 ss.d = 100.01;
66 ss_t = ss;
67
68 su.d = 100.1;
69
70 cs.s = ss;
71 cs.u = su;
72 for (i = 0; i < ARRAY_SIZE; i++)
73 {
74 cs.sa[i].a = i;
75 cs.sa[i].d = 10.10 + i;
76 cu.sa[i].a = i;
77 cu.sa[i].d = 100.10 + i;
78 }
79
80 return 0; /* Break here. */
81 }