1 void marker1 (void) 2 { 3 } 4 5 /* misc. function params */ 6 7 int 8 qux1 (const char cc, const char /*&*/ccr, const char *ccp, char *const cpc) 9 { 10 return 33; 11 } 12 13 int 14 qux2 (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 21 int 22 main (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 87 /* volatile variables */ 88 89 volatile char vox = 'X'; 90 volatile unsigned char victuals = 13; 91 volatile short vixen = 200; 92 volatile unsigned short vitriol = 300; 93 volatile long vellum = 1000; 94 volatile unsigned long valve = 2000; 95 volatile float vacuity = 3.0; 96 volatile double vertigo = 10.3; 97 98 /* pointers to volatile variables */ 99 100 volatile char * vampire = &vox; 101 volatile unsigned char * viper = &victuals; 102 volatile short * vigour = &vixen; 103 volatile unsigned short * vapour = &vitriol; 104 volatile long * ventricle = &vellum; 105 volatile unsigned long * vigintillion = &valve; 106 volatile float * vocation = &vacuity; 107 volatile double * veracity = &vertigo; 108 109 /* volatile pointers to volatile variables */ 110 111 volatile char * volatile vapidity = &vox; 112 volatile unsigned char * volatile velocity = &victuals; 113 volatile short * volatile veneer = &vixen; 114 volatile unsigned short * volatile video = &vitriol; 115 volatile long * volatile vacuum = &vellum; 116 volatile unsigned long * volatile veniality = &valve; 117 volatile float * volatile vitality = &vacuity; 118 volatile double * volatile voracity = &vertigo; 119 120 /* const volatile vars */ 121 122 const volatile char victor = 'Y'; 123 const volatile unsigned char vicar = 11; 124 125 /* pointers to const volatiles */ 126 127 const volatile char * victory = &victor; 128 const volatile unsigned char * vicarage = &vicar; 129 130 /* const pointers to volatile vars */ 131 132 volatile char * const vein = &vox; 133 volatile unsigned char * const vogue = &victuals; 134 135 /* const pointers to const volatile vars */ 136 137 const volatile char * const cavern = &victor; 138 const volatile unsigned char * const coverlet = &vicar; 139 140 /* volatile pointers to const vars */ 141 142 const char * volatile caveat = &laconic; 143 const unsigned char * volatile covenant = &laggard; 144 145 /* volatile pointers to const volatile vars */ 146 147 const volatile char * volatile vizier = &victor; 148 const volatile unsigned char * volatile vanadium = &vicar; 149 150 /* const volatile pointers */ 151 152 char * const volatile vane = &lave; 153 unsigned char * const volatile veldt = &lavish; 154 155 /* const volatile pointers to const vars */ 156 157 const char * const volatile cove = &laconic; 158 const unsigned char * const volatile cavity = &laggard; 159 160 /* const volatile pointers to volatile vars */ 161 162 volatile char * const volatile vagus = &vox; 163 volatile unsigned char * const volatile vagrancy = &victuals; 164 165 /* const volatile pointers to const volatile */ 166 167 const volatile char * const volatile vagary = &victor; 168 const volatile unsigned char * const volatile vendor = &vicar; 169 170 /* various structs with const members */ 171 172 struct crass { char * const ptr; } crass; 173 struct crisp { char * const *ptr; } crisp; 174 175 /* misc. references */ 176 /* 177 const char & radiation = laconic; 178 volatile signed char & remuneration = lemonade; 179 */ 180 #ifdef usestubs 181 set_debug_traps (); 182 breakpoint (); 183 #endif 184 marker1 (); 185 186 187 return 0; 188 } 189