marker1(void)166e63ce3Schristos void marker1 (void)
266e63ce3Schristos {
366e63ce3Schristos }
466e63ce3Schristos 
566e63ce3Schristos /* misc. function params */
666e63ce3Schristos 
766e63ce3Schristos int
qux1(const char cc,const char ccr,const char * ccp,char * const cpc)866e63ce3Schristos qux1 (const char cc, const char /*&*/ccr, const char *ccp, char *const cpc)
966e63ce3Schristos {
1066e63ce3Schristos   return 33;
1166e63ce3Schristos }
1266e63ce3Schristos 
1366e63ce3Schristos 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)1466e63ce3Schristos qux2 (volatile unsigned char vuc, const volatile int cvi,
1566e63ce3Schristos       volatile short /*&*/vsr, volatile long *vlp, float *volatile fpv,
1666e63ce3Schristos       const volatile signed char *const volatile cvscpcv)
1766e63ce3Schristos {
1866e63ce3Schristos   return 400;
1966e63ce3Schristos }
2066e63ce3Schristos 
2166e63ce3Schristos int
main(void)2266e63ce3Schristos main (void)
2366e63ce3Schristos {
2466e63ce3Schristos   char lave = 'B';
2566e63ce3Schristos   unsigned char lavish = 10;
2666e63ce3Schristos   short lax = 20;
2766e63ce3Schristos   unsigned short lecherous = 30;
2866e63ce3Schristos   long lechery = 40;
2966e63ce3Schristos   unsigned long lectern = 50;
3066e63ce3Schristos   float leeway = 60;
3166e63ce3Schristos   double legacy = 70;
3266e63ce3Schristos   signed char lemonade = 35;
3366e63ce3Schristos 
3466e63ce3Schristos   const char            laconic = 'A';
3566e63ce3Schristos   const unsigned char   laggard = 1;
3666e63ce3Schristos   const short           lagoon = 2;
3766e63ce3Schristos   const unsigned short  laity = 3;
3866e63ce3Schristos   const long            lambent = 4;
3966e63ce3Schristos   const unsigned long   laminated = 5;
4066e63ce3Schristos   const float           lampoon = 6;
4166e63ce3Schristos   const double          languid = 7;
4266e63ce3Schristos 
4366e63ce3Schristos   /* pointers to constant variables */
4466e63ce3Schristos 
4566e63ce3Schristos   const char           *legend      = &lave;
4666e63ce3Schristos   const unsigned char  *legerdemain = &lavish;
4766e63ce3Schristos   const short          *leniency    = &lax;
4866e63ce3Schristos   const unsigned short *leonine     = &lecherous;
4966e63ce3Schristos   const long           *lesion      = &lechery;
5066e63ce3Schristos   const unsigned long  *lethal      = &lectern;
5166e63ce3Schristos   const float          *lethargic   = &leeway;
5266e63ce3Schristos   const double         *levity      = &legacy;
5366e63ce3Schristos 
5466e63ce3Schristos   /* constant pointers to constant variables */
5566e63ce3Schristos 
5666e63ce3Schristos   const char           *const lewd          = &laconic;
5766e63ce3Schristos   const unsigned char  *const lexicographer = &laggard;
5866e63ce3Schristos   const short          *const lexicon       = &lagoon;
5966e63ce3Schristos   const unsigned short *const liaison       = &laity;
6066e63ce3Schristos   const long           *const libation      = &lambent;
6166e63ce3Schristos   const unsigned long  *const libelous      = &laminated;
6266e63ce3Schristos   const float          *const libertine     = &lampoon;
6366e63ce3Schristos   const double         *const libidinous    = &languid;
6466e63ce3Schristos 
6566e63ce3Schristos   /* this is the same as const char * legend .... */
6666e63ce3Schristos 
6766e63ce3Schristos   char           const *languish   = &laconic;
6866e63ce3Schristos   unsigned char  const *languor    = &laggard;
6966e63ce3Schristos   short          const *lank       = &lagoon;
7066e63ce3Schristos   unsigned short const *lapidary   = &laity;
7166e63ce3Schristos   long           const *larceny    = &lambent;
7266e63ce3Schristos   unsigned long  const *largess    = &laminated;
7366e63ce3Schristos   float          const *lascivious = &lampoon;
7466e63ce3Schristos   double         const *lassitude  = &languid;
7566e63ce3Schristos 
7666e63ce3Schristos   /* constant pointers to variable */
7766e63ce3Schristos 
7866e63ce3Schristos   char           *const   lamprey   = &lave;
7966e63ce3Schristos   unsigned char  *const   lariat    = &lavish;
8066e63ce3Schristos   short          *const   laudanum  = &lax;
8166e63ce3Schristos   unsigned short *const   lecithin  = &lecherous;
8266e63ce3Schristos   long           *const   leviathan = &lechery;
8366e63ce3Schristos   unsigned long  *const   libretto  = &lectern;
8466e63ce3Schristos   float          *const   lissome   = &leeway;
8566e63ce3Schristos   double         *const   locust    = &legacy;
8666e63ce3Schristos 
8766e63ce3Schristos   /* constant arrays */
8866e63ce3Schristos   const char logical[2] = {laconic, laconic};
8966e63ce3Schristos   const unsigned char lugged[2] = {laggard, laggard};
9066e63ce3Schristos   const short luck[2] = {lagoon, lagoon};
9166e63ce3Schristos   const unsigned short lunar[2] = {laity, laity};
9266e63ce3Schristos   const long lumen[2] = {lambent, lambent};
9366e63ce3Schristos   const unsigned long lurk[2] = {laminated, laminated};
9466e63ce3Schristos   const float lush[2] = {lampoon, lampoon};
9566e63ce3Schristos   const double lynx[2] = {languid, languid};
9666e63ce3Schristos 
9766e63ce3Schristos   /* volatile variables */
9866e63ce3Schristos 
9966e63ce3Schristos   volatile char vox = 'X';
10066e63ce3Schristos   volatile unsigned char victuals = 13;
10166e63ce3Schristos   volatile short vixen = 200;
10266e63ce3Schristos   volatile unsigned short vitriol = 300;
10366e63ce3Schristos   volatile long vellum = 1000;
10466e63ce3Schristos   volatile unsigned long valve = 2000;
10566e63ce3Schristos   volatile float vacuity = 3.0;
10666e63ce3Schristos   volatile double vertigo = 10.3;
10766e63ce3Schristos 
10866e63ce3Schristos   /* pointers to volatile variables */
10966e63ce3Schristos 
11066e63ce3Schristos   volatile char           * vampire = &vox;
11166e63ce3Schristos   volatile unsigned char  * viper  = &victuals;
11266e63ce3Schristos   volatile short          * vigour = &vixen;
11366e63ce3Schristos   volatile unsigned short * vapour = &vitriol;
11466e63ce3Schristos   volatile long           * ventricle = &vellum;
11566e63ce3Schristos   volatile unsigned long  * vigintillion = &valve;
11666e63ce3Schristos   volatile float          * vocation = &vacuity;
11766e63ce3Schristos   volatile double         * veracity = &vertigo;
11866e63ce3Schristos 
11966e63ce3Schristos   /* volatile pointers to volatile variables */
12066e63ce3Schristos 
12166e63ce3Schristos   volatile char           * volatile vapidity = &vox;
12266e63ce3Schristos   volatile unsigned char  * volatile velocity = &victuals;
12366e63ce3Schristos   volatile short          * volatile veneer = &vixen;
12466e63ce3Schristos   volatile unsigned short * volatile video = &vitriol;
12566e63ce3Schristos   volatile long           * volatile vacuum = &vellum;
12666e63ce3Schristos   volatile unsigned long  * volatile veniality = &valve;
12766e63ce3Schristos   volatile float          * volatile vitality = &vacuity;
12866e63ce3Schristos   volatile double         * volatile voracity = &vertigo;
12966e63ce3Schristos 
130*26a53354Schristos   /* volatile arrays */
131*26a53354Schristos   volatile char violent[2] = {vox, vox};
132*26a53354Schristos   volatile unsigned char violet[2] = {victuals, victuals};
133*26a53354Schristos   volatile short vips[2] = {vixen, vixen};
134*26a53354Schristos   volatile unsigned short virgen[2] = {vitriol, vitriol};
135*26a53354Schristos   volatile long vulgar[2] = {vellum, vellum};
136*26a53354Schristos   volatile unsigned long vulture[2] = {valve, valve};
137*26a53354Schristos   volatile float vilify[2] = {vacuity, vacuity};
138*26a53354Schristos   volatile double villar[2] = {vertigo, vertigo};
139*26a53354Schristos 
14066e63ce3Schristos   /* const volatile vars */
14166e63ce3Schristos 
14266e63ce3Schristos   const volatile char           victor = 'Y';
14366e63ce3Schristos   const volatile unsigned char  vicar = 11;
14466e63ce3Schristos 
14566e63ce3Schristos   /* pointers to const volatiles */
14666e63ce3Schristos 
14766e63ce3Schristos   const volatile char              * victory = &victor;
14866e63ce3Schristos   const volatile unsigned char     * vicarage = &vicar;
14966e63ce3Schristos 
15066e63ce3Schristos   /* const pointers to volatile vars */
15166e63ce3Schristos 
15266e63ce3Schristos   volatile char                    * const vein = &vox;
15366e63ce3Schristos   volatile unsigned char           * const vogue = &victuals;
15466e63ce3Schristos 
15566e63ce3Schristos   /* const pointers to const volatile vars */
15666e63ce3Schristos 
15766e63ce3Schristos   const volatile char              * const cavern = &victor;
15866e63ce3Schristos   const volatile unsigned char     * const coverlet = &vicar;
15966e63ce3Schristos 
16066e63ce3Schristos   /* volatile pointers to const vars */
16166e63ce3Schristos 
16266e63ce3Schristos   const char                       * volatile caveat = &laconic;
16366e63ce3Schristos   const unsigned char              * volatile covenant = &laggard;
16466e63ce3Schristos 
16566e63ce3Schristos   /* volatile pointers to const volatile vars */
16666e63ce3Schristos 
16766e63ce3Schristos   const volatile char              * volatile vizier = &victor;
16866e63ce3Schristos   const volatile unsigned char     * volatile vanadium = &vicar;
16966e63ce3Schristos 
17066e63ce3Schristos   /* const volatile pointers */
17166e63ce3Schristos 
17266e63ce3Schristos   char                             * const volatile vane = &lave;
17366e63ce3Schristos   unsigned char                    * const volatile veldt = &lavish;
17466e63ce3Schristos 
17566e63ce3Schristos   /* const volatile pointers to const vars */
17666e63ce3Schristos 
17766e63ce3Schristos   const char                       * const volatile cove = &laconic;
17866e63ce3Schristos   const unsigned char              * const volatile cavity = &laggard;
17966e63ce3Schristos 
18066e63ce3Schristos   /* const volatile pointers to volatile vars */
18166e63ce3Schristos 
18266e63ce3Schristos   volatile char                    * const volatile vagus = &vox;
18366e63ce3Schristos   volatile unsigned char           * const volatile vagrancy = &victuals;
18466e63ce3Schristos 
18566e63ce3Schristos   /* const volatile pointers to const volatile */
18666e63ce3Schristos 
18766e63ce3Schristos   const volatile char              * const volatile vagary = &victor;
18866e63ce3Schristos   const volatile unsigned char     * const volatile vendor = &vicar;
18966e63ce3Schristos 
190*26a53354Schristos   /* const volatile arrays */
191*26a53354Schristos   const volatile char vindictive[2] = {victor, victor};
192*26a53354Schristos   const volatile unsigned char vegetation[2] = {vicar, vicar};
193*26a53354Schristos 
19466e63ce3Schristos   /* various structs with const members */
19566e63ce3Schristos 
19666e63ce3Schristos   struct crass { char * const ptr; } crass = { lamprey };
19766e63ce3Schristos   struct crisp { char * const *ptr; } crisp = { &lamprey };
19866e63ce3Schristos 
19966e63ce3Schristos   /* Reference the structs so that they are not discarded.  */
20066e63ce3Schristos   struct crass *creed = &crass;
20166e63ce3Schristos   struct crisp *crow = &crisp;
20266e63ce3Schristos 
20366e63ce3Schristos   /* misc. references */
20466e63ce3Schristos   /*
20566e63ce3Schristos   const char           & radiation = laconic;
20666e63ce3Schristos   volatile signed char & remuneration = lemonade;
20766e63ce3Schristos   */
20866e63ce3Schristos   marker1 ();
20966e63ce3Schristos 
21066e63ce3Schristos 
21166e63ce3Schristos   return 0;
21266e63ce3Schristos }
213