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