1/* Test for valid and invalid combinations of type specifiers.
2   Based off gcc.dg/test-spec-1.c */
3/* { dg-do compile } */
4/* { dg-options "-std=gnu99" } */
5
6typedef char type;
7
8void _Fract *x0;  /* { dg-error "" "void _Fract" } */
9char _Fract *x3;  /* { dg-error "" "char _Fract" } */
10short _Fract *x6;
11int _Fract *x9;   /* { dg-error "" "int _Fract" } */
12long _Fract *x12;
13float _Fract *x15;   /* { dg-error "" "float _Fract" } */
14double _Fract *x18;   /* { dg-error "" "double _Fract" } */
15signed _Fract *x21;
16_Bool _Fract *x24;   /* { dg-error "" "_Bool _Fract" } */
17int _Fract *x27;    /* { dg-error "" "int _Fract" } */
18type _Fract *x30;   /* { dg-error "" "type _Fract" } */
19char signed _Fract *x33;  /* { dg-error "" "char signed _Fract" } */
20char unsigned _Fract *x36; /* { dg-error "" "char unsigned _Fract" } */
21short _Fract *x39;
22short signed _Fract *x42;
23short unsigned _Fract *x45;
24_Fract short*x48;
25_Fract short signed*x51;
26_Fract short unsigned*x54;
27_Fract long*x57;
28_Fract long signed*x60;
29_Fract long unsigned*x63;
30_Fract signed long*x66;
31_Fract signed short*x69;
32int signed _Fract *x72;  /* { dg-error "" "int signed _Fract" } */
33int unsigned _Fract *x75;  /* { dg-error "" "int unsigned _Fract" } */
34long int _Fract *x78;  /* { dg-error "" "long int _Fract" } */
35long long _Fract *x81;
36long double _Fract *x84;  /* { dg-error "" "long double _Fract" } */
37long signed _Fract *x87;
38long unsigned _Fract *x90;
39double long _Fract *x93;  /* { dg-error "" "double long _Fract" } */
40signed char _Fract *x96;   /* { dg-error "" "signed char _Fract" } */
41signed short _Fract *x99;
42signed int _Fract *x102;  /* { dg-error "" "signed int _Fract" } */
43signed long _Fract *x105;
44unsigned char _Fract *x108; /* { dg-error "" "unsigned char _Fract" } */
45unsigned short _Fract *x111;
46unsigned int _Fract *x114; /* { dg-error "" "unsigned int _Fract" } */
47unsigned long _Fract *x117;
48short int signed _Fract *x120; /* { dg-error "" "short int signed _Fract" } */
49short int unsigned _Fract *x123; /* { dg-error "" "short int unsigned _Fract" } */
50short signed int _Fract *x126; /* { dg-error "" "short signed int _Fract" } */
51short unsigned int _Fract *x129; /* { dg-error "" "short unsigned int _Fract" } */
52int short signed _Fract *x132; /* { dg-error "" "int short signed _Fract" } */
53int short unsigned _Fract *x135; /* { dg-error "" "int short unsigned _Fract" } */
54int long long _Fract *x138; /* { dg-error "" "int long long _Fract" } */
55int long signed _Fract *x141; /* { dg-error "" "int long signed _Fract" } */
56int long unsigned _Fract *x144; /* { dg-error "" "int long unsigned _Fract" } */
57int signed short _Fract *x147; /* { dg-error "" "int signed short _Fract" } */
58int signed long _Fract *x150; /* { dg-error "" "int signed long _Fract" } */
59int unsigned short _Fract *x153; /* { dg-error "" "int unsigned short _Fract" } */
60int unsigned long _Fract *x156; /* { dg-error "" "int unsigned long _Fract" } */
61long int long _Fract *x159; /* { dg-error "" "long int long _Fract" } */
62long int signed _Fract *x162; /* { dg-error "" "long int signed _Fract" } */
63long int unsigned _Fract *x165; /* { dg-error "" "long int unsigned _Fract" } */
64long long int _Fract *x168; /* { dg-error "" "long long int _Fract" } */
65long long signed _Fract *x171;
66long long unsigned _Fract *x175;
67long signed int _Fract *x178; /* { dg-error "" "long signed int _Fract" } */
68long unsigned int _Fract *x181; /* { dg-error "" "long unsigned int _Fract" } */
69long unsigned long _Fract *x184;
70signed short int _Fract *x187; /* { dg-error "" "signed short int _Fract" } */
71signed int short _Fract *x190; /* { dg-error "" "signed int short _Fract" } */
72signed int long _Fract *x192; /* { dg-error "" "signed int long _Fract" } */
73signed long int _Fract *x195; /* { dg-error "" "signed long int _Fract" } */
74signed long long _Fract *x198;
75unsigned short int _Fract *x201; /* { dg-error "" "unsigned short int _Fract" } */
76unsigned int short _Fract *x204; /* { dg-error "" "unsigned int short _Fract" } */
77unsigned int long _Fract *x207; /* { dg-error "" "unsigned int long _Fract" } */
78unsigned long int _Fract *x210; /* { dg-error "" "unsigned long int _Fract" } */
79unsigned long long _Fract *x213;
80int long long signed _Fract *x216; /* { dg-error "" "int long long signed _Fract" } */
81int long long unsigned _Fract *x219; /* { dg-error "" "int long long unsigned _Fract" } */
82int long signed long _Fract *x222; /* { dg-error "" "int long signed long _Fract" } */
83int long unsigned long _Fract *x226; /* { dg-error "" "int long unsigned long _Fract" } */
84int signed long long _Fract *x229; /* { dg-error "" "int signed long long _Fract" } */
85int unsigned long long _Fract *x232; /* { dg-error "" "int unsigned long long _Fract" } */
86long int long signed _Fract *x235; /* { dg-error "" "long int long signed _Fract" } */
87long int long unsigned _Fract *x238; /* { dg-error "" "long int long unsigned _Fract" } */
88long int signed long _Fract *x241; /* { dg-error "" "long int signed long _Fract" } */
89long int unsigned long _Fract *x244; /* { dg-error "" "long int unsigned long _Fract" } */
90long long int signed _Fract *x247; /* { dg-error "" "long long int signed _Fract" } */
91long long int unsigned _Fract *x250; /* { dg-error "" "long long int unsigned _Fract" } */
92long long signed int _Fract *x253; /* { dg-error "" "long long signed int _Fract" } */
93long long unsigned int _Fract *x256; /* { dg-error "" "long long unsigned int _Fract" } */
94long signed int long _Fract *x259; /* { dg-error "" "long signed int long _Fract" } */
95long signed long int _Fract *x262; /* { dg-error "" "long signed long int _Fract" } */
96long unsigned int long _Fract *x265; /* { dg-error "" "long unsigned int long _Fract" } */
97long unsigned long int _Fract *x268; /* { dg-error "" "long unsigned long int _Fract" } */
98signed long long int _Fract *x271; /* { dg-error "" "signed long long int _Fract" } */
99unsigned int long long _Fract *x274; /* { dg-error "" "unsigned int long long _Fract" } */
100unsigned long int long _Fract *x277; /* { dg-error "" "unsigned long int long _Fract" } */
101unsigned long long int _Fract *x280; /* { dg-error "" "unsigned long long int _Fract" } */
102_Complex _Fract *x283; /* { dg-error "" "_Complex _Fract" } */
103_Fract _Complex *x286; /* { dg-error "" "_Fract _Complex" } */
104unsigned _Fract *x289;
105signed _Fract *x292;
106
107void _Accum *k0;  /* { dg-error "" "void _Accum" } */
108char _Accum *k3;  /* { dg-error "" "char _Accum" } */
109short _Accum *k6;
110int _Accum *k9;   /* { dg-error "" "int _Accum" } */
111long _Accum *k12;
112float _Accum *k15;   /* { dg-error "" "float _Accum" } */
113double _Accum *k18;   /* { dg-error "" "double _Accum" } */
114signed _Accum *k21;
115_Bool _Accum *k24;   /* { dg-error "" "_Bool _Accum" } */
116int _Accum *k27;    /* { dg-error "" "int _Accum" } */
117type _Accum *k30;   /* { dg-error "" "type _Accum" } */
118char signed _Accum *k33;  /* { dg-error "" "char signed _Accum" } */
119char unsigned _Accum *k36; /* { dg-error "" "char unsigned _Accum" } */
120short _Accum *k39;
121short signed _Accum *k42;
122short unsigned _Accum *k45;
123_Accum short*k48;
124_Accum short signed*k51;
125_Accum short unsigned*k54;
126_Accum long*k57;
127_Accum long signed*k60;
128_Accum long unsigned*k63;
129_Accum signed long*k66;
130_Accum signed short*k69;
131int signed _Accum *k72;  /* { dg-error "" "int signed _Accum" } */
132int unsigned _Accum *k75;  /* { dg-error "" "int unsigned _Accum" } */
133long int _Accum *k78;  /* { dg-error "" "long int _Accum" } */
134long long _Accum *k81;
135long double _Accum *k84;  /* { dg-error "" "long double _Accum" } */
136long signed _Accum *k87;
137long unsigned _Accum *k90;
138double long _Accum *k93;  /* { dg-error "" "double long _Accum" } */
139signed char _Accum *k96;   /* { dg-error "" "signed char _Accum" } */
140signed short _Accum *k99;
141signed int _Accum *k102;  /* { dg-error "" "signed int _Accum" } */
142signed long _Accum *k105;
143unsigned char _Accum *k108; /* { dg-error "" "unsigned char _Accum" } */
144unsigned short _Accum *k111;
145unsigned int _Accum *k114; /* { dg-error "" "unsigned int _Accum" } */
146unsigned long _Accum *k117;
147short int signed _Accum *k120; /* { dg-error "" "short int signed _Accum" } */
148short int unsigned _Accum *k123; /* { dg-error "" "short int unsigned _Accum" } */
149short signed int _Accum *k126; /* { dg-error "" "short signed int _Accum" } */
150short unsigned int _Accum *k129; /* { dg-error "" "short unsigned int _Accum" } */
151int short signed _Accum *k132; /* { dg-error "" "int short signed _Accum" } */
152int short unsigned _Accum *k135; /* { dg-error "" "int short unsigned _Accum" } */
153int long long _Accum *k138; /* { dg-error "" "int long long _Accum" } */
154int long signed _Accum *k141; /* { dg-error "" "int long signed _Accum" } */
155int long unsigned _Accum *k144; /* { dg-error "" "int long unsigned _Accum" } */
156int signed short _Accum *k147; /* { dg-error "" "int signed short _Accum" } */
157int signed long _Accum *k150; /* { dg-error "" "int signed long _Accum" } */
158int unsigned short _Accum *k153; /* { dg-error "" "int unsigned short _Accum" } */
159int unsigned long _Accum *k156; /* { dg-error "" "int unsigned long _Accum" } */
160long int long _Accum *k159; /* { dg-error "" "long int long _Accum" } */
161long int signed _Accum *k162; /* { dg-error "" "long int signed _Accum" } */
162long int unsigned _Accum *k165; /* { dg-error "" "long int unsigned _Accum" } */
163long long int _Accum *k168; /* { dg-error "" "long long int _Accum" } */
164long long signed _Accum *k171;
165long long unsigned _Accum *k175;
166long signed int _Accum *k178; /* { dg-error "" "long signed int _Accum" } */
167long unsigned int _Accum *k181; /* { dg-error "" "long unsigned int _Accum" } */
168long unsigned long _Accum *k184;
169signed short int _Accum *k187; /* { dg-error "" "signed short int _Accum" } */
170signed int short _Accum *k190; /* { dg-error "" "signed int short _Accum" } */
171signed int long _Accum *k192; /* { dg-error "" "signed int long _Accum" } */
172signed long int _Accum *k195; /* { dg-error "" "signed long int _Accum" } */
173signed long long _Accum *k198;
174unsigned short int _Accum *k201; /* { dg-error "" "unsigned short int _Accum" } */
175unsigned int short _Accum *k204; /* { dg-error "" "unsigned int short _Accum" } */
176unsigned int long _Accum *k207; /* { dg-error "" "unsigned int long _Accum" } */
177unsigned long int _Accum *k210; /* { dg-error "" "unsigned long int _Accum" } */
178unsigned long long _Accum *k213;
179int long long signed _Accum *k216; /* { dg-error "" "int long long signed _Accum" } */
180int long long unsigned _Accum *k219; /* { dg-error "" "int long long unsigned _Accum" } */
181int long signed long _Accum *k222; /* { dg-error "" "int long signed long _Accum" } */
182int long unsigned long _Accum *k226; /* { dg-error "" "int long unsigned long _Accum" } */
183int signed long long _Accum *k229; /* { dg-error "" "int signed long long _Accum" } */
184int unsigned long long _Accum *k232; /* { dg-error "" "int unsigned long long _Accum" } */
185long int long signed _Accum *k235; /* { dg-error "" "long int long signed _Accum" } */
186long int long unsigned _Accum *k238; /* { dg-error "" "long int long unsigned _Accum" } */
187long int signed long _Accum *k241; /* { dg-error "" "long int signed long _Accum" } */
188long int unsigned long _Accum *k244; /* { dg-error "" "long int unsigned long _Accum" } */
189long long int signed _Accum *k247; /* { dg-error "" "long long int signed _Accum" } */
190long long int unsigned _Accum *k250; /* { dg-error "" "long long int unsigned _Accum" } */
191long long signed int _Accum *k253; /* { dg-error "" "long long signed int _Accum" } */
192long long unsigned int _Accum *k256; /* { dg-error "" "long long unsigned int _Accum" } */
193long signed int long _Accum *k259; /* { dg-error "" "long signed int long _Accum" } */
194long signed long int _Accum *k262; /* { dg-error "" "long signed long int _Accum" } */
195long unsigned int long _Accum *k265; /* { dg-error "" "long unsigned int long _Accum" } */
196long unsigned long int _Accum *k268; /* { dg-error "" "long unsigned long int _Accum" } */
197signed long long int _Accum *k271; /* { dg-error "" "signed long long int _Accum" } */
198unsigned int long long _Accum *k274; /* { dg-error "" "unsigned int long long _Accum" } */
199unsigned long int long _Accum *k277; /* { dg-error "" "unsigned long int long _Accum" } */
200unsigned long long int _Accum *k280; /* { dg-error "" "unsigned long long int _Accum" } */
201_Complex _Accum *k283; /* { dg-error "" "_Complex _Accum" } */
202_Accum _Complex *k286; /* { dg-error "" "_Accum _Complex" } */
203unsigned _Accum *k289;
204signed _Accum *k292;
205
206void _Sat *s0;  /* { dg-error "" "void _Sat" } */
207char _Sat *s3;  /* { dg-error "" "char _Sat" } */
208short _Sat *s6; /* { dg-error "" "short _Sat" } */
209int _Sat *s9;   /* { dg-error "" "int _Sat" } */
210long _Sat *s12;   /* { dg-error "" "long _Sat" } */
211float _Sat *s15;   /* { dg-error "" "float _Sat" } */
212double _Sat *s18;   /* { dg-error "" "double _Sat" } */
213signed _Sat *s21;   /* { dg-error "" "signed _Sat" } */
214_Bool _Sat *s24;   /* { dg-error "" "_Bool _Sat" } */
215int _Sat *s27;   /* { dg-error "" "int _Sat" } */
216type _Sat *s30;   /* { dg-error "" "type _Sat" } */
217char signed _Sat *s33;  /* { dg-error "" "char signed _Sat" } */
218char unsigned _Sat *s36; /* { dg-error "" "char unsigned _Sat" } */
219short _Sat *s39;  /* { dg-error "" "short _Sat" } */
220short signed _Sat *s42;  /* { dg-error "" "short signed _Sat" } */
221short unsigned _Sat *s45;  /* { dg-error "" "short unsigned _Sat" } */
222_Sat short*s48;  /* { dg-error "" "_Sat short" } */
223_Sat short signed*s51;  /* { dg-error "" "_Sat short signed" } */
224_Sat short unsigned*s54;  /* { dg-error "" "_Sat short unsigned" } */
225_Sat long*s57;  /* { dg-error "" "_Sat long" } */
226_Sat long signed*s60;  /* { dg-error "" "_Sat long signed" } */
227_Sat long unsigned*s63;  /* { dg-error "" "_Sat long unsigned" } */
228_Sat signed long*s66;  /* { dg-error "" "_Sat signed long" } */
229_Sat signed short*s69;  /* { dg-error "" "_Sat signed short" } */
230int signed _Sat *s72;  /* { dg-error "" "int signed _Sat" } */
231int unsigned _Sat *s75;  /* { dg-error "" "int unsigned _Sat" } */
232long int _Sat *s78;  /* { dg-error "" "long int _Sat" } */
233long long _Sat *s81;  /* { dg-error "" "long long _Sat" } */
234long double _Sat *s84;  /* { dg-error "" "long double _Sat" } */
235long signed _Sat *s87;  /* { dg-error "" "long signed _Sat" } */
236long unsigned _Sat *s90;  /* { dg-error "" "long unsigned _Sat" } */
237double long _Sat *s93;  /* { dg-error "" "double long _Sat" } */
238signed char _Sat *s96;   /* { dg-error "" "signed char _Sat" } */
239signed short _Sat *s99;   /* { dg-error "" "signed short _Sat" } */
240signed int _Sat *s102;  /* { dg-error "" "signed int _Sat" } */
241signed long _Sat *s105; /* { dg-error "" "signed long _Sat" } */
242unsigned char _Sat *s108; /* { dg-error "" "unsigned char _Sat" } */
243unsigned short _Sat *s111; /* { dg-error "" "unsigned short _Sat" } */
244unsigned int _Sat *s114; /* { dg-error "" "unsigned int _Sat" } */
245unsigned long _Sat *s117; /* { dg-error "" "unsigned long _Sat" } */
246short int signed _Sat *s120; /* { dg-error "" "short int signed _Sat" } */
247short int unsigned _Sat *s123; /* { dg-error "" "short int unsigned _Sat" } */
248short signed int _Sat *s126; /* { dg-error "" "short signed int _Sat" } */
249short unsigned int _Sat *s129; /* { dg-error "" "short unsigned int _Sat" } */
250int short signed _Sat *s132; /* { dg-error "" "int short signed _Sat" } */
251int short unsigned _Sat *s135; /* { dg-error "" "int short unsigned _Sat" } */
252int long long _Sat *s138; /* { dg-error "" "int long long _Sat" } */
253int long signed _Sat *s141; /* { dg-error "" "int long signed _Sat" } */
254int long unsigned _Sat *s144; /* { dg-error "" "int long unsigned _Sat" } */
255int signed short _Sat *s147; /* { dg-error "" "int signed short _Sat" } */
256int signed long _Sat *s150; /* { dg-error "" "int signed long _Sat" } */
257int unsigned short _Sat *s153; /* { dg-error "" "int unsigned short _Sat" } */
258int unsigned long _Sat *s156; /* { dg-error "" "int unsigned long _Sat" } */
259long int long _Sat *s159; /* { dg-error "" "long int long _Sat" } */
260long int signed _Sat *s162; /* { dg-error "" "long int signed _Sat" } */
261long int unsigned _Sat *s165; /* { dg-error "" "long int unsigned _Sat" } */
262long long int _Sat *s168; /* { dg-error "" "long long int _Sat" } */
263long long signed _Sat *s171; /* { dg-error "" "long long signed _Sat" } */
264long long unsigned _Sat *s175; /* { dg-error "" "long long unsigned _Sat" } */
265long signed int _Sat *s178; /* { dg-error "" "long signed int _Sat" } */
266long unsigned int _Sat *s181; /* { dg-error "" "long unsigned int _Sat" } */
267long unsigned long _Sat *s184; /* { dg-error "" "long unsigned long _Sat" } */
268signed short int _Sat *s187; /* { dg-error "" "signed short int _Sat" } */
269signed int short _Sat *s190; /* { dg-error "" "signed int short _Sat" } */
270signed int long _Sat *s192; /* { dg-error "" "signed int long _Sat" } */
271signed long int _Sat *s195; /* { dg-error "" "signed long int _Sat" } */
272signed long long _Sat *s198; /* { dg-error "" "signed long long _Sat" } */
273unsigned short int _Sat *s201; /* { dg-error "" "unsigned short int _Sat" } */
274unsigned int short _Sat *s204; /* { dg-error "" "unsigned int short _Sat" } */
275unsigned int long _Sat *s207; /* { dg-error "" "unsigned int long _Sat" } */
276unsigned long int _Sat *s210; /* { dg-error "" "unsigned long int _Sat" } */
277unsigned long long _Sat *s213; /* { dg-error "" "unsigned long long _Sat" } */
278int long long signed _Sat *s216; /* { dg-error "" "int long long signed _Sat" } */
279int long long unsigned _Sat *s219; /* { dg-error "" "int long long unsigned _Sat" } */
280int long signed long _Sat *s222; /* { dg-error "" "int long signed long _Sat" } */
281int long unsigned long _Sat *s226; /* { dg-error "" "int long unsigned long _Sat" } */
282int signed long long _Sat *s229; /* { dg-error "" "int signed long long _Sat" } */
283int unsigned long long _Sat *s232; /* { dg-error "" "int unsigned long long _Sat" } */
284long int long signed _Sat *s235; /* { dg-error "" "long int long signed _Sat" } */
285long int long unsigned _Sat *s238; /* { dg-error "" "long int long unsigned _Sat" } */
286long int signed long _Sat *s241; /* { dg-error "" "long int signed long _Sat" } */
287long int unsigned long _Sat *s244; /* { dg-error "" "long int unsigned long _Sat" } */
288long long int signed _Sat *s247; /* { dg-error "" "long long int signed _Sat" } */
289long long int unsigned _Sat *s250; /* { dg-error "" "long long int unsigned _Sat" } */
290long long signed int _Sat *s253; /* { dg-error "" "long long signed int _Sat" } */
291long long unsigned int _Sat *s256; /* { dg-error "" "long long unsigned int _Sat" } */
292long signed int long _Sat *s259; /* { dg-error "" "long signed int long _Sat" } */
293long signed long int _Sat *s262; /* { dg-error "" "long signed long int _Sat" } */
294long unsigned int long _Sat *s265; /* { dg-error "" "long unsigned int long _Sat" } */
295long unsigned long int _Sat *s268; /* { dg-error "" "long unsigned long int _Sat" } */
296signed long long int _Sat *s271; /* { dg-error "" "signed long long int _Sat" } */
297unsigned int long long _Sat *s274; /* { dg-error "" "unsigned int long long _Sat" } */
298unsigned long int long _Sat *s277; /* { dg-error "" "unsigned long int long _Sat" } */
299unsigned long long int _Sat *s280; /* { dg-error "" "unsigned long long int _Sat" } */
300_Complex _Sat *s283; /* { dg-error "" "_Complex _Sat" } */
301_Sat _Complex *s286; /* { dg-error "" "_Sat _Complex" } */
302unsigned _Sat *s289; /* { dg-error "" "unsigned _Sat" } */
303signed _Sat *s292; /* { dg-error "" "signed _Sat" } */
304