1 /* This test program is part of GDB, the GNU debugger.
2 
3    Copyright 2019-2020 Free Software Foundation, Inc.
4 
5    This program is free software; you can redistribute it and/or modify
6    it under the terms of the GNU General Public License as published by
7    the Free Software Foundation; either version 3 of the License, or
8    (at your option) any later version.
9 
10    This program is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13    GNU General Public License for more details.
14 
15    You should have received a copy of the GNU General Public License
16    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
17 
18 const char            laconic = 'A';
19 const char           *const lewd=&laconic;
20 
21 /* volatile variables */
22 
23 volatile char vox = 'B';
24 volatile unsigned char victuals = 'C';
25 volatile short vixen = 200;
26 volatile unsigned short vitriol = 300;
27 volatile long vellum = 1000;
28 volatile unsigned long valve = 2000;
29 volatile float vacuity = 3.0;
30 volatile double vertigo = 10;
31 
32 /* pointers to volatile variables */
33 
34 volatile char           * vampire = &vox;
35 volatile unsigned char  * viper  = &victuals;
36 volatile short          * vigour = &vixen;
37 volatile unsigned short * vapour = &vitriol;
38 volatile long           * ventricle = &vellum;
39 volatile unsigned long  * vigintillion = &valve;
40 volatile float          * vocation = &vacuity;
41 volatile double         * veracity = &vertigo;
42 
43 /* volatile pointers to volatile variables */
44 
45 volatile char           * volatile vapidity = &vox;
46 volatile unsigned char  * volatile velocity = &victuals;
47 volatile short          * volatile veneer = &vixen;
48 volatile unsigned short * volatile video = &vitriol;
49 volatile long           * volatile vacuum = &vellum;
50 volatile unsigned long  * volatile veniality = &valve;
51 volatile float          * volatile vitality = &vacuity;
52 volatile double         * volatile voracity = &vertigo;
53 
54 /* volatile arrays */
55 
56 volatile char violent[2];
57 volatile unsigned char violet[2];
58 volatile short vips[2];
59 volatile unsigned short virgen[2];
60 volatile long vulgar[2];
61 volatile unsigned long vulture[2];
62 volatile float vilify[2];
63 volatile double villar[2];
64 
65 /* const volatile vars */
66 
67 const volatile char           victor = 'Y';
68 
69 /* pointers to const volatiles */
70 
71 const volatile char              * victory = &victor;
72 
73 /* const pointers to const volatile vars */
74 
75 const volatile char              * const cavern = &victor;
76 
77 /* volatile pointers to const vars */
78 
79 const char                       * volatile caveat = &laconic;
80 const unsigned char              * volatile covenant;
81 
82 /* volatile pointers to const volatile vars */
83 
84 const volatile char              * volatile vizier = &victor;
85 const volatile unsigned char     * volatile vanadium;
86 
87 /* const volatile pointers */
88 
89 char                             * const volatile vane;
90 unsigned char                    * const volatile veldt;
91 
92 /* const volatile pointers to const vars */
93 
94 const char                       * const volatile cove;
95 const unsigned char              * const volatile cavity;
96 
97 /* const volatile pointers to volatile vars */
98 
99 volatile char                    * const volatile vagus;
100 volatile unsigned char           * const volatile vagrancy;
101 
102 /* const volatile pointers to const volatile */
103 
104 const volatile char              * const volatile vagary;
105 const volatile unsigned char     * const volatile vendor;
106 
107 /* const volatile arrays */
108 
109 const volatile char vindictive[2];
110 const volatile unsigned char vegetation[2];
111 
112 int
main(void)113 main (void)
114 {
115   return 0;
116 }
117