gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.base / constvars.c
CommitLineData
c906108c
SS
1void marker1 (void)
2{
3}
4
5/* misc. function params */
6
7int
8qux1 (const char cc, const char /*&*/ccr, const char *ccp, char *const cpc)
9{
10 return 33;
11}
12
13int
14qux2 (volatile unsigned char vuc, const volatile int cvi,
15 volatile short /*&*/vsr, volatile long *vlp, float *volatile fpv,
16 const volatile signed char *const volatile cvscpcv)
17{
18 return 400;
19}
20
21int
22main (void)
23{
24 char lave = 'B';
25 unsigned char lavish = 10;
26 short lax = 20;
27 unsigned short lecherous = 30;
28 long lechery = 40;
29 unsigned long lectern = 50;
30 float leeway = 60;
31 double legacy = 70;
32 signed char lemonade = 35;
33
34 const char laconic = 'A';
35 const unsigned char laggard = 1;
36 const short lagoon = 2;
37 const unsigned short laity = 3;
38 const long lambent = 4;
39 const unsigned long laminated = 5;
40 const float lampoon = 6;
41 const double languid = 7;
42
43 /* pointers to constant variables */
44
45 const char *legend = &lave;
46 const unsigned char *legerdemain = &lavish;
47 const short *leniency = &lax;
48 const unsigned short *leonine = &lecherous;
49 const long *lesion = &lechery;
50 const unsigned long *lethal = &lectern;
51 const float *lethargic = &leeway;
52 const double *levity = &legacy;
53
54 /* constant pointers to constant variables */
55
56 const char *const lewd = &laconic;
57 const unsigned char *const lexicographer = &laggard;
58 const short *const lexicon = &lagoon;
59 const unsigned short *const liaison = &laity;
60 const long *const libation = &lambent;
61 const unsigned long *const libelous = &laminated;
62 const float *const libertine = &lampoon;
63 const double *const libidinous = &languid;
64
65 /* this is the same as const char * legend .... */
66
67 char const *languish = &laconic;
68 unsigned char const *languor = &laggard;
69 short const *lank = &lagoon;
70 unsigned short const *lapidary = &laity;
71 long const *larceny = &lambent;
72 unsigned long const *largess = &laminated;
73 float const *lascivious = &lampoon;
74 double const *lassitude = &languid;
75
76 /* constant pointers to variable */
77
78 char *const lamprey = &lave;
79 unsigned char *const lariat = &lavish;
80 short *const laudanum = &lax;
81 unsigned short *const lecithin = &lecherous;
82 long *const leviathan = &lechery;
83 unsigned long *const libretto = &lectern;
84 float *const lissome = &leeway;
85 double *const locust = &legacy;
86
2f608a3a
KW
87 /* constant arrays */
88 const char logical[2] = {laconic, laconic};
89 const unsigned char lugged[2] = {laggard, laggard};
90 const short luck[2] = {lagoon, lagoon};
91 const unsigned short lunar[2] = {laity, laity};
92 const long lumen[2] = {lambent, lambent};
93 const unsigned long lurk[2] = {laminated, laminated};
94 const float lush[2] = {lampoon, lampoon};
95 const double lynx[2] = {languid, languid};
96
c906108c
SS
97 /* volatile variables */
98
99 volatile char vox = 'X';
100 volatile unsigned char victuals = 13;
101 volatile short vixen = 200;
102 volatile unsigned short vitriol = 300;
103 volatile long vellum = 1000;
104 volatile unsigned long valve = 2000;
105 volatile float vacuity = 3.0;
106 volatile double vertigo = 10.3;
107
108 /* pointers to volatile variables */
109
110 volatile char * vampire = &vox;
111 volatile unsigned char * viper = &victuals;
112 volatile short * vigour = &vixen;
113 volatile unsigned short * vapour = &vitriol;
114 volatile long * ventricle = &vellum;
115 volatile unsigned long * vigintillion = &valve;
116 volatile float * vocation = &vacuity;
117 volatile double * veracity = &vertigo;
118
119 /* volatile pointers to volatile variables */
120
121 volatile char * volatile vapidity = &vox;
122 volatile unsigned char * volatile velocity = &victuals;
123 volatile short * volatile veneer = &vixen;
124 volatile unsigned short * volatile video = &vitriol;
125 volatile long * volatile vacuum = &vellum;
126 volatile unsigned long * volatile veniality = &valve;
127 volatile float * volatile vitality = &vacuity;
128 volatile double * volatile voracity = &vertigo;
129
cf363f18
MW
130 /* volatile arrays */
131 volatile char violent[2] = {vox, vox};
132 volatile unsigned char violet[2] = {victuals, victuals};
133 volatile short vips[2] = {vixen, vixen};
134 volatile unsigned short virgen[2] = {vitriol, vitriol};
135 volatile long vulgar[2] = {vellum, vellum};
136 volatile unsigned long vulture[2] = {valve, valve};
137 volatile float vilify[2] = {vacuity, vacuity};
138 volatile double villar[2] = {vertigo, vertigo};
139
c906108c
SS
140 /* const volatile vars */
141
142 const volatile char victor = 'Y';
143 const volatile unsigned char vicar = 11;
144
145 /* pointers to const volatiles */
146
147 const volatile char * victory = &victor;
148 const volatile unsigned char * vicarage = &vicar;
149
150 /* const pointers to volatile vars */
151
152 volatile char * const vein = &vox;
153 volatile unsigned char * const vogue = &victuals;
154
155 /* const pointers to const volatile vars */
156
157 const volatile char * const cavern = &victor;
158 const volatile unsigned char * const coverlet = &vicar;
159
160 /* volatile pointers to const vars */
161
162 const char * volatile caveat = &laconic;
163 const unsigned char * volatile covenant = &laggard;
164
165 /* volatile pointers to const volatile vars */
166
167 const volatile char * volatile vizier = &victor;
168 const volatile unsigned char * volatile vanadium = &vicar;
169
170 /* const volatile pointers */
171
172 char * const volatile vane = &lave;
173 unsigned char * const volatile veldt = &lavish;
174
175 /* const volatile pointers to const vars */
176
177 const char * const volatile cove = &laconic;
178 const unsigned char * const volatile cavity = &laggard;
179
180 /* const volatile pointers to volatile vars */
181
182 volatile char * const volatile vagus = &vox;
183 volatile unsigned char * const volatile vagrancy = &victuals;
184
185 /* const volatile pointers to const volatile */
186
187 const volatile char * const volatile vagary = &victor;
188 const volatile unsigned char * const volatile vendor = &vicar;
abe1a5d0 189
cf363f18
MW
190 /* const volatile arrays */
191 const volatile char vindictive[2] = {victor, victor};
192 const volatile unsigned char vegetation[2] = {vicar, vicar};
193
abe1a5d0
KB
194 /* various structs with const members */
195
67609209
FR
196 struct crass { char * const ptr; } crass = { lamprey };
197 struct crisp { char * const *ptr; } crisp = { &lamprey };
c906108c 198
f0df251a
DJ
199 /* Reference the structs so that they are not discarded. */
200 struct crass *creed = &crass;
201 struct crisp *crow = &crisp;
202
c906108c
SS
203 /* misc. references */
204 /*
205 const char & radiation = laconic;
206 volatile signed char & remuneration = lemonade;
207 */
c906108c
SS
208 marker1 ();
209
210
211 return 0;
212}
This page took 2.138781 seconds and 4 git commands to generate.