1e5c31af7Sopenharmony_ci
2e5c31af7Sopenharmony_cicase empty_condition
3e5c31af7Sopenharmony_ci	version 300 es
4e5c31af7Sopenharmony_ci	expect compile_fail
5e5c31af7Sopenharmony_ci	both ""
6e5c31af7Sopenharmony_ci		#version 300 es
7e5c31af7Sopenharmony_ci		precision mediump float;
8e5c31af7Sopenharmony_ci		${DECLARATIONS}
9e5c31af7Sopenharmony_ci
10e5c31af7Sopenharmony_ci		void main ()
11e5c31af7Sopenharmony_ci		{
12e5c31af7Sopenharmony_ci			switch ()
13e5c31af7Sopenharmony_ci			{
14e5c31af7Sopenharmony_ci				case 1:
15e5c31af7Sopenharmony_ci					${POSITION_FRAG_COLOR} = vec4(1.0);
16e5c31af7Sopenharmony_ci			}
17e5c31af7Sopenharmony_ci
18e5c31af7Sopenharmony_ci			${OUTPUT}
19e5c31af7Sopenharmony_ci		}
20e5c31af7Sopenharmony_ci	""
21e5c31af7Sopenharmony_ciend
22e5c31af7Sopenharmony_ci
23e5c31af7Sopenharmony_cicase condition_float
24e5c31af7Sopenharmony_ci	version 300 es
25e5c31af7Sopenharmony_ci	expect compile_fail
26e5c31af7Sopenharmony_ci	both ""
27e5c31af7Sopenharmony_ci		#version 300 es
28e5c31af7Sopenharmony_ci		precision mediump float;
29e5c31af7Sopenharmony_ci		${DECLARATIONS}
30e5c31af7Sopenharmony_ci
31e5c31af7Sopenharmony_ci		void main ()
32e5c31af7Sopenharmony_ci		{
33e5c31af7Sopenharmony_ci			float c = 1.0;
34e5c31af7Sopenharmony_ci			switch (c)
35e5c31af7Sopenharmony_ci			{
36e5c31af7Sopenharmony_ci				case 1:
37e5c31af7Sopenharmony_ci					${POSITION_FRAG_COLOR} = vec4(1.0);
38e5c31af7Sopenharmony_ci			}
39e5c31af7Sopenharmony_ci
40e5c31af7Sopenharmony_ci			${OUTPUT}
41e5c31af7Sopenharmony_ci		}
42e5c31af7Sopenharmony_ci	""
43e5c31af7Sopenharmony_ciend
44e5c31af7Sopenharmony_ci
45e5c31af7Sopenharmony_cicase condition_bool
46e5c31af7Sopenharmony_ci	version 300 es
47e5c31af7Sopenharmony_ci	expect compile_fail
48e5c31af7Sopenharmony_ci	both ""
49e5c31af7Sopenharmony_ci		#version 300 es
50e5c31af7Sopenharmony_ci		precision mediump float;
51e5c31af7Sopenharmony_ci		${DECLARATIONS}
52e5c31af7Sopenharmony_ci
53e5c31af7Sopenharmony_ci		void main ()
54e5c31af7Sopenharmony_ci		{
55e5c31af7Sopenharmony_ci			bool c = true;
56e5c31af7Sopenharmony_ci			switch (c)
57e5c31af7Sopenharmony_ci			{
58e5c31af7Sopenharmony_ci				case 1:
59e5c31af7Sopenharmony_ci					${POSITION_FRAG_COLOR} = vec4(1.0);
60e5c31af7Sopenharmony_ci			}
61e5c31af7Sopenharmony_ci
62e5c31af7Sopenharmony_ci			${OUTPUT}
63e5c31af7Sopenharmony_ci		}
64e5c31af7Sopenharmony_ci	""
65e5c31af7Sopenharmony_ciend
66e5c31af7Sopenharmony_ci
67e5c31af7Sopenharmony_cicase condition_ivec2
68e5c31af7Sopenharmony_ci	version 300 es
69e5c31af7Sopenharmony_ci	expect compile_fail
70e5c31af7Sopenharmony_ci	both ""
71e5c31af7Sopenharmony_ci		#version 300 es
72e5c31af7Sopenharmony_ci		precision mediump float;
73e5c31af7Sopenharmony_ci		${DECLARATIONS}
74e5c31af7Sopenharmony_ci
75e5c31af7Sopenharmony_ci		void main ()
76e5c31af7Sopenharmony_ci		{
77e5c31af7Sopenharmony_ci			ivec2 c = ivec2(1, 1);
78e5c31af7Sopenharmony_ci			switch (c)
79e5c31af7Sopenharmony_ci			{
80e5c31af7Sopenharmony_ci				case 1:
81e5c31af7Sopenharmony_ci					${POSITION_FRAG_COLOR} = vec4(1.0);
82e5c31af7Sopenharmony_ci			}
83e5c31af7Sopenharmony_ci
84e5c31af7Sopenharmony_ci			${OUTPUT}
85e5c31af7Sopenharmony_ci		}
86e5c31af7Sopenharmony_ci	""
87e5c31af7Sopenharmony_ciend
88e5c31af7Sopenharmony_ci
89e5c31af7Sopenharmony_cicase condition_struct
90e5c31af7Sopenharmony_ci	version 300 es
91e5c31af7Sopenharmony_ci	expect compile_fail
92e5c31af7Sopenharmony_ci	both ""
93e5c31af7Sopenharmony_ci		#version 300 es
94e5c31af7Sopenharmony_ci		precision mediump float;
95e5c31af7Sopenharmony_ci		${DECLARATIONS}
96e5c31af7Sopenharmony_ci
97e5c31af7Sopenharmony_ci		struct S { int m; };
98e5c31af7Sopenharmony_ci
99e5c31af7Sopenharmony_ci		void main ()
100e5c31af7Sopenharmony_ci		{
101e5c31af7Sopenharmony_ci			S c = S(1);
102e5c31af7Sopenharmony_ci			switch (c)
103e5c31af7Sopenharmony_ci			{
104e5c31af7Sopenharmony_ci				case 1:
105e5c31af7Sopenharmony_ci					${POSITION_FRAG_COLOR} = vec4(1.0);
106e5c31af7Sopenharmony_ci			}
107e5c31af7Sopenharmony_ci
108e5c31af7Sopenharmony_ci			${OUTPUT}
109e5c31af7Sopenharmony_ci		}
110e5c31af7Sopenharmony_ci	""
111e5c31af7Sopenharmony_ciend
112e5c31af7Sopenharmony_ci
113e5c31af7Sopenharmony_cicase duplicate_label
114e5c31af7Sopenharmony_ci	version 300 es
115e5c31af7Sopenharmony_ci	expect compile_fail
116e5c31af7Sopenharmony_ci	both ""
117e5c31af7Sopenharmony_ci		#version 300 es
118e5c31af7Sopenharmony_ci		precision mediump float;
119e5c31af7Sopenharmony_ci		${DECLARATIONS}
120e5c31af7Sopenharmony_ci
121e5c31af7Sopenharmony_ci		void main ()
122e5c31af7Sopenharmony_ci		{
123e5c31af7Sopenharmony_ci			int c = 1;
124e5c31af7Sopenharmony_ci			switch (c)
125e5c31af7Sopenharmony_ci			{
126e5c31af7Sopenharmony_ci				case 1:
127e5c31af7Sopenharmony_ci				case 1:
128e5c31af7Sopenharmony_ci					break;
129e5c31af7Sopenharmony_ci			}
130e5c31af7Sopenharmony_ci
131e5c31af7Sopenharmony_ci			${OUTPUT}
132e5c31af7Sopenharmony_ci		}
133e5c31af7Sopenharmony_ci	""
134e5c31af7Sopenharmony_ciend
135e5c31af7Sopenharmony_ci
136e5c31af7Sopenharmony_cicase float_label
137e5c31af7Sopenharmony_ci	version 300 es
138e5c31af7Sopenharmony_ci	expect compile_fail
139e5c31af7Sopenharmony_ci	both ""
140e5c31af7Sopenharmony_ci		#version 300 es
141e5c31af7Sopenharmony_ci		precision mediump float;
142e5c31af7Sopenharmony_ci		${DECLARATIONS}
143e5c31af7Sopenharmony_ci
144e5c31af7Sopenharmony_ci		void main ()
145e5c31af7Sopenharmony_ci		{
146e5c31af7Sopenharmony_ci			int c = 1;
147e5c31af7Sopenharmony_ci			switch (c)
148e5c31af7Sopenharmony_ci			{
149e5c31af7Sopenharmony_ci				case 1.0:
150e5c31af7Sopenharmony_ci					break;
151e5c31af7Sopenharmony_ci			}
152e5c31af7Sopenharmony_ci
153e5c31af7Sopenharmony_ci			${OUTPUT}
154e5c31af7Sopenharmony_ci		}
155e5c31af7Sopenharmony_ci	""
156e5c31af7Sopenharmony_ciend
157e5c31af7Sopenharmony_ci
158e5c31af7Sopenharmony_cicase non_const_int_label
159e5c31af7Sopenharmony_ci	version 300 es
160e5c31af7Sopenharmony_ci	expect compile_fail
161e5c31af7Sopenharmony_ci	both ""
162e5c31af7Sopenharmony_ci		#version 300 es
163e5c31af7Sopenharmony_ci		precision mediump float;
164e5c31af7Sopenharmony_ci		${DECLARATIONS}
165e5c31af7Sopenharmony_ci
166e5c31af7Sopenharmony_ci		void main ()
167e5c31af7Sopenharmony_ci		{
168e5c31af7Sopenharmony_ci			int c = 1;
169e5c31af7Sopenharmony_ci			int l = 2;
170e5c31af7Sopenharmony_ci			switch (c)
171e5c31af7Sopenharmony_ci			{
172e5c31af7Sopenharmony_ci				case l:
173e5c31af7Sopenharmony_ci					break;
174e5c31af7Sopenharmony_ci			}
175e5c31af7Sopenharmony_ci
176e5c31af7Sopenharmony_ci			${OUTPUT}
177e5c31af7Sopenharmony_ci		}
178e5c31af7Sopenharmony_ci	""
179e5c31af7Sopenharmony_ciend
180e5c31af7Sopenharmony_ci
181e5c31af7Sopenharmony_cicase statement_before_label
182e5c31af7Sopenharmony_ci	version 300 es
183e5c31af7Sopenharmony_ci	expect compile_fail
184e5c31af7Sopenharmony_ci	both ""
185e5c31af7Sopenharmony_ci		#version 300 es
186e5c31af7Sopenharmony_ci		precision mediump float;
187e5c31af7Sopenharmony_ci		${DECLARATIONS}
188e5c31af7Sopenharmony_ci
189e5c31af7Sopenharmony_ci		void main ()
190e5c31af7Sopenharmony_ci		{
191e5c31af7Sopenharmony_ci			switch (1)
192e5c31af7Sopenharmony_ci			{
193e5c31af7Sopenharmony_ci					${POSITION_FRAG_COLOR} = vec4(1.0);
194e5c31af7Sopenharmony_ci				case 1:
195e5c31af7Sopenharmony_ci					${POSITION_FRAG_COLOR} = vec4(0.0);
196e5c31af7Sopenharmony_ci			}
197e5c31af7Sopenharmony_ci
198e5c31af7Sopenharmony_ci			${OUTPUT}
199e5c31af7Sopenharmony_ci		}
200e5c31af7Sopenharmony_ci	""
201e5c31af7Sopenharmony_ciend
202e5c31af7Sopenharmony_ci
203e5c31af7Sopenharmony_cicase statement_before_default_label
204e5c31af7Sopenharmony_ci	version 300 es
205e5c31af7Sopenharmony_ci	expect compile_fail
206e5c31af7Sopenharmony_ci	both ""
207e5c31af7Sopenharmony_ci		#version 300 es
208e5c31af7Sopenharmony_ci		precision mediump float;
209e5c31af7Sopenharmony_ci		${DECLARATIONS}
210e5c31af7Sopenharmony_ci
211e5c31af7Sopenharmony_ci		void main ()
212e5c31af7Sopenharmony_ci		{
213e5c31af7Sopenharmony_ci			switch (1)
214e5c31af7Sopenharmony_ci			{
215e5c31af7Sopenharmony_ci					${POSITION_FRAG_COLOR} = vec4(1.0);
216e5c31af7Sopenharmony_ci				default:
217e5c31af7Sopenharmony_ci					${POSITION_FRAG_COLOR} = vec4(0.0);
218e5c31af7Sopenharmony_ci			}
219e5c31af7Sopenharmony_ci
220e5c31af7Sopenharmony_ci			${OUTPUT}
221e5c31af7Sopenharmony_ci		}
222e5c31af7Sopenharmony_ci	""
223e5c31af7Sopenharmony_ciend
224e5c31af7Sopenharmony_ci
225e5c31af7Sopenharmony_cicase no_statement_after_label
226e5c31af7Sopenharmony_ci	version 300 es
227e5c31af7Sopenharmony_ci	expect compile_fail
228e5c31af7Sopenharmony_ci	both ""
229e5c31af7Sopenharmony_ci		#version 300 es
230e5c31af7Sopenharmony_ci		precision mediump float;
231e5c31af7Sopenharmony_ci		${DECLARATIONS}
232e5c31af7Sopenharmony_ci
233e5c31af7Sopenharmony_ci		void main ()
234e5c31af7Sopenharmony_ci		{
235e5c31af7Sopenharmony_ci			switch (1)
236e5c31af7Sopenharmony_ci			{
237e5c31af7Sopenharmony_ci				case 0:
238e5c31af7Sopenharmony_ci					break;
239e5c31af7Sopenharmony_ci				case 1:
240e5c31af7Sopenharmony_ci			}
241e5c31af7Sopenharmony_ci
242e5c31af7Sopenharmony_ci			${OUTPUT}
243e5c31af7Sopenharmony_ci		}
244e5c31af7Sopenharmony_ci	""
245e5c31af7Sopenharmony_ciend
246e5c31af7Sopenharmony_ci
247e5c31af7Sopenharmony_cicase no_statement_after_default_label
248e5c31af7Sopenharmony_ci	version 300 es
249e5c31af7Sopenharmony_ci	expect compile_fail
250e5c31af7Sopenharmony_ci	both ""
251e5c31af7Sopenharmony_ci		#version 300 es
252e5c31af7Sopenharmony_ci		precision mediump float;
253e5c31af7Sopenharmony_ci		${DECLARATIONS}
254e5c31af7Sopenharmony_ci
255e5c31af7Sopenharmony_ci		void main ()
256e5c31af7Sopenharmony_ci		{
257e5c31af7Sopenharmony_ci			switch (1)
258e5c31af7Sopenharmony_ci			{
259e5c31af7Sopenharmony_ci				case 0:
260e5c31af7Sopenharmony_ci					break;
261e5c31af7Sopenharmony_ci				default:
262e5c31af7Sopenharmony_ci			}
263e5c31af7Sopenharmony_ci
264e5c31af7Sopenharmony_ci			${OUTPUT}
265e5c31af7Sopenharmony_ci		}
266e5c31af7Sopenharmony_ci	""
267e5c31af7Sopenharmony_ciend
268e5c31af7Sopenharmony_ci
269e5c31af7Sopenharmony_cicase case_in_if
270e5c31af7Sopenharmony_ci	version 300 es
271e5c31af7Sopenharmony_ci	expect compile_fail
272e5c31af7Sopenharmony_ci	both ""
273e5c31af7Sopenharmony_ci		#version 300 es
274e5c31af7Sopenharmony_ci		precision mediump float;
275e5c31af7Sopenharmony_ci		${DECLARATIONS}
276e5c31af7Sopenharmony_ci
277e5c31af7Sopenharmony_ci		void main ()
278e5c31af7Sopenharmony_ci		{
279e5c31af7Sopenharmony_ci			float f = 1.0;
280e5c31af7Sopenharmony_ci			switch (1)
281e5c31af7Sopenharmony_ci			{
282e5c31af7Sopenharmony_ci				case 0:
283e5c31af7Sopenharmony_ci					f = 0.0;
284e5c31af7Sopenharmony_ci					if (f > 0.0)
285e5c31af7Sopenharmony_ci					{
286e5c31af7Sopenharmony_ci						case 1:
287e5c31af7Sopenharmony_ci							f *= 2.0;
288e5c31af7Sopenharmony_ci					}
289e5c31af7Sopenharmony_ci					break;
290e5c31af7Sopenharmony_ci				case 2:
291e5c31af7Sopenharmony_ci					break;
292e5c31af7Sopenharmony_ci			}
293e5c31af7Sopenharmony_ci
294e5c31af7Sopenharmony_ci			${OUTPUT}
295e5c31af7Sopenharmony_ci		}
296e5c31af7Sopenharmony_ci	""
297e5c31af7Sopenharmony_ciend
298e5c31af7Sopenharmony_ci
299e5c31af7Sopenharmony_cicase default_in_if
300e5c31af7Sopenharmony_ci	version 300 es
301e5c31af7Sopenharmony_ci	expect compile_fail
302e5c31af7Sopenharmony_ci	both ""
303e5c31af7Sopenharmony_ci		#version 300 es
304e5c31af7Sopenharmony_ci		precision mediump float;
305e5c31af7Sopenharmony_ci		${DECLARATIONS}
306e5c31af7Sopenharmony_ci
307e5c31af7Sopenharmony_ci		void main ()
308e5c31af7Sopenharmony_ci		{
309e5c31af7Sopenharmony_ci			float f = 1.0;
310e5c31af7Sopenharmony_ci			switch (1)
311e5c31af7Sopenharmony_ci			{
312e5c31af7Sopenharmony_ci				case 0:
313e5c31af7Sopenharmony_ci					f = 0.0;
314e5c31af7Sopenharmony_ci					if (f > 0.0)
315e5c31af7Sopenharmony_ci					{
316e5c31af7Sopenharmony_ci						default:
317e5c31af7Sopenharmony_ci							f *= 2.0;
318e5c31af7Sopenharmony_ci					}
319e5c31af7Sopenharmony_ci					break;
320e5c31af7Sopenharmony_ci				case 2:
321e5c31af7Sopenharmony_ci					break;
322e5c31af7Sopenharmony_ci			}
323e5c31af7Sopenharmony_ci
324e5c31af7Sopenharmony_ci			${OUTPUT}
325e5c31af7Sopenharmony_ci		}
326e5c31af7Sopenharmony_ci	""
327e5c31af7Sopenharmony_ciend
328e5c31af7Sopenharmony_ci
329e5c31af7Sopenharmony_cicase case_in_for_loop
330e5c31af7Sopenharmony_ci	version 300 es
331e5c31af7Sopenharmony_ci	expect compile_fail
332e5c31af7Sopenharmony_ci	both ""
333e5c31af7Sopenharmony_ci		#version 300 es
334e5c31af7Sopenharmony_ci		precision mediump float;
335e5c31af7Sopenharmony_ci		${DECLARATIONS}
336e5c31af7Sopenharmony_ci
337e5c31af7Sopenharmony_ci		void main ()
338e5c31af7Sopenharmony_ci		{
339e5c31af7Sopenharmony_ci			float f = 1.0;
340e5c31af7Sopenharmony_ci			switch (1)
341e5c31af7Sopenharmony_ci			{
342e5c31af7Sopenharmony_ci				case 0:
343e5c31af7Sopenharmony_ci					f = 0.0;
344e5c31af7Sopenharmony_ci					for (int i = 0; i < 2; i++)
345e5c31af7Sopenharmony_ci					{
346e5c31af7Sopenharmony_ci						case 1:
347e5c31af7Sopenharmony_ci							f *= 2.0;
348e5c31af7Sopenharmony_ci					}
349e5c31af7Sopenharmony_ci					break;
350e5c31af7Sopenharmony_ci				case 2:
351e5c31af7Sopenharmony_ci					break;
352e5c31af7Sopenharmony_ci			}
353e5c31af7Sopenharmony_ci
354e5c31af7Sopenharmony_ci			${OUTPUT}
355e5c31af7Sopenharmony_ci		}
356e5c31af7Sopenharmony_ci	""
357e5c31af7Sopenharmony_ciend
358e5c31af7Sopenharmony_ci
359e5c31af7Sopenharmony_cicase default_in_for_loop
360e5c31af7Sopenharmony_ci	version 300 es
361e5c31af7Sopenharmony_ci	expect compile_fail
362e5c31af7Sopenharmony_ci	both ""
363e5c31af7Sopenharmony_ci		#version 300 es
364e5c31af7Sopenharmony_ci		precision mediump float;
365e5c31af7Sopenharmony_ci		${DECLARATIONS}
366e5c31af7Sopenharmony_ci
367e5c31af7Sopenharmony_ci		void main ()
368e5c31af7Sopenharmony_ci		{
369e5c31af7Sopenharmony_ci			float f = 1.0;
370e5c31af7Sopenharmony_ci			switch (1)
371e5c31af7Sopenharmony_ci			{
372e5c31af7Sopenharmony_ci				case 0:
373e5c31af7Sopenharmony_ci					f = 0.0;
374e5c31af7Sopenharmony_ci					for (int i = 0; i < 2; i++)
375e5c31af7Sopenharmony_ci					{
376e5c31af7Sopenharmony_ci						default:
377e5c31af7Sopenharmony_ci							f *= 2.0;
378e5c31af7Sopenharmony_ci					}
379e5c31af7Sopenharmony_ci					break;
380e5c31af7Sopenharmony_ci				case 2:
381e5c31af7Sopenharmony_ci					break;
382e5c31af7Sopenharmony_ci			}
383e5c31af7Sopenharmony_ci
384e5c31af7Sopenharmony_ci			${OUTPUT}
385e5c31af7Sopenharmony_ci		}
386e5c31af7Sopenharmony_ci	""
387e5c31af7Sopenharmony_ciend
388e5c31af7Sopenharmony_ci
389e5c31af7Sopenharmony_cicase case_in_while_loop
390e5c31af7Sopenharmony_ci	version 300 es
391e5c31af7Sopenharmony_ci	expect compile_fail
392e5c31af7Sopenharmony_ci	both ""
393e5c31af7Sopenharmony_ci		#version 300 es
394e5c31af7Sopenharmony_ci		precision mediump float;
395e5c31af7Sopenharmony_ci		${DECLARATIONS}
396e5c31af7Sopenharmony_ci
397e5c31af7Sopenharmony_ci		void main ()
398e5c31af7Sopenharmony_ci		{
399e5c31af7Sopenharmony_ci			float f = 1.0;
400e5c31af7Sopenharmony_ci			switch (1)
401e5c31af7Sopenharmony_ci			{
402e5c31af7Sopenharmony_ci				case 0:
403e5c31af7Sopenharmony_ci					f = 0.0;
404e5c31af7Sopenharmony_ci					while (f > 0.0)
405e5c31af7Sopenharmony_ci					{
406e5c31af7Sopenharmony_ci						case 1:
407e5c31af7Sopenharmony_ci							f *= 2.0;
408e5c31af7Sopenharmony_ci					}
409e5c31af7Sopenharmony_ci					break;
410e5c31af7Sopenharmony_ci				case 2:
411e5c31af7Sopenharmony_ci					break;
412e5c31af7Sopenharmony_ci			}
413e5c31af7Sopenharmony_ci
414e5c31af7Sopenharmony_ci			${OUTPUT}
415e5c31af7Sopenharmony_ci		}
416e5c31af7Sopenharmony_ci	""
417e5c31af7Sopenharmony_ciend
418e5c31af7Sopenharmony_ci
419e5c31af7Sopenharmony_cicase default_in_while_loop
420e5c31af7Sopenharmony_ci	version 300 es
421e5c31af7Sopenharmony_ci	expect compile_fail
422e5c31af7Sopenharmony_ci	both ""
423e5c31af7Sopenharmony_ci		#version 300 es
424e5c31af7Sopenharmony_ci		precision mediump float;
425e5c31af7Sopenharmony_ci		${DECLARATIONS}
426e5c31af7Sopenharmony_ci
427e5c31af7Sopenharmony_ci		void main ()
428e5c31af7Sopenharmony_ci		{
429e5c31af7Sopenharmony_ci			float f = 1.0;
430e5c31af7Sopenharmony_ci			switch (1)
431e5c31af7Sopenharmony_ci			{
432e5c31af7Sopenharmony_ci				case 0:
433e5c31af7Sopenharmony_ci					f = 0.0;
434e5c31af7Sopenharmony_ci					while (f > 0.0)
435e5c31af7Sopenharmony_ci					{
436e5c31af7Sopenharmony_ci						default:
437e5c31af7Sopenharmony_ci							f *= 2.0;
438e5c31af7Sopenharmony_ci					}
439e5c31af7Sopenharmony_ci					break;
440e5c31af7Sopenharmony_ci				case 2:
441e5c31af7Sopenharmony_ci					break;
442e5c31af7Sopenharmony_ci			}
443e5c31af7Sopenharmony_ci
444e5c31af7Sopenharmony_ci			${OUTPUT}
445e5c31af7Sopenharmony_ci		}
446e5c31af7Sopenharmony_ci	""
447e5c31af7Sopenharmony_ciend
448e5c31af7Sopenharmony_ci
449e5c31af7Sopenharmony_cicase case_in_do_while_loop
450e5c31af7Sopenharmony_ci	version 300 es
451e5c31af7Sopenharmony_ci	expect compile_fail
452e5c31af7Sopenharmony_ci	both ""
453e5c31af7Sopenharmony_ci		#version 300 es
454e5c31af7Sopenharmony_ci		precision mediump float;
455e5c31af7Sopenharmony_ci		${DECLARATIONS}
456e5c31af7Sopenharmony_ci
457e5c31af7Sopenharmony_ci		void main ()
458e5c31af7Sopenharmony_ci		{
459e5c31af7Sopenharmony_ci			float f = 1.0;
460e5c31af7Sopenharmony_ci			switch (1)
461e5c31af7Sopenharmony_ci			{
462e5c31af7Sopenharmony_ci				case 0:
463e5c31af7Sopenharmony_ci					f = 0.0;
464e5c31af7Sopenharmony_ci					do
465e5c31af7Sopenharmony_ci					{
466e5c31af7Sopenharmony_ci						case 1:
467e5c31af7Sopenharmony_ci							f *= 2.0;
468e5c31af7Sopenharmony_ci					} while (f > 0.0);
469e5c31af7Sopenharmony_ci					break;
470e5c31af7Sopenharmony_ci				case 2:
471e5c31af7Sopenharmony_ci					break;
472e5c31af7Sopenharmony_ci			}
473e5c31af7Sopenharmony_ci
474e5c31af7Sopenharmony_ci			${OUTPUT}
475e5c31af7Sopenharmony_ci		}
476e5c31af7Sopenharmony_ci	""
477e5c31af7Sopenharmony_ciend
478e5c31af7Sopenharmony_ci
479e5c31af7Sopenharmony_cicase default_in_do_while_loop
480e5c31af7Sopenharmony_ci	version 300 es
481e5c31af7Sopenharmony_ci	expect compile_fail
482e5c31af7Sopenharmony_ci	both ""
483e5c31af7Sopenharmony_ci		#version 300 es
484e5c31af7Sopenharmony_ci		precision mediump float;
485e5c31af7Sopenharmony_ci		${DECLARATIONS}
486e5c31af7Sopenharmony_ci
487e5c31af7Sopenharmony_ci		void main ()
488e5c31af7Sopenharmony_ci		{
489e5c31af7Sopenharmony_ci			float f = 1.0;
490e5c31af7Sopenharmony_ci			switch (1)
491e5c31af7Sopenharmony_ci			{
492e5c31af7Sopenharmony_ci				case 0:
493e5c31af7Sopenharmony_ci					f = 0.0;
494e5c31af7Sopenharmony_ci					do
495e5c31af7Sopenharmony_ci					{
496e5c31af7Sopenharmony_ci						default:
497e5c31af7Sopenharmony_ci							f *= 2.0;
498e5c31af7Sopenharmony_ci					} while (f > 0.0);
499e5c31af7Sopenharmony_ci					break;
500e5c31af7Sopenharmony_ci				case 2:
501e5c31af7Sopenharmony_ci					break;
502e5c31af7Sopenharmony_ci			}
503e5c31af7Sopenharmony_ci
504e5c31af7Sopenharmony_ci			${OUTPUT}
505e5c31af7Sopenharmony_ci		}
506e5c31af7Sopenharmony_ci	""
507e5c31af7Sopenharmony_ciend
508e5c31af7Sopenharmony_ci
509e5c31af7Sopenharmony_cicase missing_colon
510e5c31af7Sopenharmony_ci	version 300 es
511e5c31af7Sopenharmony_ci	expect compile_fail
512e5c31af7Sopenharmony_ci	both ""
513e5c31af7Sopenharmony_ci		#version 300 es
514e5c31af7Sopenharmony_ci		precision mediump float;
515e5c31af7Sopenharmony_ci		${DECLARATIONS}
516e5c31af7Sopenharmony_ci
517e5c31af7Sopenharmony_ci		void main ()
518e5c31af7Sopenharmony_ci		{
519e5c31af7Sopenharmony_ci			switch (1)
520e5c31af7Sopenharmony_ci			{
521e5c31af7Sopenharmony_ci				case 1
522e5c31af7Sopenharmony_ci					${POSITION_FRAG_COLOR} = vec4(1.0);
523e5c31af7Sopenharmony_ci			}
524e5c31af7Sopenharmony_ci
525e5c31af7Sopenharmony_ci			${OUTPUT}
526e5c31af7Sopenharmony_ci		}
527e5c31af7Sopenharmony_ci	""
528e5c31af7Sopenharmony_ciend
529e5c31af7Sopenharmony_ci
530e5c31af7Sopenharmony_cicase missing_opening_brace
531e5c31af7Sopenharmony_ci	version 300 es
532e5c31af7Sopenharmony_ci	expect compile_fail
533e5c31af7Sopenharmony_ci	both ""
534e5c31af7Sopenharmony_ci		#version 300 es
535e5c31af7Sopenharmony_ci		precision mediump float;
536e5c31af7Sopenharmony_ci		${DECLARATIONS}
537e5c31af7Sopenharmony_ci
538e5c31af7Sopenharmony_ci		void main ()
539e5c31af7Sopenharmony_ci		{
540e5c31af7Sopenharmony_ci			switch (1)
541e5c31af7Sopenharmony_ci				case 1:
542e5c31af7Sopenharmony_ci					${POSITION_FRAG_COLOR} = vec4(1.0);
543e5c31af7Sopenharmony_ci			}
544e5c31af7Sopenharmony_ci
545e5c31af7Sopenharmony_ci			${OUTPUT}
546e5c31af7Sopenharmony_ci		}
547e5c31af7Sopenharmony_ci	""
548e5c31af7Sopenharmony_ciend
549e5c31af7Sopenharmony_ci
550e5c31af7Sopenharmony_cicase missing_closing_brace
551e5c31af7Sopenharmony_ci	version 300 es
552e5c31af7Sopenharmony_ci	expect compile_fail
553e5c31af7Sopenharmony_ci	both ""
554e5c31af7Sopenharmony_ci		#version 300 es
555e5c31af7Sopenharmony_ci		precision mediump float;
556e5c31af7Sopenharmony_ci		${DECLARATIONS}
557e5c31af7Sopenharmony_ci
558e5c31af7Sopenharmony_ci		void main ()
559e5c31af7Sopenharmony_ci		{
560e5c31af7Sopenharmony_ci			switch (1)
561e5c31af7Sopenharmony_ci			{
562e5c31af7Sopenharmony_ci				case 1:
563e5c31af7Sopenharmony_ci					${POSITION_FRAG_COLOR} = vec4(1.0);
564e5c31af7Sopenharmony_ci
565e5c31af7Sopenharmony_ci			${OUTPUT}
566e5c31af7Sopenharmony_ci		}
567e5c31af7Sopenharmony_ci	""
568e5c31af7Sopenharmony_ciend
569e5c31af7Sopenharmony_ci
570e5c31af7Sopenharmony_cicase double_case
571e5c31af7Sopenharmony_ci	version 300 es
572e5c31af7Sopenharmony_ci	expect compile_fail
573e5c31af7Sopenharmony_ci	both ""
574e5c31af7Sopenharmony_ci		#version 300 es
575e5c31af7Sopenharmony_ci		precision mediump float;
576e5c31af7Sopenharmony_ci		${DECLARATIONS}
577e5c31af7Sopenharmony_ci
578e5c31af7Sopenharmony_ci		void main ()
579e5c31af7Sopenharmony_ci		{
580e5c31af7Sopenharmony_ci			switch (1)
581e5c31af7Sopenharmony_ci			{
582e5c31af7Sopenharmony_ci				case case 1:
583e5c31af7Sopenharmony_ci					${POSITION_FRAG_COLOR} = vec4(1.0);
584e5c31af7Sopenharmony_ci			}
585e5c31af7Sopenharmony_ci
586e5c31af7Sopenharmony_ci			${OUTPUT}
587e5c31af7Sopenharmony_ci		}
588e5c31af7Sopenharmony_ci	""
589e5c31af7Sopenharmony_ciend
590e5c31af7Sopenharmony_ci
591e5c31af7Sopenharmony_cicase double_default_1
592e5c31af7Sopenharmony_ci	version 300 es
593e5c31af7Sopenharmony_ci	expect compile_fail
594e5c31af7Sopenharmony_ci	both ""
595e5c31af7Sopenharmony_ci		#version 300 es
596e5c31af7Sopenharmony_ci		precision mediump float;
597e5c31af7Sopenharmony_ci		${DECLARATIONS}
598e5c31af7Sopenharmony_ci
599e5c31af7Sopenharmony_ci		void main ()
600e5c31af7Sopenharmony_ci		{
601e5c31af7Sopenharmony_ci			switch (1)
602e5c31af7Sopenharmony_ci			{
603e5c31af7Sopenharmony_ci				default:
604e5c31af7Sopenharmony_ci					break;
605e5c31af7Sopenharmony_ci				default:
606e5c31af7Sopenharmony_ci					${POSITION_FRAG_COLOR} = vec4(1.0);
607e5c31af7Sopenharmony_ci			}
608e5c31af7Sopenharmony_ci
609e5c31af7Sopenharmony_ci			${OUTPUT}
610e5c31af7Sopenharmony_ci		}
611e5c31af7Sopenharmony_ci	""
612e5c31af7Sopenharmony_ciend
613e5c31af7Sopenharmony_ci
614e5c31af7Sopenharmony_cicase double_default_2
615e5c31af7Sopenharmony_ci	version 300 es
616e5c31af7Sopenharmony_ci	expect compile_fail
617e5c31af7Sopenharmony_ci	both ""
618e5c31af7Sopenharmony_ci		#version 300 es
619e5c31af7Sopenharmony_ci		precision mediump float;
620e5c31af7Sopenharmony_ci		${DECLARATIONS}
621e5c31af7Sopenharmony_ci
622e5c31af7Sopenharmony_ci		void main ()
623e5c31af7Sopenharmony_ci		{
624e5c31af7Sopenharmony_ci			switch (1)
625e5c31af7Sopenharmony_ci			{
626e5c31af7Sopenharmony_ci				default default:
627e5c31af7Sopenharmony_ci					${POSITION_FRAG_COLOR} = vec4(1.0);
628e5c31af7Sopenharmony_ci			}
629e5c31af7Sopenharmony_ci
630e5c31af7Sopenharmony_ci			${OUTPUT}
631e5c31af7Sopenharmony_ci		}
632e5c31af7Sopenharmony_ci	""
633e5c31af7Sopenharmony_ciend
634