xref: /openbsd-src/gnu/usr.bin/binutils/gdb/testsuite/gdb.base/constvars.c (revision b725ae7711052a2233e31a66fefb8a752c388d7a)

marker1(void)1*b725ae77Skettenis void marker1 (void)
2*b725ae77Skettenis {
3*b725ae77Skettenis }
4*b725ae77Skettenis 
5*b725ae77Skettenis /* misc. function params */
6*b725ae77Skettenis 
7*b725ae77Skettenis int
qux1(const char cc,const char ccr,const char * ccp,char * const cpc)8*b725ae77Skettenis qux1 (const char cc, const char /*&*/ccr, const char *ccp, char *const cpc)
9*b725ae77Skettenis {
10*b725ae77Skettenis   return 33;
11*b725ae77Skettenis }
12*b725ae77Skettenis 
13*b725ae77Skettenis int
qux2(volatile unsigned char vuc,const volatile int cvi,volatile short vsr,volatile long * vlp,float * volatile fpv,const volatile signed char * const volatile cvscpcv)14*b725ae77Skettenis qux2 (volatile unsigned char vuc, const volatile int cvi,
15*b725ae77Skettenis       volatile short /*&*/vsr, volatile long *vlp, float *volatile fpv,
16*b725ae77Skettenis       const volatile signed char *const volatile cvscpcv)
17*b725ae77Skettenis {
18*b725ae77Skettenis   return 400;
19*b725ae77Skettenis }
20*b725ae77Skettenis 
21*b725ae77Skettenis int
main(void)22*b725ae77Skettenis main (void)
23*b725ae77Skettenis {
24*b725ae77Skettenis   char lave = 'B';
25*b725ae77Skettenis   unsigned char lavish = 10;
26*b725ae77Skettenis   short lax = 20;
27*b725ae77Skettenis   unsigned short lecherous = 30;
28*b725ae77Skettenis   long lechery = 40;
29*b725ae77Skettenis   unsigned long lectern = 50;
30*b725ae77Skettenis   float leeway = 60;
31*b725ae77Skettenis   double legacy = 70;
32*b725ae77Skettenis   signed char lemonade = 35;
33*b725ae77Skettenis 
34*b725ae77Skettenis   const char            laconic = 'A';
35*b725ae77Skettenis   const unsigned char   laggard = 1;
36*b725ae77Skettenis   const short           lagoon = 2;
37*b725ae77Skettenis   const unsigned short  laity = 3;
38*b725ae77Skettenis   const long            lambent = 4;
39*b725ae77Skettenis   const unsigned long   laminated = 5;
40*b725ae77Skettenis   const float           lampoon = 6;
41*b725ae77Skettenis   const double          languid = 7;
42*b725ae77Skettenis 
43*b725ae77Skettenis   /* pointers to constant variables */
44*b725ae77Skettenis 
45*b725ae77Skettenis   const char           *legend      = &lave;
46*b725ae77Skettenis   const unsigned char  *legerdemain = &lavish;
47*b725ae77Skettenis   const short          *leniency    = &lax;
48*b725ae77Skettenis   const unsigned short *leonine     = &lecherous;
49*b725ae77Skettenis   const long           *lesion      = &lechery;
50*b725ae77Skettenis   const unsigned long  *lethal      = &lectern;
51*b725ae77Skettenis   const float          *lethargic   = &leeway;
52*b725ae77Skettenis   const double         *levity      = &legacy;
53*b725ae77Skettenis 
54*b725ae77Skettenis   /* constant pointers to constant variables */
55*b725ae77Skettenis 
56*b725ae77Skettenis   const char           *const lewd          = &laconic;
57*b725ae77Skettenis   const unsigned char  *const lexicographer = &laggard;
58*b725ae77Skettenis   const short          *const lexicon       = &lagoon;
59*b725ae77Skettenis   const unsigned short *const liaison       = &laity;
60*b725ae77Skettenis   const long           *const libation      = &lambent;
61*b725ae77Skettenis   const unsigned long  *const libelous      = &laminated;
62*b725ae77Skettenis   const float          *const libertine     = &lampoon;
63*b725ae77Skettenis   const double         *const libidinous    = &languid;
64*b725ae77Skettenis 
65*b725ae77Skettenis   /* this is the same as const char * legend .... */
66*b725ae77Skettenis 
67*b725ae77Skettenis   char           const *languish   = &laconic;
68*b725ae77Skettenis   unsigned char  const *languor    = &laggard;
69*b725ae77Skettenis   short          const *lank       = &lagoon;
70*b725ae77Skettenis   unsigned short const *lapidary   = &laity;
71*b725ae77Skettenis   long           const *larceny    = &lambent;
72*b725ae77Skettenis   unsigned long  const *largess    = &laminated;
73*b725ae77Skettenis   float          const *lascivious = &lampoon;
74*b725ae77Skettenis   double         const *lassitude  = &languid;
75*b725ae77Skettenis 
76*b725ae77Skettenis   /* constant pointers to variable */
77*b725ae77Skettenis 
78*b725ae77Skettenis   char           *const   lamprey   = &lave;
79*b725ae77Skettenis   unsigned char  *const   lariat    = &lavish;
80*b725ae77Skettenis   short          *const   laudanum  = &lax;
81*b725ae77Skettenis   unsigned short *const   lecithin  = &lecherous;
82*b725ae77Skettenis   long           *const   leviathan = &lechery;
83*b725ae77Skettenis   unsigned long  *const   libretto  = &lectern;
84*b725ae77Skettenis   float          *const   lissome   = &leeway;
85*b725ae77Skettenis   double         *const   locust    = &legacy;
86*b725ae77Skettenis 
87*b725ae77Skettenis   /* volatile variables */
88*b725ae77Skettenis 
89*b725ae77Skettenis   volatile char vox = 'X';
90*b725ae77Skettenis   volatile unsigned char victuals = 13;
91*b725ae77Skettenis   volatile short vixen = 200;
92*b725ae77Skettenis   volatile unsigned short vitriol = 300;
93*b725ae77Skettenis   volatile long vellum = 1000;
94*b725ae77Skettenis   volatile unsigned long valve = 2000;
95*b725ae77Skettenis   volatile float vacuity = 3.0;
96*b725ae77Skettenis   volatile double vertigo = 10.3;
97*b725ae77Skettenis 
98*b725ae77Skettenis   /* pointers to volatile variables */
99*b725ae77Skettenis 
100*b725ae77Skettenis   volatile char           * vampire = &vox;
101*b725ae77Skettenis   volatile unsigned char  * viper  = &victuals;
102*b725ae77Skettenis   volatile short          * vigour = &vixen;
103*b725ae77Skettenis   volatile unsigned short * vapour = &vitriol;
104*b725ae77Skettenis   volatile long           * ventricle = &vellum;
105*b725ae77Skettenis   volatile unsigned long  * vigintillion = &valve;
106*b725ae77Skettenis   volatile float          * vocation = &vacuity;
107*b725ae77Skettenis   volatile double         * veracity = &vertigo;
108*b725ae77Skettenis 
109*b725ae77Skettenis   /* volatile pointers to volatile variables */
110*b725ae77Skettenis 
111*b725ae77Skettenis   volatile char           * volatile vapidity = &vox;
112*b725ae77Skettenis   volatile unsigned char  * volatile velocity = &victuals;
113*b725ae77Skettenis   volatile short          * volatile veneer = &vixen;
114*b725ae77Skettenis   volatile unsigned short * volatile video = &vitriol;
115*b725ae77Skettenis   volatile long           * volatile vacuum = &vellum;
116*b725ae77Skettenis   volatile unsigned long  * volatile veniality = &valve;
117*b725ae77Skettenis   volatile float          * volatile vitality = &vacuity;
118*b725ae77Skettenis   volatile double         * volatile voracity = &vertigo;
119*b725ae77Skettenis 
120*b725ae77Skettenis   /* const volatile vars */
121*b725ae77Skettenis 
122*b725ae77Skettenis   const volatile char           victor = 'Y';
123*b725ae77Skettenis   const volatile unsigned char  vicar = 11;
124*b725ae77Skettenis 
125*b725ae77Skettenis   /* pointers to const volatiles */
126*b725ae77Skettenis 
127*b725ae77Skettenis   const volatile char              * victory = &victor;
128*b725ae77Skettenis   const volatile unsigned char     * vicarage = &vicar;
129*b725ae77Skettenis 
130*b725ae77Skettenis   /* const pointers to volatile vars */
131*b725ae77Skettenis 
132*b725ae77Skettenis   volatile char                    * const vein = &vox;
133*b725ae77Skettenis   volatile unsigned char           * const vogue = &victuals;
134*b725ae77Skettenis 
135*b725ae77Skettenis   /* const pointers to const volatile vars */
136*b725ae77Skettenis 
137*b725ae77Skettenis   const volatile char              * const cavern = &victor;
138*b725ae77Skettenis   const volatile unsigned char     * const coverlet = &vicar;
139*b725ae77Skettenis 
140*b725ae77Skettenis   /* volatile pointers to const vars */
141*b725ae77Skettenis 
142*b725ae77Skettenis   const char                       * volatile caveat = &laconic;
143*b725ae77Skettenis   const unsigned char              * volatile covenant = &laggard;
144*b725ae77Skettenis 
145*b725ae77Skettenis   /* volatile pointers to const volatile vars */
146*b725ae77Skettenis 
147*b725ae77Skettenis   const volatile char              * volatile vizier = &victor;
148*b725ae77Skettenis   const volatile unsigned char     * volatile vanadium = &vicar;
149*b725ae77Skettenis 
150*b725ae77Skettenis   /* const volatile pointers */
151*b725ae77Skettenis 
152*b725ae77Skettenis   char                             * const volatile vane = &lave;
153*b725ae77Skettenis   unsigned char                    * const volatile veldt = &lavish;
154*b725ae77Skettenis 
155*b725ae77Skettenis   /* const volatile pointers to const vars */
156*b725ae77Skettenis 
157*b725ae77Skettenis   const char                       * const volatile cove = &laconic;
158*b725ae77Skettenis   const unsigned char              * const volatile cavity = &laggard;
159*b725ae77Skettenis 
160*b725ae77Skettenis   /* const volatile pointers to volatile vars */
161*b725ae77Skettenis 
162*b725ae77Skettenis   volatile char                    * const volatile vagus = &vox;
163*b725ae77Skettenis   volatile unsigned char           * const volatile vagrancy = &victuals;
164*b725ae77Skettenis 
165*b725ae77Skettenis   /* const volatile pointers to const volatile */
166*b725ae77Skettenis 
167*b725ae77Skettenis   const volatile char              * const volatile vagary = &victor;
168*b725ae77Skettenis   const volatile unsigned char     * const volatile vendor = &vicar;
169*b725ae77Skettenis 
170*b725ae77Skettenis   /* various structs with const members */
171*b725ae77Skettenis 
172*b725ae77Skettenis   struct crass { char * const ptr; } crass;
173*b725ae77Skettenis   struct crisp { char * const *ptr; } crisp;
174*b725ae77Skettenis 
175*b725ae77Skettenis   /* misc. references */
176*b725ae77Skettenis   /*
177*b725ae77Skettenis   const char           & radiation = laconic;
178*b725ae77Skettenis   volatile signed char & remuneration = lemonade;
179*b725ae77Skettenis   */
180*b725ae77Skettenis #ifdef usestubs
181*b725ae77Skettenis   set_debug_traps ();
182*b725ae77Skettenis   breakpoint ();
183*b725ae77Skettenis #endif
184*b725ae77Skettenis   marker1 ();
185*b725ae77Skettenis 
186*b725ae77Skettenis 
187*b725ae77Skettenis   return 0;
188*b725ae77Skettenis }
189