[gdb/testsuite] Reduce errors after gdb exit in default_gdb_start
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.base / sizeof.c
1 typedef char padding[16];
2
3 struct {
4 padding p1;
5 char v;
6 padding p2;
7 } padding_char;
8
9 struct {
10 padding p1;
11 short v;
12 padding p2;
13 } padding_short;
14
15 struct {
16 padding p1;
17 int v;
18 padding p2;
19 } padding_int;
20
21 struct {
22 padding p1;
23 long v;
24 padding p2;
25 } padding_long;
26
27 struct {
28 padding p1;
29 long long v;
30 padding p2;
31 } padding_long_long;
32
33 struct {
34 padding p1;
35 float v;
36 padding p2;
37 } padding_float;
38
39 struct {
40 padding p1;
41 double v;
42 padding p2;
43 } padding_double;
44
45 struct {
46 padding p1;
47 long double v;
48 padding p2;
49 } padding_long_double;
50
51 static void
52 fill (void *buf, long sizeof_buf)
53 {
54 char *p = buf;
55 int i;
56 for (i = 0; i < sizeof_buf; i++)
57 p[i] = "The quick brown dingo jumped over the layzy dog."[i];
58 }
59
60 void
61 fill_structs (void)
62 {
63 fill (&padding_char.p1, sizeof (padding));
64 fill (&padding_char.v, sizeof (padding_char.v));
65 fill (&padding_char.p2, sizeof (padding));
66
67 fill (&padding_short.p1, sizeof (padding));
68 fill (&padding_short.v, sizeof (padding_short.v));
69 fill (&padding_short.p2, sizeof (padding));
70
71 fill (&padding_int.p1, sizeof (padding));
72 fill (&padding_int.v, sizeof (padding_int.v));
73 fill (&padding_int.p2, sizeof (padding));
74
75 fill (&padding_long.p1, sizeof (padding));
76 fill (&padding_long.v, sizeof (padding_long.v));
77 fill (&padding_long.p2, sizeof (padding));
78
79 fill (&padding_long_long.p1, sizeof (padding));
80 fill (&padding_long_long.v, sizeof (padding_long_long.v));
81 fill (&padding_long_long.p2, sizeof (padding));
82
83 fill (&padding_float.p1, sizeof (padding));
84 fill (&padding_float.v, sizeof (padding_float.v));
85 fill (&padding_float.p2, sizeof (padding));
86
87 fill (&padding_double.p1, sizeof (padding));
88 fill (&padding_double.v, sizeof (padding_double.v));
89 fill (&padding_double.p2, sizeof (padding));
90
91 fill (&padding_long_double.p1, sizeof (padding));
92 fill (&padding_long_double.v, sizeof (padding_long_double.v));
93 fill (&padding_long_double.p2, sizeof (padding));
94 }
95
96 int
97 main ()
98 {
99 int size, value;
100
101 fill_structs ();
102
103 size = (int) sizeof (char);
104 size = (int) sizeof (short);
105 size = (int) sizeof (int);
106 size = (int) sizeof (long);
107 size = (int) sizeof (long long);
108 size = (int) sizeof (void*);
109 size = (int) sizeof (void (*)(void));
110 size = (int) sizeof (float);
111 size = (int) sizeof (double);
112 size = (int) sizeof (long double);
113
114 /* Signed char? */
115 value = '\377';
116 value = (int) (char) -1;
117 value = (int) (signed char) -1;
118 value = (int) (unsigned char) -1;
119
120 return 0;
121 }
This page took 0.032299 seconds and 4 git commands to generate.