1e5c31af7Sopenharmony_ci# WARNING: This file is auto-generated. Do NOT modify it manually, but rather
2e5c31af7Sopenharmony_ci# modify the generating script file. Otherwise changes will be lost!
3e5c31af7Sopenharmony_ci
4e5c31af7Sopenharmony_cigroup invalid_implicit_conversions "Invalid Implicit Conversions"
5e5c31af7Sopenharmony_ci
6e5c31af7Sopenharmony_ci	case add_float_int_float
7e5c31af7Sopenharmony_ci		expect compile_fail
8e5c31af7Sopenharmony_ci
9e5c31af7Sopenharmony_ci		both ""
10e5c31af7Sopenharmony_ci			precision mediump float;
11e5c31af7Sopenharmony_ci			precision mediump int;
12e5c31af7Sopenharmony_ci
13e5c31af7Sopenharmony_ci			${DECLARATIONS}
14e5c31af7Sopenharmony_ci
15e5c31af7Sopenharmony_ci			void main()
16e5c31af7Sopenharmony_ci			{
17e5c31af7Sopenharmony_ci				float c;
18e5c31af7Sopenharmony_ci				float a;
19e5c31af7Sopenharmony_ci				int b;
20e5c31af7Sopenharmony_ci				float c = a + b;
21e5c31af7Sopenharmony_ci			}
22e5c31af7Sopenharmony_ci		""
23e5c31af7Sopenharmony_ci	end
24e5c31af7Sopenharmony_ci	case add_float_int_int
25e5c31af7Sopenharmony_ci		expect compile_fail
26e5c31af7Sopenharmony_ci
27e5c31af7Sopenharmony_ci		both ""
28e5c31af7Sopenharmony_ci			precision mediump float;
29e5c31af7Sopenharmony_ci			precision mediump int;
30e5c31af7Sopenharmony_ci
31e5c31af7Sopenharmony_ci			${DECLARATIONS}
32e5c31af7Sopenharmony_ci
33e5c31af7Sopenharmony_ci			void main()
34e5c31af7Sopenharmony_ci			{
35e5c31af7Sopenharmony_ci				int c;
36e5c31af7Sopenharmony_ci				float a;
37e5c31af7Sopenharmony_ci				int b;
38e5c31af7Sopenharmony_ci				int c = a + b;
39e5c31af7Sopenharmony_ci			}
40e5c31af7Sopenharmony_ci		""
41e5c31af7Sopenharmony_ci	end
42e5c31af7Sopenharmony_ci	case add_float_ivec2_float
43e5c31af7Sopenharmony_ci		expect compile_fail
44e5c31af7Sopenharmony_ci
45e5c31af7Sopenharmony_ci		both ""
46e5c31af7Sopenharmony_ci			precision mediump float;
47e5c31af7Sopenharmony_ci			precision mediump int;
48e5c31af7Sopenharmony_ci
49e5c31af7Sopenharmony_ci			${DECLARATIONS}
50e5c31af7Sopenharmony_ci
51e5c31af7Sopenharmony_ci			void main()
52e5c31af7Sopenharmony_ci			{
53e5c31af7Sopenharmony_ci				float c;
54e5c31af7Sopenharmony_ci				float a;
55e5c31af7Sopenharmony_ci				ivec2 b;
56e5c31af7Sopenharmony_ci				float c = a + b;
57e5c31af7Sopenharmony_ci			}
58e5c31af7Sopenharmony_ci		""
59e5c31af7Sopenharmony_ci	end
60e5c31af7Sopenharmony_ci	case add_float_ivec2_ivec2
61e5c31af7Sopenharmony_ci		expect compile_fail
62e5c31af7Sopenharmony_ci
63e5c31af7Sopenharmony_ci		both ""
64e5c31af7Sopenharmony_ci			precision mediump float;
65e5c31af7Sopenharmony_ci			precision mediump int;
66e5c31af7Sopenharmony_ci
67e5c31af7Sopenharmony_ci			${DECLARATIONS}
68e5c31af7Sopenharmony_ci
69e5c31af7Sopenharmony_ci			void main()
70e5c31af7Sopenharmony_ci			{
71e5c31af7Sopenharmony_ci				ivec2 c;
72e5c31af7Sopenharmony_ci				float a;
73e5c31af7Sopenharmony_ci				ivec2 b;
74e5c31af7Sopenharmony_ci				ivec2 c = a + b;
75e5c31af7Sopenharmony_ci			}
76e5c31af7Sopenharmony_ci		""
77e5c31af7Sopenharmony_ci	end
78e5c31af7Sopenharmony_ci	case add_float_ivec3_float
79e5c31af7Sopenharmony_ci		expect compile_fail
80e5c31af7Sopenharmony_ci
81e5c31af7Sopenharmony_ci		both ""
82e5c31af7Sopenharmony_ci			precision mediump float;
83e5c31af7Sopenharmony_ci			precision mediump int;
84e5c31af7Sopenharmony_ci
85e5c31af7Sopenharmony_ci			${DECLARATIONS}
86e5c31af7Sopenharmony_ci
87e5c31af7Sopenharmony_ci			void main()
88e5c31af7Sopenharmony_ci			{
89e5c31af7Sopenharmony_ci				float c;
90e5c31af7Sopenharmony_ci				float a;
91e5c31af7Sopenharmony_ci				ivec3 b;
92e5c31af7Sopenharmony_ci				float c = a + b;
93e5c31af7Sopenharmony_ci			}
94e5c31af7Sopenharmony_ci		""
95e5c31af7Sopenharmony_ci	end
96e5c31af7Sopenharmony_ci	case add_float_ivec3_ivec3
97e5c31af7Sopenharmony_ci		expect compile_fail
98e5c31af7Sopenharmony_ci
99e5c31af7Sopenharmony_ci		both ""
100e5c31af7Sopenharmony_ci			precision mediump float;
101e5c31af7Sopenharmony_ci			precision mediump int;
102e5c31af7Sopenharmony_ci
103e5c31af7Sopenharmony_ci			${DECLARATIONS}
104e5c31af7Sopenharmony_ci
105e5c31af7Sopenharmony_ci			void main()
106e5c31af7Sopenharmony_ci			{
107e5c31af7Sopenharmony_ci				ivec3 c;
108e5c31af7Sopenharmony_ci				float a;
109e5c31af7Sopenharmony_ci				ivec3 b;
110e5c31af7Sopenharmony_ci				ivec3 c = a + b;
111e5c31af7Sopenharmony_ci			}
112e5c31af7Sopenharmony_ci		""
113e5c31af7Sopenharmony_ci	end
114e5c31af7Sopenharmony_ci	case add_float_ivec4_float
115e5c31af7Sopenharmony_ci		expect compile_fail
116e5c31af7Sopenharmony_ci
117e5c31af7Sopenharmony_ci		both ""
118e5c31af7Sopenharmony_ci			precision mediump float;
119e5c31af7Sopenharmony_ci			precision mediump int;
120e5c31af7Sopenharmony_ci
121e5c31af7Sopenharmony_ci			${DECLARATIONS}
122e5c31af7Sopenharmony_ci
123e5c31af7Sopenharmony_ci			void main()
124e5c31af7Sopenharmony_ci			{
125e5c31af7Sopenharmony_ci				float c;
126e5c31af7Sopenharmony_ci				float a;
127e5c31af7Sopenharmony_ci				ivec4 b;
128e5c31af7Sopenharmony_ci				float c = a + b;
129e5c31af7Sopenharmony_ci			}
130e5c31af7Sopenharmony_ci		""
131e5c31af7Sopenharmony_ci	end
132e5c31af7Sopenharmony_ci	case add_float_ivec4_ivec4
133e5c31af7Sopenharmony_ci		expect compile_fail
134e5c31af7Sopenharmony_ci
135e5c31af7Sopenharmony_ci		both ""
136e5c31af7Sopenharmony_ci			precision mediump float;
137e5c31af7Sopenharmony_ci			precision mediump int;
138e5c31af7Sopenharmony_ci
139e5c31af7Sopenharmony_ci			${DECLARATIONS}
140e5c31af7Sopenharmony_ci
141e5c31af7Sopenharmony_ci			void main()
142e5c31af7Sopenharmony_ci			{
143e5c31af7Sopenharmony_ci				ivec4 c;
144e5c31af7Sopenharmony_ci				float a;
145e5c31af7Sopenharmony_ci				ivec4 b;
146e5c31af7Sopenharmony_ci				ivec4 c = a + b;
147e5c31af7Sopenharmony_ci			}
148e5c31af7Sopenharmony_ci		""
149e5c31af7Sopenharmony_ci	end
150e5c31af7Sopenharmony_ci	case add_vec2_int_vec2
151e5c31af7Sopenharmony_ci		expect compile_fail
152e5c31af7Sopenharmony_ci
153e5c31af7Sopenharmony_ci		both ""
154e5c31af7Sopenharmony_ci			precision mediump float;
155e5c31af7Sopenharmony_ci			precision mediump int;
156e5c31af7Sopenharmony_ci
157e5c31af7Sopenharmony_ci			${DECLARATIONS}
158e5c31af7Sopenharmony_ci
159e5c31af7Sopenharmony_ci			void main()
160e5c31af7Sopenharmony_ci			{
161e5c31af7Sopenharmony_ci				vec2 c;
162e5c31af7Sopenharmony_ci				vec2 a;
163e5c31af7Sopenharmony_ci				int b;
164e5c31af7Sopenharmony_ci				vec2 c = a + b;
165e5c31af7Sopenharmony_ci			}
166e5c31af7Sopenharmony_ci		""
167e5c31af7Sopenharmony_ci	end
168e5c31af7Sopenharmony_ci	case add_vec2_int_int
169e5c31af7Sopenharmony_ci		expect compile_fail
170e5c31af7Sopenharmony_ci
171e5c31af7Sopenharmony_ci		both ""
172e5c31af7Sopenharmony_ci			precision mediump float;
173e5c31af7Sopenharmony_ci			precision mediump int;
174e5c31af7Sopenharmony_ci
175e5c31af7Sopenharmony_ci			${DECLARATIONS}
176e5c31af7Sopenharmony_ci
177e5c31af7Sopenharmony_ci			void main()
178e5c31af7Sopenharmony_ci			{
179e5c31af7Sopenharmony_ci				int c;
180e5c31af7Sopenharmony_ci				vec2 a;
181e5c31af7Sopenharmony_ci				int b;
182e5c31af7Sopenharmony_ci				int c = a + b;
183e5c31af7Sopenharmony_ci			}
184e5c31af7Sopenharmony_ci		""
185e5c31af7Sopenharmony_ci	end
186e5c31af7Sopenharmony_ci	case add_vec2_ivec2_vec2
187e5c31af7Sopenharmony_ci		expect compile_fail
188e5c31af7Sopenharmony_ci
189e5c31af7Sopenharmony_ci		both ""
190e5c31af7Sopenharmony_ci			precision mediump float;
191e5c31af7Sopenharmony_ci			precision mediump int;
192e5c31af7Sopenharmony_ci
193e5c31af7Sopenharmony_ci			${DECLARATIONS}
194e5c31af7Sopenharmony_ci
195e5c31af7Sopenharmony_ci			void main()
196e5c31af7Sopenharmony_ci			{
197e5c31af7Sopenharmony_ci				vec2 c;
198e5c31af7Sopenharmony_ci				vec2 a;
199e5c31af7Sopenharmony_ci				ivec2 b;
200e5c31af7Sopenharmony_ci				vec2 c = a + b;
201e5c31af7Sopenharmony_ci			}
202e5c31af7Sopenharmony_ci		""
203e5c31af7Sopenharmony_ci	end
204e5c31af7Sopenharmony_ci	case add_vec2_ivec2_ivec2
205e5c31af7Sopenharmony_ci		expect compile_fail
206e5c31af7Sopenharmony_ci
207e5c31af7Sopenharmony_ci		both ""
208e5c31af7Sopenharmony_ci			precision mediump float;
209e5c31af7Sopenharmony_ci			precision mediump int;
210e5c31af7Sopenharmony_ci
211e5c31af7Sopenharmony_ci			${DECLARATIONS}
212e5c31af7Sopenharmony_ci
213e5c31af7Sopenharmony_ci			void main()
214e5c31af7Sopenharmony_ci			{
215e5c31af7Sopenharmony_ci				ivec2 c;
216e5c31af7Sopenharmony_ci				vec2 a;
217e5c31af7Sopenharmony_ci				ivec2 b;
218e5c31af7Sopenharmony_ci				ivec2 c = a + b;
219e5c31af7Sopenharmony_ci			}
220e5c31af7Sopenharmony_ci		""
221e5c31af7Sopenharmony_ci	end
222e5c31af7Sopenharmony_ci	case add_vec2_ivec3_vec2
223e5c31af7Sopenharmony_ci		expect compile_fail
224e5c31af7Sopenharmony_ci
225e5c31af7Sopenharmony_ci		both ""
226e5c31af7Sopenharmony_ci			precision mediump float;
227e5c31af7Sopenharmony_ci			precision mediump int;
228e5c31af7Sopenharmony_ci
229e5c31af7Sopenharmony_ci			${DECLARATIONS}
230e5c31af7Sopenharmony_ci
231e5c31af7Sopenharmony_ci			void main()
232e5c31af7Sopenharmony_ci			{
233e5c31af7Sopenharmony_ci				vec2 c;
234e5c31af7Sopenharmony_ci				vec2 a;
235e5c31af7Sopenharmony_ci				ivec3 b;
236e5c31af7Sopenharmony_ci				vec2 c = a + b;
237e5c31af7Sopenharmony_ci			}
238e5c31af7Sopenharmony_ci		""
239e5c31af7Sopenharmony_ci	end
240e5c31af7Sopenharmony_ci	case add_vec2_ivec3_ivec3
241e5c31af7Sopenharmony_ci		expect compile_fail
242e5c31af7Sopenharmony_ci
243e5c31af7Sopenharmony_ci		both ""
244e5c31af7Sopenharmony_ci			precision mediump float;
245e5c31af7Sopenharmony_ci			precision mediump int;
246e5c31af7Sopenharmony_ci
247e5c31af7Sopenharmony_ci			${DECLARATIONS}
248e5c31af7Sopenharmony_ci
249e5c31af7Sopenharmony_ci			void main()
250e5c31af7Sopenharmony_ci			{
251e5c31af7Sopenharmony_ci				ivec3 c;
252e5c31af7Sopenharmony_ci				vec2 a;
253e5c31af7Sopenharmony_ci				ivec3 b;
254e5c31af7Sopenharmony_ci				ivec3 c = a + b;
255e5c31af7Sopenharmony_ci			}
256e5c31af7Sopenharmony_ci		""
257e5c31af7Sopenharmony_ci	end
258e5c31af7Sopenharmony_ci	case add_vec2_ivec4_vec2
259e5c31af7Sopenharmony_ci		expect compile_fail
260e5c31af7Sopenharmony_ci
261e5c31af7Sopenharmony_ci		both ""
262e5c31af7Sopenharmony_ci			precision mediump float;
263e5c31af7Sopenharmony_ci			precision mediump int;
264e5c31af7Sopenharmony_ci
265e5c31af7Sopenharmony_ci			${DECLARATIONS}
266e5c31af7Sopenharmony_ci
267e5c31af7Sopenharmony_ci			void main()
268e5c31af7Sopenharmony_ci			{
269e5c31af7Sopenharmony_ci				vec2 c;
270e5c31af7Sopenharmony_ci				vec2 a;
271e5c31af7Sopenharmony_ci				ivec4 b;
272e5c31af7Sopenharmony_ci				vec2 c = a + b;
273e5c31af7Sopenharmony_ci			}
274e5c31af7Sopenharmony_ci		""
275e5c31af7Sopenharmony_ci	end
276e5c31af7Sopenharmony_ci	case add_vec2_ivec4_ivec4
277e5c31af7Sopenharmony_ci		expect compile_fail
278e5c31af7Sopenharmony_ci
279e5c31af7Sopenharmony_ci		both ""
280e5c31af7Sopenharmony_ci			precision mediump float;
281e5c31af7Sopenharmony_ci			precision mediump int;
282e5c31af7Sopenharmony_ci
283e5c31af7Sopenharmony_ci			${DECLARATIONS}
284e5c31af7Sopenharmony_ci
285e5c31af7Sopenharmony_ci			void main()
286e5c31af7Sopenharmony_ci			{
287e5c31af7Sopenharmony_ci				ivec4 c;
288e5c31af7Sopenharmony_ci				vec2 a;
289e5c31af7Sopenharmony_ci				ivec4 b;
290e5c31af7Sopenharmony_ci				ivec4 c = a + b;
291e5c31af7Sopenharmony_ci			}
292e5c31af7Sopenharmony_ci		""
293e5c31af7Sopenharmony_ci	end
294e5c31af7Sopenharmony_ci	case add_vec3_int_vec3
295e5c31af7Sopenharmony_ci		expect compile_fail
296e5c31af7Sopenharmony_ci
297e5c31af7Sopenharmony_ci		both ""
298e5c31af7Sopenharmony_ci			precision mediump float;
299e5c31af7Sopenharmony_ci			precision mediump int;
300e5c31af7Sopenharmony_ci
301e5c31af7Sopenharmony_ci			${DECLARATIONS}
302e5c31af7Sopenharmony_ci
303e5c31af7Sopenharmony_ci			void main()
304e5c31af7Sopenharmony_ci			{
305e5c31af7Sopenharmony_ci				vec3 c;
306e5c31af7Sopenharmony_ci				vec3 a;
307e5c31af7Sopenharmony_ci				int b;
308e5c31af7Sopenharmony_ci				vec3 c = a + b;
309e5c31af7Sopenharmony_ci			}
310e5c31af7Sopenharmony_ci		""
311e5c31af7Sopenharmony_ci	end
312e5c31af7Sopenharmony_ci	case add_vec3_int_int
313e5c31af7Sopenharmony_ci		expect compile_fail
314e5c31af7Sopenharmony_ci
315e5c31af7Sopenharmony_ci		both ""
316e5c31af7Sopenharmony_ci			precision mediump float;
317e5c31af7Sopenharmony_ci			precision mediump int;
318e5c31af7Sopenharmony_ci
319e5c31af7Sopenharmony_ci			${DECLARATIONS}
320e5c31af7Sopenharmony_ci
321e5c31af7Sopenharmony_ci			void main()
322e5c31af7Sopenharmony_ci			{
323e5c31af7Sopenharmony_ci				int c;
324e5c31af7Sopenharmony_ci				vec3 a;
325e5c31af7Sopenharmony_ci				int b;
326e5c31af7Sopenharmony_ci				int c = a + b;
327e5c31af7Sopenharmony_ci			}
328e5c31af7Sopenharmony_ci		""
329e5c31af7Sopenharmony_ci	end
330e5c31af7Sopenharmony_ci	case add_vec3_ivec2_vec3
331e5c31af7Sopenharmony_ci		expect compile_fail
332e5c31af7Sopenharmony_ci
333e5c31af7Sopenharmony_ci		both ""
334e5c31af7Sopenharmony_ci			precision mediump float;
335e5c31af7Sopenharmony_ci			precision mediump int;
336e5c31af7Sopenharmony_ci
337e5c31af7Sopenharmony_ci			${DECLARATIONS}
338e5c31af7Sopenharmony_ci
339e5c31af7Sopenharmony_ci			void main()
340e5c31af7Sopenharmony_ci			{
341e5c31af7Sopenharmony_ci				vec3 c;
342e5c31af7Sopenharmony_ci				vec3 a;
343e5c31af7Sopenharmony_ci				ivec2 b;
344e5c31af7Sopenharmony_ci				vec3 c = a + b;
345e5c31af7Sopenharmony_ci			}
346e5c31af7Sopenharmony_ci		""
347e5c31af7Sopenharmony_ci	end
348e5c31af7Sopenharmony_ci	case add_vec3_ivec2_ivec2
349e5c31af7Sopenharmony_ci		expect compile_fail
350e5c31af7Sopenharmony_ci
351e5c31af7Sopenharmony_ci		both ""
352e5c31af7Sopenharmony_ci			precision mediump float;
353e5c31af7Sopenharmony_ci			precision mediump int;
354e5c31af7Sopenharmony_ci
355e5c31af7Sopenharmony_ci			${DECLARATIONS}
356e5c31af7Sopenharmony_ci
357e5c31af7Sopenharmony_ci			void main()
358e5c31af7Sopenharmony_ci			{
359e5c31af7Sopenharmony_ci				ivec2 c;
360e5c31af7Sopenharmony_ci				vec3 a;
361e5c31af7Sopenharmony_ci				ivec2 b;
362e5c31af7Sopenharmony_ci				ivec2 c = a + b;
363e5c31af7Sopenharmony_ci			}
364e5c31af7Sopenharmony_ci		""
365e5c31af7Sopenharmony_ci	end
366e5c31af7Sopenharmony_ci	case add_vec3_ivec3_vec3
367e5c31af7Sopenharmony_ci		expect compile_fail
368e5c31af7Sopenharmony_ci
369e5c31af7Sopenharmony_ci		both ""
370e5c31af7Sopenharmony_ci			precision mediump float;
371e5c31af7Sopenharmony_ci			precision mediump int;
372e5c31af7Sopenharmony_ci
373e5c31af7Sopenharmony_ci			${DECLARATIONS}
374e5c31af7Sopenharmony_ci
375e5c31af7Sopenharmony_ci			void main()
376e5c31af7Sopenharmony_ci			{
377e5c31af7Sopenharmony_ci				vec3 c;
378e5c31af7Sopenharmony_ci				vec3 a;
379e5c31af7Sopenharmony_ci				ivec3 b;
380e5c31af7Sopenharmony_ci				vec3 c = a + b;
381e5c31af7Sopenharmony_ci			}
382e5c31af7Sopenharmony_ci		""
383e5c31af7Sopenharmony_ci	end
384e5c31af7Sopenharmony_ci	case add_vec3_ivec3_ivec3
385e5c31af7Sopenharmony_ci		expect compile_fail
386e5c31af7Sopenharmony_ci
387e5c31af7Sopenharmony_ci		both ""
388e5c31af7Sopenharmony_ci			precision mediump float;
389e5c31af7Sopenharmony_ci			precision mediump int;
390e5c31af7Sopenharmony_ci
391e5c31af7Sopenharmony_ci			${DECLARATIONS}
392e5c31af7Sopenharmony_ci
393e5c31af7Sopenharmony_ci			void main()
394e5c31af7Sopenharmony_ci			{
395e5c31af7Sopenharmony_ci				ivec3 c;
396e5c31af7Sopenharmony_ci				vec3 a;
397e5c31af7Sopenharmony_ci				ivec3 b;
398e5c31af7Sopenharmony_ci				ivec3 c = a + b;
399e5c31af7Sopenharmony_ci			}
400e5c31af7Sopenharmony_ci		""
401e5c31af7Sopenharmony_ci	end
402e5c31af7Sopenharmony_ci	case add_vec3_ivec4_vec3
403e5c31af7Sopenharmony_ci		expect compile_fail
404e5c31af7Sopenharmony_ci
405e5c31af7Sopenharmony_ci		both ""
406e5c31af7Sopenharmony_ci			precision mediump float;
407e5c31af7Sopenharmony_ci			precision mediump int;
408e5c31af7Sopenharmony_ci
409e5c31af7Sopenharmony_ci			${DECLARATIONS}
410e5c31af7Sopenharmony_ci
411e5c31af7Sopenharmony_ci			void main()
412e5c31af7Sopenharmony_ci			{
413e5c31af7Sopenharmony_ci				vec3 c;
414e5c31af7Sopenharmony_ci				vec3 a;
415e5c31af7Sopenharmony_ci				ivec4 b;
416e5c31af7Sopenharmony_ci				vec3 c = a + b;
417e5c31af7Sopenharmony_ci			}
418e5c31af7Sopenharmony_ci		""
419e5c31af7Sopenharmony_ci	end
420e5c31af7Sopenharmony_ci	case add_vec3_ivec4_ivec4
421e5c31af7Sopenharmony_ci		expect compile_fail
422e5c31af7Sopenharmony_ci
423e5c31af7Sopenharmony_ci		both ""
424e5c31af7Sopenharmony_ci			precision mediump float;
425e5c31af7Sopenharmony_ci			precision mediump int;
426e5c31af7Sopenharmony_ci
427e5c31af7Sopenharmony_ci			${DECLARATIONS}
428e5c31af7Sopenharmony_ci
429e5c31af7Sopenharmony_ci			void main()
430e5c31af7Sopenharmony_ci			{
431e5c31af7Sopenharmony_ci				ivec4 c;
432e5c31af7Sopenharmony_ci				vec3 a;
433e5c31af7Sopenharmony_ci				ivec4 b;
434e5c31af7Sopenharmony_ci				ivec4 c = a + b;
435e5c31af7Sopenharmony_ci			}
436e5c31af7Sopenharmony_ci		""
437e5c31af7Sopenharmony_ci	end
438e5c31af7Sopenharmony_ci	case add_vec4_int_vec4
439e5c31af7Sopenharmony_ci		expect compile_fail
440e5c31af7Sopenharmony_ci
441e5c31af7Sopenharmony_ci		both ""
442e5c31af7Sopenharmony_ci			precision mediump float;
443e5c31af7Sopenharmony_ci			precision mediump int;
444e5c31af7Sopenharmony_ci
445e5c31af7Sopenharmony_ci			${DECLARATIONS}
446e5c31af7Sopenharmony_ci
447e5c31af7Sopenharmony_ci			void main()
448e5c31af7Sopenharmony_ci			{
449e5c31af7Sopenharmony_ci				vec4 c;
450e5c31af7Sopenharmony_ci				vec4 a;
451e5c31af7Sopenharmony_ci				int b;
452e5c31af7Sopenharmony_ci				vec4 c = a + b;
453e5c31af7Sopenharmony_ci			}
454e5c31af7Sopenharmony_ci		""
455e5c31af7Sopenharmony_ci	end
456e5c31af7Sopenharmony_ci	case add_vec4_int_int
457e5c31af7Sopenharmony_ci		expect compile_fail
458e5c31af7Sopenharmony_ci
459e5c31af7Sopenharmony_ci		both ""
460e5c31af7Sopenharmony_ci			precision mediump float;
461e5c31af7Sopenharmony_ci			precision mediump int;
462e5c31af7Sopenharmony_ci
463e5c31af7Sopenharmony_ci			${DECLARATIONS}
464e5c31af7Sopenharmony_ci
465e5c31af7Sopenharmony_ci			void main()
466e5c31af7Sopenharmony_ci			{
467e5c31af7Sopenharmony_ci				int c;
468e5c31af7Sopenharmony_ci				vec4 a;
469e5c31af7Sopenharmony_ci				int b;
470e5c31af7Sopenharmony_ci				int c = a + b;
471e5c31af7Sopenharmony_ci			}
472e5c31af7Sopenharmony_ci		""
473e5c31af7Sopenharmony_ci	end
474e5c31af7Sopenharmony_ci	case add_vec4_ivec2_vec4
475e5c31af7Sopenharmony_ci		expect compile_fail
476e5c31af7Sopenharmony_ci
477e5c31af7Sopenharmony_ci		both ""
478e5c31af7Sopenharmony_ci			precision mediump float;
479e5c31af7Sopenharmony_ci			precision mediump int;
480e5c31af7Sopenharmony_ci
481e5c31af7Sopenharmony_ci			${DECLARATIONS}
482e5c31af7Sopenharmony_ci
483e5c31af7Sopenharmony_ci			void main()
484e5c31af7Sopenharmony_ci			{
485e5c31af7Sopenharmony_ci				vec4 c;
486e5c31af7Sopenharmony_ci				vec4 a;
487e5c31af7Sopenharmony_ci				ivec2 b;
488e5c31af7Sopenharmony_ci				vec4 c = a + b;
489e5c31af7Sopenharmony_ci			}
490e5c31af7Sopenharmony_ci		""
491e5c31af7Sopenharmony_ci	end
492e5c31af7Sopenharmony_ci	case add_vec4_ivec2_ivec2
493e5c31af7Sopenharmony_ci		expect compile_fail
494e5c31af7Sopenharmony_ci
495e5c31af7Sopenharmony_ci		both ""
496e5c31af7Sopenharmony_ci			precision mediump float;
497e5c31af7Sopenharmony_ci			precision mediump int;
498e5c31af7Sopenharmony_ci
499e5c31af7Sopenharmony_ci			${DECLARATIONS}
500e5c31af7Sopenharmony_ci
501e5c31af7Sopenharmony_ci			void main()
502e5c31af7Sopenharmony_ci			{
503e5c31af7Sopenharmony_ci				ivec2 c;
504e5c31af7Sopenharmony_ci				vec4 a;
505e5c31af7Sopenharmony_ci				ivec2 b;
506e5c31af7Sopenharmony_ci				ivec2 c = a + b;
507e5c31af7Sopenharmony_ci			}
508e5c31af7Sopenharmony_ci		""
509e5c31af7Sopenharmony_ci	end
510e5c31af7Sopenharmony_ci	case add_vec4_ivec3_vec4
511e5c31af7Sopenharmony_ci		expect compile_fail
512e5c31af7Sopenharmony_ci
513e5c31af7Sopenharmony_ci		both ""
514e5c31af7Sopenharmony_ci			precision mediump float;
515e5c31af7Sopenharmony_ci			precision mediump int;
516e5c31af7Sopenharmony_ci
517e5c31af7Sopenharmony_ci			${DECLARATIONS}
518e5c31af7Sopenharmony_ci
519e5c31af7Sopenharmony_ci			void main()
520e5c31af7Sopenharmony_ci			{
521e5c31af7Sopenharmony_ci				vec4 c;
522e5c31af7Sopenharmony_ci				vec4 a;
523e5c31af7Sopenharmony_ci				ivec3 b;
524e5c31af7Sopenharmony_ci				vec4 c = a + b;
525e5c31af7Sopenharmony_ci			}
526e5c31af7Sopenharmony_ci		""
527e5c31af7Sopenharmony_ci	end
528e5c31af7Sopenharmony_ci	case add_vec4_ivec3_ivec3
529e5c31af7Sopenharmony_ci		expect compile_fail
530e5c31af7Sopenharmony_ci
531e5c31af7Sopenharmony_ci		both ""
532e5c31af7Sopenharmony_ci			precision mediump float;
533e5c31af7Sopenharmony_ci			precision mediump int;
534e5c31af7Sopenharmony_ci
535e5c31af7Sopenharmony_ci			${DECLARATIONS}
536e5c31af7Sopenharmony_ci
537e5c31af7Sopenharmony_ci			void main()
538e5c31af7Sopenharmony_ci			{
539e5c31af7Sopenharmony_ci				ivec3 c;
540e5c31af7Sopenharmony_ci				vec4 a;
541e5c31af7Sopenharmony_ci				ivec3 b;
542e5c31af7Sopenharmony_ci				ivec3 c = a + b;
543e5c31af7Sopenharmony_ci			}
544e5c31af7Sopenharmony_ci		""
545e5c31af7Sopenharmony_ci	end
546e5c31af7Sopenharmony_ci	case add_vec4_ivec4_vec4
547e5c31af7Sopenharmony_ci		expect compile_fail
548e5c31af7Sopenharmony_ci
549e5c31af7Sopenharmony_ci		both ""
550e5c31af7Sopenharmony_ci			precision mediump float;
551e5c31af7Sopenharmony_ci			precision mediump int;
552e5c31af7Sopenharmony_ci
553e5c31af7Sopenharmony_ci			${DECLARATIONS}
554e5c31af7Sopenharmony_ci
555e5c31af7Sopenharmony_ci			void main()
556e5c31af7Sopenharmony_ci			{
557e5c31af7Sopenharmony_ci				vec4 c;
558e5c31af7Sopenharmony_ci				vec4 a;
559e5c31af7Sopenharmony_ci				ivec4 b;
560e5c31af7Sopenharmony_ci				vec4 c = a + b;
561e5c31af7Sopenharmony_ci			}
562e5c31af7Sopenharmony_ci		""
563e5c31af7Sopenharmony_ci	end
564e5c31af7Sopenharmony_ci	case add_vec4_ivec4_ivec4
565e5c31af7Sopenharmony_ci		expect compile_fail
566e5c31af7Sopenharmony_ci
567e5c31af7Sopenharmony_ci		both ""
568e5c31af7Sopenharmony_ci			precision mediump float;
569e5c31af7Sopenharmony_ci			precision mediump int;
570e5c31af7Sopenharmony_ci
571e5c31af7Sopenharmony_ci			${DECLARATIONS}
572e5c31af7Sopenharmony_ci
573e5c31af7Sopenharmony_ci			void main()
574e5c31af7Sopenharmony_ci			{
575e5c31af7Sopenharmony_ci				ivec4 c;
576e5c31af7Sopenharmony_ci				vec4 a;
577e5c31af7Sopenharmony_ci				ivec4 b;
578e5c31af7Sopenharmony_ci				ivec4 c = a + b;
579e5c31af7Sopenharmony_ci			}
580e5c31af7Sopenharmony_ci		""
581e5c31af7Sopenharmony_ci	end
582e5c31af7Sopenharmony_ci	case mul_float_int_float
583e5c31af7Sopenharmony_ci		expect compile_fail
584e5c31af7Sopenharmony_ci
585e5c31af7Sopenharmony_ci		both ""
586e5c31af7Sopenharmony_ci			precision mediump float;
587e5c31af7Sopenharmony_ci			precision mediump int;
588e5c31af7Sopenharmony_ci
589e5c31af7Sopenharmony_ci			${DECLARATIONS}
590e5c31af7Sopenharmony_ci
591e5c31af7Sopenharmony_ci			void main()
592e5c31af7Sopenharmony_ci			{
593e5c31af7Sopenharmony_ci				float c;
594e5c31af7Sopenharmony_ci				float a;
595e5c31af7Sopenharmony_ci				int b;
596e5c31af7Sopenharmony_ci				float c = a * b;
597e5c31af7Sopenharmony_ci			}
598e5c31af7Sopenharmony_ci		""
599e5c31af7Sopenharmony_ci	end
600e5c31af7Sopenharmony_ci	case mul_float_int_int
601e5c31af7Sopenharmony_ci		expect compile_fail
602e5c31af7Sopenharmony_ci
603e5c31af7Sopenharmony_ci		both ""
604e5c31af7Sopenharmony_ci			precision mediump float;
605e5c31af7Sopenharmony_ci			precision mediump int;
606e5c31af7Sopenharmony_ci
607e5c31af7Sopenharmony_ci			${DECLARATIONS}
608e5c31af7Sopenharmony_ci
609e5c31af7Sopenharmony_ci			void main()
610e5c31af7Sopenharmony_ci			{
611e5c31af7Sopenharmony_ci				int c;
612e5c31af7Sopenharmony_ci				float a;
613e5c31af7Sopenharmony_ci				int b;
614e5c31af7Sopenharmony_ci				int c = a * b;
615e5c31af7Sopenharmony_ci			}
616e5c31af7Sopenharmony_ci		""
617e5c31af7Sopenharmony_ci	end
618e5c31af7Sopenharmony_ci	case mul_float_ivec2_float
619e5c31af7Sopenharmony_ci		expect compile_fail
620e5c31af7Sopenharmony_ci
621e5c31af7Sopenharmony_ci		both ""
622e5c31af7Sopenharmony_ci			precision mediump float;
623e5c31af7Sopenharmony_ci			precision mediump int;
624e5c31af7Sopenharmony_ci
625e5c31af7Sopenharmony_ci			${DECLARATIONS}
626e5c31af7Sopenharmony_ci
627e5c31af7Sopenharmony_ci			void main()
628e5c31af7Sopenharmony_ci			{
629e5c31af7Sopenharmony_ci				float c;
630e5c31af7Sopenharmony_ci				float a;
631e5c31af7Sopenharmony_ci				ivec2 b;
632e5c31af7Sopenharmony_ci				float c = a * b;
633e5c31af7Sopenharmony_ci			}
634e5c31af7Sopenharmony_ci		""
635e5c31af7Sopenharmony_ci	end
636e5c31af7Sopenharmony_ci	case mul_float_ivec2_ivec2
637e5c31af7Sopenharmony_ci		expect compile_fail
638e5c31af7Sopenharmony_ci
639e5c31af7Sopenharmony_ci		both ""
640e5c31af7Sopenharmony_ci			precision mediump float;
641e5c31af7Sopenharmony_ci			precision mediump int;
642e5c31af7Sopenharmony_ci
643e5c31af7Sopenharmony_ci			${DECLARATIONS}
644e5c31af7Sopenharmony_ci
645e5c31af7Sopenharmony_ci			void main()
646e5c31af7Sopenharmony_ci			{
647e5c31af7Sopenharmony_ci				ivec2 c;
648e5c31af7Sopenharmony_ci				float a;
649e5c31af7Sopenharmony_ci				ivec2 b;
650e5c31af7Sopenharmony_ci				ivec2 c = a * b;
651e5c31af7Sopenharmony_ci			}
652e5c31af7Sopenharmony_ci		""
653e5c31af7Sopenharmony_ci	end
654e5c31af7Sopenharmony_ci	case mul_float_ivec3_float
655e5c31af7Sopenharmony_ci		expect compile_fail
656e5c31af7Sopenharmony_ci
657e5c31af7Sopenharmony_ci		both ""
658e5c31af7Sopenharmony_ci			precision mediump float;
659e5c31af7Sopenharmony_ci			precision mediump int;
660e5c31af7Sopenharmony_ci
661e5c31af7Sopenharmony_ci			${DECLARATIONS}
662e5c31af7Sopenharmony_ci
663e5c31af7Sopenharmony_ci			void main()
664e5c31af7Sopenharmony_ci			{
665e5c31af7Sopenharmony_ci				float c;
666e5c31af7Sopenharmony_ci				float a;
667e5c31af7Sopenharmony_ci				ivec3 b;
668e5c31af7Sopenharmony_ci				float c = a * b;
669e5c31af7Sopenharmony_ci			}
670e5c31af7Sopenharmony_ci		""
671e5c31af7Sopenharmony_ci	end
672e5c31af7Sopenharmony_ci	case mul_float_ivec3_ivec3
673e5c31af7Sopenharmony_ci		expect compile_fail
674e5c31af7Sopenharmony_ci
675e5c31af7Sopenharmony_ci		both ""
676e5c31af7Sopenharmony_ci			precision mediump float;
677e5c31af7Sopenharmony_ci			precision mediump int;
678e5c31af7Sopenharmony_ci
679e5c31af7Sopenharmony_ci			${DECLARATIONS}
680e5c31af7Sopenharmony_ci
681e5c31af7Sopenharmony_ci			void main()
682e5c31af7Sopenharmony_ci			{
683e5c31af7Sopenharmony_ci				ivec3 c;
684e5c31af7Sopenharmony_ci				float a;
685e5c31af7Sopenharmony_ci				ivec3 b;
686e5c31af7Sopenharmony_ci				ivec3 c = a * b;
687e5c31af7Sopenharmony_ci			}
688e5c31af7Sopenharmony_ci		""
689e5c31af7Sopenharmony_ci	end
690e5c31af7Sopenharmony_ci	case mul_float_ivec4_float
691e5c31af7Sopenharmony_ci		expect compile_fail
692e5c31af7Sopenharmony_ci
693e5c31af7Sopenharmony_ci		both ""
694e5c31af7Sopenharmony_ci			precision mediump float;
695e5c31af7Sopenharmony_ci			precision mediump int;
696e5c31af7Sopenharmony_ci
697e5c31af7Sopenharmony_ci			${DECLARATIONS}
698e5c31af7Sopenharmony_ci
699e5c31af7Sopenharmony_ci			void main()
700e5c31af7Sopenharmony_ci			{
701e5c31af7Sopenharmony_ci				float c;
702e5c31af7Sopenharmony_ci				float a;
703e5c31af7Sopenharmony_ci				ivec4 b;
704e5c31af7Sopenharmony_ci				float c = a * b;
705e5c31af7Sopenharmony_ci			}
706e5c31af7Sopenharmony_ci		""
707e5c31af7Sopenharmony_ci	end
708e5c31af7Sopenharmony_ci	case mul_float_ivec4_ivec4
709e5c31af7Sopenharmony_ci		expect compile_fail
710e5c31af7Sopenharmony_ci
711e5c31af7Sopenharmony_ci		both ""
712e5c31af7Sopenharmony_ci			precision mediump float;
713e5c31af7Sopenharmony_ci			precision mediump int;
714e5c31af7Sopenharmony_ci
715e5c31af7Sopenharmony_ci			${DECLARATIONS}
716e5c31af7Sopenharmony_ci
717e5c31af7Sopenharmony_ci			void main()
718e5c31af7Sopenharmony_ci			{
719e5c31af7Sopenharmony_ci				ivec4 c;
720e5c31af7Sopenharmony_ci				float a;
721e5c31af7Sopenharmony_ci				ivec4 b;
722e5c31af7Sopenharmony_ci				ivec4 c = a * b;
723e5c31af7Sopenharmony_ci			}
724e5c31af7Sopenharmony_ci		""
725e5c31af7Sopenharmony_ci	end
726e5c31af7Sopenharmony_ci	case mul_vec2_int_vec2
727e5c31af7Sopenharmony_ci		expect compile_fail
728e5c31af7Sopenharmony_ci
729e5c31af7Sopenharmony_ci		both ""
730e5c31af7Sopenharmony_ci			precision mediump float;
731e5c31af7Sopenharmony_ci			precision mediump int;
732e5c31af7Sopenharmony_ci
733e5c31af7Sopenharmony_ci			${DECLARATIONS}
734e5c31af7Sopenharmony_ci
735e5c31af7Sopenharmony_ci			void main()
736e5c31af7Sopenharmony_ci			{
737e5c31af7Sopenharmony_ci				vec2 c;
738e5c31af7Sopenharmony_ci				vec2 a;
739e5c31af7Sopenharmony_ci				int b;
740e5c31af7Sopenharmony_ci				vec2 c = a * b;
741e5c31af7Sopenharmony_ci			}
742e5c31af7Sopenharmony_ci		""
743e5c31af7Sopenharmony_ci	end
744e5c31af7Sopenharmony_ci	case mul_vec2_int_int
745e5c31af7Sopenharmony_ci		expect compile_fail
746e5c31af7Sopenharmony_ci
747e5c31af7Sopenharmony_ci		both ""
748e5c31af7Sopenharmony_ci			precision mediump float;
749e5c31af7Sopenharmony_ci			precision mediump int;
750e5c31af7Sopenharmony_ci
751e5c31af7Sopenharmony_ci			${DECLARATIONS}
752e5c31af7Sopenharmony_ci
753e5c31af7Sopenharmony_ci			void main()
754e5c31af7Sopenharmony_ci			{
755e5c31af7Sopenharmony_ci				int c;
756e5c31af7Sopenharmony_ci				vec2 a;
757e5c31af7Sopenharmony_ci				int b;
758e5c31af7Sopenharmony_ci				int c = a * b;
759e5c31af7Sopenharmony_ci			}
760e5c31af7Sopenharmony_ci		""
761e5c31af7Sopenharmony_ci	end
762e5c31af7Sopenharmony_ci	case mul_vec2_ivec2_vec2
763e5c31af7Sopenharmony_ci		expect compile_fail
764e5c31af7Sopenharmony_ci
765e5c31af7Sopenharmony_ci		both ""
766e5c31af7Sopenharmony_ci			precision mediump float;
767e5c31af7Sopenharmony_ci			precision mediump int;
768e5c31af7Sopenharmony_ci
769e5c31af7Sopenharmony_ci			${DECLARATIONS}
770e5c31af7Sopenharmony_ci
771e5c31af7Sopenharmony_ci			void main()
772e5c31af7Sopenharmony_ci			{
773e5c31af7Sopenharmony_ci				vec2 c;
774e5c31af7Sopenharmony_ci				vec2 a;
775e5c31af7Sopenharmony_ci				ivec2 b;
776e5c31af7Sopenharmony_ci				vec2 c = a * b;
777e5c31af7Sopenharmony_ci			}
778e5c31af7Sopenharmony_ci		""
779e5c31af7Sopenharmony_ci	end
780e5c31af7Sopenharmony_ci	case mul_vec2_ivec2_ivec2
781e5c31af7Sopenharmony_ci		expect compile_fail
782e5c31af7Sopenharmony_ci
783e5c31af7Sopenharmony_ci		both ""
784e5c31af7Sopenharmony_ci			precision mediump float;
785e5c31af7Sopenharmony_ci			precision mediump int;
786e5c31af7Sopenharmony_ci
787e5c31af7Sopenharmony_ci			${DECLARATIONS}
788e5c31af7Sopenharmony_ci
789e5c31af7Sopenharmony_ci			void main()
790e5c31af7Sopenharmony_ci			{
791e5c31af7Sopenharmony_ci				ivec2 c;
792e5c31af7Sopenharmony_ci				vec2 a;
793e5c31af7Sopenharmony_ci				ivec2 b;
794e5c31af7Sopenharmony_ci				ivec2 c = a * b;
795e5c31af7Sopenharmony_ci			}
796e5c31af7Sopenharmony_ci		""
797e5c31af7Sopenharmony_ci	end
798e5c31af7Sopenharmony_ci	case mul_vec2_ivec3_vec2
799e5c31af7Sopenharmony_ci		expect compile_fail
800e5c31af7Sopenharmony_ci
801e5c31af7Sopenharmony_ci		both ""
802e5c31af7Sopenharmony_ci			precision mediump float;
803e5c31af7Sopenharmony_ci			precision mediump int;
804e5c31af7Sopenharmony_ci
805e5c31af7Sopenharmony_ci			${DECLARATIONS}
806e5c31af7Sopenharmony_ci
807e5c31af7Sopenharmony_ci			void main()
808e5c31af7Sopenharmony_ci			{
809e5c31af7Sopenharmony_ci				vec2 c;
810e5c31af7Sopenharmony_ci				vec2 a;
811e5c31af7Sopenharmony_ci				ivec3 b;
812e5c31af7Sopenharmony_ci				vec2 c = a * b;
813e5c31af7Sopenharmony_ci			}
814e5c31af7Sopenharmony_ci		""
815e5c31af7Sopenharmony_ci	end
816e5c31af7Sopenharmony_ci	case mul_vec2_ivec3_ivec3
817e5c31af7Sopenharmony_ci		expect compile_fail
818e5c31af7Sopenharmony_ci
819e5c31af7Sopenharmony_ci		both ""
820e5c31af7Sopenharmony_ci			precision mediump float;
821e5c31af7Sopenharmony_ci			precision mediump int;
822e5c31af7Sopenharmony_ci
823e5c31af7Sopenharmony_ci			${DECLARATIONS}
824e5c31af7Sopenharmony_ci
825e5c31af7Sopenharmony_ci			void main()
826e5c31af7Sopenharmony_ci			{
827e5c31af7Sopenharmony_ci				ivec3 c;
828e5c31af7Sopenharmony_ci				vec2 a;
829e5c31af7Sopenharmony_ci				ivec3 b;
830e5c31af7Sopenharmony_ci				ivec3 c = a * b;
831e5c31af7Sopenharmony_ci			}
832e5c31af7Sopenharmony_ci		""
833e5c31af7Sopenharmony_ci	end
834e5c31af7Sopenharmony_ci	case mul_vec2_ivec4_vec2
835e5c31af7Sopenharmony_ci		expect compile_fail
836e5c31af7Sopenharmony_ci
837e5c31af7Sopenharmony_ci		both ""
838e5c31af7Sopenharmony_ci			precision mediump float;
839e5c31af7Sopenharmony_ci			precision mediump int;
840e5c31af7Sopenharmony_ci
841e5c31af7Sopenharmony_ci			${DECLARATIONS}
842e5c31af7Sopenharmony_ci
843e5c31af7Sopenharmony_ci			void main()
844e5c31af7Sopenharmony_ci			{
845e5c31af7Sopenharmony_ci				vec2 c;
846e5c31af7Sopenharmony_ci				vec2 a;
847e5c31af7Sopenharmony_ci				ivec4 b;
848e5c31af7Sopenharmony_ci				vec2 c = a * b;
849e5c31af7Sopenharmony_ci			}
850e5c31af7Sopenharmony_ci		""
851e5c31af7Sopenharmony_ci	end
852e5c31af7Sopenharmony_ci	case mul_vec2_ivec4_ivec4
853e5c31af7Sopenharmony_ci		expect compile_fail
854e5c31af7Sopenharmony_ci
855e5c31af7Sopenharmony_ci		both ""
856e5c31af7Sopenharmony_ci			precision mediump float;
857e5c31af7Sopenharmony_ci			precision mediump int;
858e5c31af7Sopenharmony_ci
859e5c31af7Sopenharmony_ci			${DECLARATIONS}
860e5c31af7Sopenharmony_ci
861e5c31af7Sopenharmony_ci			void main()
862e5c31af7Sopenharmony_ci			{
863e5c31af7Sopenharmony_ci				ivec4 c;
864e5c31af7Sopenharmony_ci				vec2 a;
865e5c31af7Sopenharmony_ci				ivec4 b;
866e5c31af7Sopenharmony_ci				ivec4 c = a * b;
867e5c31af7Sopenharmony_ci			}
868e5c31af7Sopenharmony_ci		""
869e5c31af7Sopenharmony_ci	end
870e5c31af7Sopenharmony_ci	case mul_vec3_int_vec3
871e5c31af7Sopenharmony_ci		expect compile_fail
872e5c31af7Sopenharmony_ci
873e5c31af7Sopenharmony_ci		both ""
874e5c31af7Sopenharmony_ci			precision mediump float;
875e5c31af7Sopenharmony_ci			precision mediump int;
876e5c31af7Sopenharmony_ci
877e5c31af7Sopenharmony_ci			${DECLARATIONS}
878e5c31af7Sopenharmony_ci
879e5c31af7Sopenharmony_ci			void main()
880e5c31af7Sopenharmony_ci			{
881e5c31af7Sopenharmony_ci				vec3 c;
882e5c31af7Sopenharmony_ci				vec3 a;
883e5c31af7Sopenharmony_ci				int b;
884e5c31af7Sopenharmony_ci				vec3 c = a * b;
885e5c31af7Sopenharmony_ci			}
886e5c31af7Sopenharmony_ci		""
887e5c31af7Sopenharmony_ci	end
888e5c31af7Sopenharmony_ci	case mul_vec3_int_int
889e5c31af7Sopenharmony_ci		expect compile_fail
890e5c31af7Sopenharmony_ci
891e5c31af7Sopenharmony_ci		both ""
892e5c31af7Sopenharmony_ci			precision mediump float;
893e5c31af7Sopenharmony_ci			precision mediump int;
894e5c31af7Sopenharmony_ci
895e5c31af7Sopenharmony_ci			${DECLARATIONS}
896e5c31af7Sopenharmony_ci
897e5c31af7Sopenharmony_ci			void main()
898e5c31af7Sopenharmony_ci			{
899e5c31af7Sopenharmony_ci				int c;
900e5c31af7Sopenharmony_ci				vec3 a;
901e5c31af7Sopenharmony_ci				int b;
902e5c31af7Sopenharmony_ci				int c = a * b;
903e5c31af7Sopenharmony_ci			}
904e5c31af7Sopenharmony_ci		""
905e5c31af7Sopenharmony_ci	end
906e5c31af7Sopenharmony_ci	case mul_vec3_ivec2_vec3
907e5c31af7Sopenharmony_ci		expect compile_fail
908e5c31af7Sopenharmony_ci
909e5c31af7Sopenharmony_ci		both ""
910e5c31af7Sopenharmony_ci			precision mediump float;
911e5c31af7Sopenharmony_ci			precision mediump int;
912e5c31af7Sopenharmony_ci
913e5c31af7Sopenharmony_ci			${DECLARATIONS}
914e5c31af7Sopenharmony_ci
915e5c31af7Sopenharmony_ci			void main()
916e5c31af7Sopenharmony_ci			{
917e5c31af7Sopenharmony_ci				vec3 c;
918e5c31af7Sopenharmony_ci				vec3 a;
919e5c31af7Sopenharmony_ci				ivec2 b;
920e5c31af7Sopenharmony_ci				vec3 c = a * b;
921e5c31af7Sopenharmony_ci			}
922e5c31af7Sopenharmony_ci		""
923e5c31af7Sopenharmony_ci	end
924e5c31af7Sopenharmony_ci	case mul_vec3_ivec2_ivec2
925e5c31af7Sopenharmony_ci		expect compile_fail
926e5c31af7Sopenharmony_ci
927e5c31af7Sopenharmony_ci		both ""
928e5c31af7Sopenharmony_ci			precision mediump float;
929e5c31af7Sopenharmony_ci			precision mediump int;
930e5c31af7Sopenharmony_ci
931e5c31af7Sopenharmony_ci			${DECLARATIONS}
932e5c31af7Sopenharmony_ci
933e5c31af7Sopenharmony_ci			void main()
934e5c31af7Sopenharmony_ci			{
935e5c31af7Sopenharmony_ci				ivec2 c;
936e5c31af7Sopenharmony_ci				vec3 a;
937e5c31af7Sopenharmony_ci				ivec2 b;
938e5c31af7Sopenharmony_ci				ivec2 c = a * b;
939e5c31af7Sopenharmony_ci			}
940e5c31af7Sopenharmony_ci		""
941e5c31af7Sopenharmony_ci	end
942e5c31af7Sopenharmony_ci	case mul_vec3_ivec3_vec3
943e5c31af7Sopenharmony_ci		expect compile_fail
944e5c31af7Sopenharmony_ci
945e5c31af7Sopenharmony_ci		both ""
946e5c31af7Sopenharmony_ci			precision mediump float;
947e5c31af7Sopenharmony_ci			precision mediump int;
948e5c31af7Sopenharmony_ci
949e5c31af7Sopenharmony_ci			${DECLARATIONS}
950e5c31af7Sopenharmony_ci
951e5c31af7Sopenharmony_ci			void main()
952e5c31af7Sopenharmony_ci			{
953e5c31af7Sopenharmony_ci				vec3 c;
954e5c31af7Sopenharmony_ci				vec3 a;
955e5c31af7Sopenharmony_ci				ivec3 b;
956e5c31af7Sopenharmony_ci				vec3 c = a * b;
957e5c31af7Sopenharmony_ci			}
958e5c31af7Sopenharmony_ci		""
959e5c31af7Sopenharmony_ci	end
960e5c31af7Sopenharmony_ci	case mul_vec3_ivec3_ivec3
961e5c31af7Sopenharmony_ci		expect compile_fail
962e5c31af7Sopenharmony_ci
963e5c31af7Sopenharmony_ci		both ""
964e5c31af7Sopenharmony_ci			precision mediump float;
965e5c31af7Sopenharmony_ci			precision mediump int;
966e5c31af7Sopenharmony_ci
967e5c31af7Sopenharmony_ci			${DECLARATIONS}
968e5c31af7Sopenharmony_ci
969e5c31af7Sopenharmony_ci			void main()
970e5c31af7Sopenharmony_ci			{
971e5c31af7Sopenharmony_ci				ivec3 c;
972e5c31af7Sopenharmony_ci				vec3 a;
973e5c31af7Sopenharmony_ci				ivec3 b;
974e5c31af7Sopenharmony_ci				ivec3 c = a * b;
975e5c31af7Sopenharmony_ci			}
976e5c31af7Sopenharmony_ci		""
977e5c31af7Sopenharmony_ci	end
978e5c31af7Sopenharmony_ci	case mul_vec3_ivec4_vec3
979e5c31af7Sopenharmony_ci		expect compile_fail
980e5c31af7Sopenharmony_ci
981e5c31af7Sopenharmony_ci		both ""
982e5c31af7Sopenharmony_ci			precision mediump float;
983e5c31af7Sopenharmony_ci			precision mediump int;
984e5c31af7Sopenharmony_ci
985e5c31af7Sopenharmony_ci			${DECLARATIONS}
986e5c31af7Sopenharmony_ci
987e5c31af7Sopenharmony_ci			void main()
988e5c31af7Sopenharmony_ci			{
989e5c31af7Sopenharmony_ci				vec3 c;
990e5c31af7Sopenharmony_ci				vec3 a;
991e5c31af7Sopenharmony_ci				ivec4 b;
992e5c31af7Sopenharmony_ci				vec3 c = a * b;
993e5c31af7Sopenharmony_ci			}
994e5c31af7Sopenharmony_ci		""
995e5c31af7Sopenharmony_ci	end
996e5c31af7Sopenharmony_ci	case mul_vec3_ivec4_ivec4
997e5c31af7Sopenharmony_ci		expect compile_fail
998e5c31af7Sopenharmony_ci
999e5c31af7Sopenharmony_ci		both ""
1000e5c31af7Sopenharmony_ci			precision mediump float;
1001e5c31af7Sopenharmony_ci			precision mediump int;
1002e5c31af7Sopenharmony_ci
1003e5c31af7Sopenharmony_ci			${DECLARATIONS}
1004e5c31af7Sopenharmony_ci
1005e5c31af7Sopenharmony_ci			void main()
1006e5c31af7Sopenharmony_ci			{
1007e5c31af7Sopenharmony_ci				ivec4 c;
1008e5c31af7Sopenharmony_ci				vec3 a;
1009e5c31af7Sopenharmony_ci				ivec4 b;
1010e5c31af7Sopenharmony_ci				ivec4 c = a * b;
1011e5c31af7Sopenharmony_ci			}
1012e5c31af7Sopenharmony_ci		""
1013e5c31af7Sopenharmony_ci	end
1014e5c31af7Sopenharmony_ci	case mul_vec4_int_vec4
1015e5c31af7Sopenharmony_ci		expect compile_fail
1016e5c31af7Sopenharmony_ci
1017e5c31af7Sopenharmony_ci		both ""
1018e5c31af7Sopenharmony_ci			precision mediump float;
1019e5c31af7Sopenharmony_ci			precision mediump int;
1020e5c31af7Sopenharmony_ci
1021e5c31af7Sopenharmony_ci			${DECLARATIONS}
1022e5c31af7Sopenharmony_ci
1023e5c31af7Sopenharmony_ci			void main()
1024e5c31af7Sopenharmony_ci			{
1025e5c31af7Sopenharmony_ci				vec4 c;
1026e5c31af7Sopenharmony_ci				vec4 a;
1027e5c31af7Sopenharmony_ci				int b;
1028e5c31af7Sopenharmony_ci				vec4 c = a * b;
1029e5c31af7Sopenharmony_ci			}
1030e5c31af7Sopenharmony_ci		""
1031e5c31af7Sopenharmony_ci	end
1032e5c31af7Sopenharmony_ci	case mul_vec4_int_int
1033e5c31af7Sopenharmony_ci		expect compile_fail
1034e5c31af7Sopenharmony_ci
1035e5c31af7Sopenharmony_ci		both ""
1036e5c31af7Sopenharmony_ci			precision mediump float;
1037e5c31af7Sopenharmony_ci			precision mediump int;
1038e5c31af7Sopenharmony_ci
1039e5c31af7Sopenharmony_ci			${DECLARATIONS}
1040e5c31af7Sopenharmony_ci
1041e5c31af7Sopenharmony_ci			void main()
1042e5c31af7Sopenharmony_ci			{
1043e5c31af7Sopenharmony_ci				int c;
1044e5c31af7Sopenharmony_ci				vec4 a;
1045e5c31af7Sopenharmony_ci				int b;
1046e5c31af7Sopenharmony_ci				int c = a * b;
1047e5c31af7Sopenharmony_ci			}
1048e5c31af7Sopenharmony_ci		""
1049e5c31af7Sopenharmony_ci	end
1050e5c31af7Sopenharmony_ci	case mul_vec4_ivec2_vec4
1051e5c31af7Sopenharmony_ci		expect compile_fail
1052e5c31af7Sopenharmony_ci
1053e5c31af7Sopenharmony_ci		both ""
1054e5c31af7Sopenharmony_ci			precision mediump float;
1055e5c31af7Sopenharmony_ci			precision mediump int;
1056e5c31af7Sopenharmony_ci
1057e5c31af7Sopenharmony_ci			${DECLARATIONS}
1058e5c31af7Sopenharmony_ci
1059e5c31af7Sopenharmony_ci			void main()
1060e5c31af7Sopenharmony_ci			{
1061e5c31af7Sopenharmony_ci				vec4 c;
1062e5c31af7Sopenharmony_ci				vec4 a;
1063e5c31af7Sopenharmony_ci				ivec2 b;
1064e5c31af7Sopenharmony_ci				vec4 c = a * b;
1065e5c31af7Sopenharmony_ci			}
1066e5c31af7Sopenharmony_ci		""
1067e5c31af7Sopenharmony_ci	end
1068e5c31af7Sopenharmony_ci	case mul_vec4_ivec2_ivec2
1069e5c31af7Sopenharmony_ci		expect compile_fail
1070e5c31af7Sopenharmony_ci
1071e5c31af7Sopenharmony_ci		both ""
1072e5c31af7Sopenharmony_ci			precision mediump float;
1073e5c31af7Sopenharmony_ci			precision mediump int;
1074e5c31af7Sopenharmony_ci
1075e5c31af7Sopenharmony_ci			${DECLARATIONS}
1076e5c31af7Sopenharmony_ci
1077e5c31af7Sopenharmony_ci			void main()
1078e5c31af7Sopenharmony_ci			{
1079e5c31af7Sopenharmony_ci				ivec2 c;
1080e5c31af7Sopenharmony_ci				vec4 a;
1081e5c31af7Sopenharmony_ci				ivec2 b;
1082e5c31af7Sopenharmony_ci				ivec2 c = a * b;
1083e5c31af7Sopenharmony_ci			}
1084e5c31af7Sopenharmony_ci		""
1085e5c31af7Sopenharmony_ci	end
1086e5c31af7Sopenharmony_ci	case mul_vec4_ivec3_vec4
1087e5c31af7Sopenharmony_ci		expect compile_fail
1088e5c31af7Sopenharmony_ci
1089e5c31af7Sopenharmony_ci		both ""
1090e5c31af7Sopenharmony_ci			precision mediump float;
1091e5c31af7Sopenharmony_ci			precision mediump int;
1092e5c31af7Sopenharmony_ci
1093e5c31af7Sopenharmony_ci			${DECLARATIONS}
1094e5c31af7Sopenharmony_ci
1095e5c31af7Sopenharmony_ci			void main()
1096e5c31af7Sopenharmony_ci			{
1097e5c31af7Sopenharmony_ci				vec4 c;
1098e5c31af7Sopenharmony_ci				vec4 a;
1099e5c31af7Sopenharmony_ci				ivec3 b;
1100e5c31af7Sopenharmony_ci				vec4 c = a * b;
1101e5c31af7Sopenharmony_ci			}
1102e5c31af7Sopenharmony_ci		""
1103e5c31af7Sopenharmony_ci	end
1104e5c31af7Sopenharmony_ci	case mul_vec4_ivec3_ivec3
1105e5c31af7Sopenharmony_ci		expect compile_fail
1106e5c31af7Sopenharmony_ci
1107e5c31af7Sopenharmony_ci		both ""
1108e5c31af7Sopenharmony_ci			precision mediump float;
1109e5c31af7Sopenharmony_ci			precision mediump int;
1110e5c31af7Sopenharmony_ci
1111e5c31af7Sopenharmony_ci			${DECLARATIONS}
1112e5c31af7Sopenharmony_ci
1113e5c31af7Sopenharmony_ci			void main()
1114e5c31af7Sopenharmony_ci			{
1115e5c31af7Sopenharmony_ci				ivec3 c;
1116e5c31af7Sopenharmony_ci				vec4 a;
1117e5c31af7Sopenharmony_ci				ivec3 b;
1118e5c31af7Sopenharmony_ci				ivec3 c = a * b;
1119e5c31af7Sopenharmony_ci			}
1120e5c31af7Sopenharmony_ci		""
1121e5c31af7Sopenharmony_ci	end
1122e5c31af7Sopenharmony_ci	case mul_vec4_ivec4_vec4
1123e5c31af7Sopenharmony_ci		expect compile_fail
1124e5c31af7Sopenharmony_ci
1125e5c31af7Sopenharmony_ci		both ""
1126e5c31af7Sopenharmony_ci			precision mediump float;
1127e5c31af7Sopenharmony_ci			precision mediump int;
1128e5c31af7Sopenharmony_ci
1129e5c31af7Sopenharmony_ci			${DECLARATIONS}
1130e5c31af7Sopenharmony_ci
1131e5c31af7Sopenharmony_ci			void main()
1132e5c31af7Sopenharmony_ci			{
1133e5c31af7Sopenharmony_ci				vec4 c;
1134e5c31af7Sopenharmony_ci				vec4 a;
1135e5c31af7Sopenharmony_ci				ivec4 b;
1136e5c31af7Sopenharmony_ci				vec4 c = a * b;
1137e5c31af7Sopenharmony_ci			}
1138e5c31af7Sopenharmony_ci		""
1139e5c31af7Sopenharmony_ci	end
1140e5c31af7Sopenharmony_ci	case mul_vec4_ivec4_ivec4
1141e5c31af7Sopenharmony_ci		expect compile_fail
1142e5c31af7Sopenharmony_ci
1143e5c31af7Sopenharmony_ci		both ""
1144e5c31af7Sopenharmony_ci			precision mediump float;
1145e5c31af7Sopenharmony_ci			precision mediump int;
1146e5c31af7Sopenharmony_ci
1147e5c31af7Sopenharmony_ci			${DECLARATIONS}
1148e5c31af7Sopenharmony_ci
1149e5c31af7Sopenharmony_ci			void main()
1150e5c31af7Sopenharmony_ci			{
1151e5c31af7Sopenharmony_ci				ivec4 c;
1152e5c31af7Sopenharmony_ci				vec4 a;
1153e5c31af7Sopenharmony_ci				ivec4 b;
1154e5c31af7Sopenharmony_ci				ivec4 c = a * b;
1155e5c31af7Sopenharmony_ci			}
1156e5c31af7Sopenharmony_ci		""
1157e5c31af7Sopenharmony_ci	end
1158e5c31af7Sopenharmony_ci	case sub_float_int_float
1159e5c31af7Sopenharmony_ci		expect compile_fail
1160e5c31af7Sopenharmony_ci
1161e5c31af7Sopenharmony_ci		both ""
1162e5c31af7Sopenharmony_ci			precision mediump float;
1163e5c31af7Sopenharmony_ci			precision mediump int;
1164e5c31af7Sopenharmony_ci
1165e5c31af7Sopenharmony_ci			${DECLARATIONS}
1166e5c31af7Sopenharmony_ci
1167e5c31af7Sopenharmony_ci			void main()
1168e5c31af7Sopenharmony_ci			{
1169e5c31af7Sopenharmony_ci				float c;
1170e5c31af7Sopenharmony_ci				float a;
1171e5c31af7Sopenharmony_ci				int b;
1172e5c31af7Sopenharmony_ci				float c = a - b;
1173e5c31af7Sopenharmony_ci			}
1174e5c31af7Sopenharmony_ci		""
1175e5c31af7Sopenharmony_ci	end
1176e5c31af7Sopenharmony_ci	case sub_float_int_int
1177e5c31af7Sopenharmony_ci		expect compile_fail
1178e5c31af7Sopenharmony_ci
1179e5c31af7Sopenharmony_ci		both ""
1180e5c31af7Sopenharmony_ci			precision mediump float;
1181e5c31af7Sopenharmony_ci			precision mediump int;
1182e5c31af7Sopenharmony_ci
1183e5c31af7Sopenharmony_ci			${DECLARATIONS}
1184e5c31af7Sopenharmony_ci
1185e5c31af7Sopenharmony_ci			void main()
1186e5c31af7Sopenharmony_ci			{
1187e5c31af7Sopenharmony_ci				int c;
1188e5c31af7Sopenharmony_ci				float a;
1189e5c31af7Sopenharmony_ci				int b;
1190e5c31af7Sopenharmony_ci				int c = a - b;
1191e5c31af7Sopenharmony_ci			}
1192e5c31af7Sopenharmony_ci		""
1193e5c31af7Sopenharmony_ci	end
1194e5c31af7Sopenharmony_ci	case sub_float_ivec2_float
1195e5c31af7Sopenharmony_ci		expect compile_fail
1196e5c31af7Sopenharmony_ci
1197e5c31af7Sopenharmony_ci		both ""
1198e5c31af7Sopenharmony_ci			precision mediump float;
1199e5c31af7Sopenharmony_ci			precision mediump int;
1200e5c31af7Sopenharmony_ci
1201e5c31af7Sopenharmony_ci			${DECLARATIONS}
1202e5c31af7Sopenharmony_ci
1203e5c31af7Sopenharmony_ci			void main()
1204e5c31af7Sopenharmony_ci			{
1205e5c31af7Sopenharmony_ci				float c;
1206e5c31af7Sopenharmony_ci				float a;
1207e5c31af7Sopenharmony_ci				ivec2 b;
1208e5c31af7Sopenharmony_ci				float c = a - b;
1209e5c31af7Sopenharmony_ci			}
1210e5c31af7Sopenharmony_ci		""
1211e5c31af7Sopenharmony_ci	end
1212e5c31af7Sopenharmony_ci	case sub_float_ivec2_ivec2
1213e5c31af7Sopenharmony_ci		expect compile_fail
1214e5c31af7Sopenharmony_ci
1215e5c31af7Sopenharmony_ci		both ""
1216e5c31af7Sopenharmony_ci			precision mediump float;
1217e5c31af7Sopenharmony_ci			precision mediump int;
1218e5c31af7Sopenharmony_ci
1219e5c31af7Sopenharmony_ci			${DECLARATIONS}
1220e5c31af7Sopenharmony_ci
1221e5c31af7Sopenharmony_ci			void main()
1222e5c31af7Sopenharmony_ci			{
1223e5c31af7Sopenharmony_ci				ivec2 c;
1224e5c31af7Sopenharmony_ci				float a;
1225e5c31af7Sopenharmony_ci				ivec2 b;
1226e5c31af7Sopenharmony_ci				ivec2 c = a - b;
1227e5c31af7Sopenharmony_ci			}
1228e5c31af7Sopenharmony_ci		""
1229e5c31af7Sopenharmony_ci	end
1230e5c31af7Sopenharmony_ci	case sub_float_ivec3_float
1231e5c31af7Sopenharmony_ci		expect compile_fail
1232e5c31af7Sopenharmony_ci
1233e5c31af7Sopenharmony_ci		both ""
1234e5c31af7Sopenharmony_ci			precision mediump float;
1235e5c31af7Sopenharmony_ci			precision mediump int;
1236e5c31af7Sopenharmony_ci
1237e5c31af7Sopenharmony_ci			${DECLARATIONS}
1238e5c31af7Sopenharmony_ci
1239e5c31af7Sopenharmony_ci			void main()
1240e5c31af7Sopenharmony_ci			{
1241e5c31af7Sopenharmony_ci				float c;
1242e5c31af7Sopenharmony_ci				float a;
1243e5c31af7Sopenharmony_ci				ivec3 b;
1244e5c31af7Sopenharmony_ci				float c = a - b;
1245e5c31af7Sopenharmony_ci			}
1246e5c31af7Sopenharmony_ci		""
1247e5c31af7Sopenharmony_ci	end
1248e5c31af7Sopenharmony_ci	case sub_float_ivec3_ivec3
1249e5c31af7Sopenharmony_ci		expect compile_fail
1250e5c31af7Sopenharmony_ci
1251e5c31af7Sopenharmony_ci		both ""
1252e5c31af7Sopenharmony_ci			precision mediump float;
1253e5c31af7Sopenharmony_ci			precision mediump int;
1254e5c31af7Sopenharmony_ci
1255e5c31af7Sopenharmony_ci			${DECLARATIONS}
1256e5c31af7Sopenharmony_ci
1257e5c31af7Sopenharmony_ci			void main()
1258e5c31af7Sopenharmony_ci			{
1259e5c31af7Sopenharmony_ci				ivec3 c;
1260e5c31af7Sopenharmony_ci				float a;
1261e5c31af7Sopenharmony_ci				ivec3 b;
1262e5c31af7Sopenharmony_ci				ivec3 c = a - b;
1263e5c31af7Sopenharmony_ci			}
1264e5c31af7Sopenharmony_ci		""
1265e5c31af7Sopenharmony_ci	end
1266e5c31af7Sopenharmony_ci	case sub_float_ivec4_float
1267e5c31af7Sopenharmony_ci		expect compile_fail
1268e5c31af7Sopenharmony_ci
1269e5c31af7Sopenharmony_ci		both ""
1270e5c31af7Sopenharmony_ci			precision mediump float;
1271e5c31af7Sopenharmony_ci			precision mediump int;
1272e5c31af7Sopenharmony_ci
1273e5c31af7Sopenharmony_ci			${DECLARATIONS}
1274e5c31af7Sopenharmony_ci
1275e5c31af7Sopenharmony_ci			void main()
1276e5c31af7Sopenharmony_ci			{
1277e5c31af7Sopenharmony_ci				float c;
1278e5c31af7Sopenharmony_ci				float a;
1279e5c31af7Sopenharmony_ci				ivec4 b;
1280e5c31af7Sopenharmony_ci				float c = a - b;
1281e5c31af7Sopenharmony_ci			}
1282e5c31af7Sopenharmony_ci		""
1283e5c31af7Sopenharmony_ci	end
1284e5c31af7Sopenharmony_ci	case sub_float_ivec4_ivec4
1285e5c31af7Sopenharmony_ci		expect compile_fail
1286e5c31af7Sopenharmony_ci
1287e5c31af7Sopenharmony_ci		both ""
1288e5c31af7Sopenharmony_ci			precision mediump float;
1289e5c31af7Sopenharmony_ci			precision mediump int;
1290e5c31af7Sopenharmony_ci
1291e5c31af7Sopenharmony_ci			${DECLARATIONS}
1292e5c31af7Sopenharmony_ci
1293e5c31af7Sopenharmony_ci			void main()
1294e5c31af7Sopenharmony_ci			{
1295e5c31af7Sopenharmony_ci				ivec4 c;
1296e5c31af7Sopenharmony_ci				float a;
1297e5c31af7Sopenharmony_ci				ivec4 b;
1298e5c31af7Sopenharmony_ci				ivec4 c = a - b;
1299e5c31af7Sopenharmony_ci			}
1300e5c31af7Sopenharmony_ci		""
1301e5c31af7Sopenharmony_ci	end
1302e5c31af7Sopenharmony_ci	case sub_vec2_int_vec2
1303e5c31af7Sopenharmony_ci		expect compile_fail
1304e5c31af7Sopenharmony_ci
1305e5c31af7Sopenharmony_ci		both ""
1306e5c31af7Sopenharmony_ci			precision mediump float;
1307e5c31af7Sopenharmony_ci			precision mediump int;
1308e5c31af7Sopenharmony_ci
1309e5c31af7Sopenharmony_ci			${DECLARATIONS}
1310e5c31af7Sopenharmony_ci
1311e5c31af7Sopenharmony_ci			void main()
1312e5c31af7Sopenharmony_ci			{
1313e5c31af7Sopenharmony_ci				vec2 c;
1314e5c31af7Sopenharmony_ci				vec2 a;
1315e5c31af7Sopenharmony_ci				int b;
1316e5c31af7Sopenharmony_ci				vec2 c = a - b;
1317e5c31af7Sopenharmony_ci			}
1318e5c31af7Sopenharmony_ci		""
1319e5c31af7Sopenharmony_ci	end
1320e5c31af7Sopenharmony_ci	case sub_vec2_int_int
1321e5c31af7Sopenharmony_ci		expect compile_fail
1322e5c31af7Sopenharmony_ci
1323e5c31af7Sopenharmony_ci		both ""
1324e5c31af7Sopenharmony_ci			precision mediump float;
1325e5c31af7Sopenharmony_ci			precision mediump int;
1326e5c31af7Sopenharmony_ci
1327e5c31af7Sopenharmony_ci			${DECLARATIONS}
1328e5c31af7Sopenharmony_ci
1329e5c31af7Sopenharmony_ci			void main()
1330e5c31af7Sopenharmony_ci			{
1331e5c31af7Sopenharmony_ci				int c;
1332e5c31af7Sopenharmony_ci				vec2 a;
1333e5c31af7Sopenharmony_ci				int b;
1334e5c31af7Sopenharmony_ci				int c = a - b;
1335e5c31af7Sopenharmony_ci			}
1336e5c31af7Sopenharmony_ci		""
1337e5c31af7Sopenharmony_ci	end
1338e5c31af7Sopenharmony_ci	case sub_vec2_ivec2_vec2
1339e5c31af7Sopenharmony_ci		expect compile_fail
1340e5c31af7Sopenharmony_ci
1341e5c31af7Sopenharmony_ci		both ""
1342e5c31af7Sopenharmony_ci			precision mediump float;
1343e5c31af7Sopenharmony_ci			precision mediump int;
1344e5c31af7Sopenharmony_ci
1345e5c31af7Sopenharmony_ci			${DECLARATIONS}
1346e5c31af7Sopenharmony_ci
1347e5c31af7Sopenharmony_ci			void main()
1348e5c31af7Sopenharmony_ci			{
1349e5c31af7Sopenharmony_ci				vec2 c;
1350e5c31af7Sopenharmony_ci				vec2 a;
1351e5c31af7Sopenharmony_ci				ivec2 b;
1352e5c31af7Sopenharmony_ci				vec2 c = a - b;
1353e5c31af7Sopenharmony_ci			}
1354e5c31af7Sopenharmony_ci		""
1355e5c31af7Sopenharmony_ci	end
1356e5c31af7Sopenharmony_ci	case sub_vec2_ivec2_ivec2
1357e5c31af7Sopenharmony_ci		expect compile_fail
1358e5c31af7Sopenharmony_ci
1359e5c31af7Sopenharmony_ci		both ""
1360e5c31af7Sopenharmony_ci			precision mediump float;
1361e5c31af7Sopenharmony_ci			precision mediump int;
1362e5c31af7Sopenharmony_ci
1363e5c31af7Sopenharmony_ci			${DECLARATIONS}
1364e5c31af7Sopenharmony_ci
1365e5c31af7Sopenharmony_ci			void main()
1366e5c31af7Sopenharmony_ci			{
1367e5c31af7Sopenharmony_ci				ivec2 c;
1368e5c31af7Sopenharmony_ci				vec2 a;
1369e5c31af7Sopenharmony_ci				ivec2 b;
1370e5c31af7Sopenharmony_ci				ivec2 c = a - b;
1371e5c31af7Sopenharmony_ci			}
1372e5c31af7Sopenharmony_ci		""
1373e5c31af7Sopenharmony_ci	end
1374e5c31af7Sopenharmony_ci	case sub_vec2_ivec3_vec2
1375e5c31af7Sopenharmony_ci		expect compile_fail
1376e5c31af7Sopenharmony_ci
1377e5c31af7Sopenharmony_ci		both ""
1378e5c31af7Sopenharmony_ci			precision mediump float;
1379e5c31af7Sopenharmony_ci			precision mediump int;
1380e5c31af7Sopenharmony_ci
1381e5c31af7Sopenharmony_ci			${DECLARATIONS}
1382e5c31af7Sopenharmony_ci
1383e5c31af7Sopenharmony_ci			void main()
1384e5c31af7Sopenharmony_ci			{
1385e5c31af7Sopenharmony_ci				vec2 c;
1386e5c31af7Sopenharmony_ci				vec2 a;
1387e5c31af7Sopenharmony_ci				ivec3 b;
1388e5c31af7Sopenharmony_ci				vec2 c = a - b;
1389e5c31af7Sopenharmony_ci			}
1390e5c31af7Sopenharmony_ci		""
1391e5c31af7Sopenharmony_ci	end
1392e5c31af7Sopenharmony_ci	case sub_vec2_ivec3_ivec3
1393e5c31af7Sopenharmony_ci		expect compile_fail
1394e5c31af7Sopenharmony_ci
1395e5c31af7Sopenharmony_ci		both ""
1396e5c31af7Sopenharmony_ci			precision mediump float;
1397e5c31af7Sopenharmony_ci			precision mediump int;
1398e5c31af7Sopenharmony_ci
1399e5c31af7Sopenharmony_ci			${DECLARATIONS}
1400e5c31af7Sopenharmony_ci
1401e5c31af7Sopenharmony_ci			void main()
1402e5c31af7Sopenharmony_ci			{
1403e5c31af7Sopenharmony_ci				ivec3 c;
1404e5c31af7Sopenharmony_ci				vec2 a;
1405e5c31af7Sopenharmony_ci				ivec3 b;
1406e5c31af7Sopenharmony_ci				ivec3 c = a - b;
1407e5c31af7Sopenharmony_ci			}
1408e5c31af7Sopenharmony_ci		""
1409e5c31af7Sopenharmony_ci	end
1410e5c31af7Sopenharmony_ci	case sub_vec2_ivec4_vec2
1411e5c31af7Sopenharmony_ci		expect compile_fail
1412e5c31af7Sopenharmony_ci
1413e5c31af7Sopenharmony_ci		both ""
1414e5c31af7Sopenharmony_ci			precision mediump float;
1415e5c31af7Sopenharmony_ci			precision mediump int;
1416e5c31af7Sopenharmony_ci
1417e5c31af7Sopenharmony_ci			${DECLARATIONS}
1418e5c31af7Sopenharmony_ci
1419e5c31af7Sopenharmony_ci			void main()
1420e5c31af7Sopenharmony_ci			{
1421e5c31af7Sopenharmony_ci				vec2 c;
1422e5c31af7Sopenharmony_ci				vec2 a;
1423e5c31af7Sopenharmony_ci				ivec4 b;
1424e5c31af7Sopenharmony_ci				vec2 c = a - b;
1425e5c31af7Sopenharmony_ci			}
1426e5c31af7Sopenharmony_ci		""
1427e5c31af7Sopenharmony_ci	end
1428e5c31af7Sopenharmony_ci	case sub_vec2_ivec4_ivec4
1429e5c31af7Sopenharmony_ci		expect compile_fail
1430e5c31af7Sopenharmony_ci
1431e5c31af7Sopenharmony_ci		both ""
1432e5c31af7Sopenharmony_ci			precision mediump float;
1433e5c31af7Sopenharmony_ci			precision mediump int;
1434e5c31af7Sopenharmony_ci
1435e5c31af7Sopenharmony_ci			${DECLARATIONS}
1436e5c31af7Sopenharmony_ci
1437e5c31af7Sopenharmony_ci			void main()
1438e5c31af7Sopenharmony_ci			{
1439e5c31af7Sopenharmony_ci				ivec4 c;
1440e5c31af7Sopenharmony_ci				vec2 a;
1441e5c31af7Sopenharmony_ci				ivec4 b;
1442e5c31af7Sopenharmony_ci				ivec4 c = a - b;
1443e5c31af7Sopenharmony_ci			}
1444e5c31af7Sopenharmony_ci		""
1445e5c31af7Sopenharmony_ci	end
1446e5c31af7Sopenharmony_ci	case sub_vec3_int_vec3
1447e5c31af7Sopenharmony_ci		expect compile_fail
1448e5c31af7Sopenharmony_ci
1449e5c31af7Sopenharmony_ci		both ""
1450e5c31af7Sopenharmony_ci			precision mediump float;
1451e5c31af7Sopenharmony_ci			precision mediump int;
1452e5c31af7Sopenharmony_ci
1453e5c31af7Sopenharmony_ci			${DECLARATIONS}
1454e5c31af7Sopenharmony_ci
1455e5c31af7Sopenharmony_ci			void main()
1456e5c31af7Sopenharmony_ci			{
1457e5c31af7Sopenharmony_ci				vec3 c;
1458e5c31af7Sopenharmony_ci				vec3 a;
1459e5c31af7Sopenharmony_ci				int b;
1460e5c31af7Sopenharmony_ci				vec3 c = a - b;
1461e5c31af7Sopenharmony_ci			}
1462e5c31af7Sopenharmony_ci		""
1463e5c31af7Sopenharmony_ci	end
1464e5c31af7Sopenharmony_ci	case sub_vec3_int_int
1465e5c31af7Sopenharmony_ci		expect compile_fail
1466e5c31af7Sopenharmony_ci
1467e5c31af7Sopenharmony_ci		both ""
1468e5c31af7Sopenharmony_ci			precision mediump float;
1469e5c31af7Sopenharmony_ci			precision mediump int;
1470e5c31af7Sopenharmony_ci
1471e5c31af7Sopenharmony_ci			${DECLARATIONS}
1472e5c31af7Sopenharmony_ci
1473e5c31af7Sopenharmony_ci			void main()
1474e5c31af7Sopenharmony_ci			{
1475e5c31af7Sopenharmony_ci				int c;
1476e5c31af7Sopenharmony_ci				vec3 a;
1477e5c31af7Sopenharmony_ci				int b;
1478e5c31af7Sopenharmony_ci				int c = a - b;
1479e5c31af7Sopenharmony_ci			}
1480e5c31af7Sopenharmony_ci		""
1481e5c31af7Sopenharmony_ci	end
1482e5c31af7Sopenharmony_ci	case sub_vec3_ivec2_vec3
1483e5c31af7Sopenharmony_ci		expect compile_fail
1484e5c31af7Sopenharmony_ci
1485e5c31af7Sopenharmony_ci		both ""
1486e5c31af7Sopenharmony_ci			precision mediump float;
1487e5c31af7Sopenharmony_ci			precision mediump int;
1488e5c31af7Sopenharmony_ci
1489e5c31af7Sopenharmony_ci			${DECLARATIONS}
1490e5c31af7Sopenharmony_ci
1491e5c31af7Sopenharmony_ci			void main()
1492e5c31af7Sopenharmony_ci			{
1493e5c31af7Sopenharmony_ci				vec3 c;
1494e5c31af7Sopenharmony_ci				vec3 a;
1495e5c31af7Sopenharmony_ci				ivec2 b;
1496e5c31af7Sopenharmony_ci				vec3 c = a - b;
1497e5c31af7Sopenharmony_ci			}
1498e5c31af7Sopenharmony_ci		""
1499e5c31af7Sopenharmony_ci	end
1500e5c31af7Sopenharmony_ci	case sub_vec3_ivec2_ivec2
1501e5c31af7Sopenharmony_ci		expect compile_fail
1502e5c31af7Sopenharmony_ci
1503e5c31af7Sopenharmony_ci		both ""
1504e5c31af7Sopenharmony_ci			precision mediump float;
1505e5c31af7Sopenharmony_ci			precision mediump int;
1506e5c31af7Sopenharmony_ci
1507e5c31af7Sopenharmony_ci			${DECLARATIONS}
1508e5c31af7Sopenharmony_ci
1509e5c31af7Sopenharmony_ci			void main()
1510e5c31af7Sopenharmony_ci			{
1511e5c31af7Sopenharmony_ci				ivec2 c;
1512e5c31af7Sopenharmony_ci				vec3 a;
1513e5c31af7Sopenharmony_ci				ivec2 b;
1514e5c31af7Sopenharmony_ci				ivec2 c = a - b;
1515e5c31af7Sopenharmony_ci			}
1516e5c31af7Sopenharmony_ci		""
1517e5c31af7Sopenharmony_ci	end
1518e5c31af7Sopenharmony_ci	case sub_vec3_ivec3_vec3
1519e5c31af7Sopenharmony_ci		expect compile_fail
1520e5c31af7Sopenharmony_ci
1521e5c31af7Sopenharmony_ci		both ""
1522e5c31af7Sopenharmony_ci			precision mediump float;
1523e5c31af7Sopenharmony_ci			precision mediump int;
1524e5c31af7Sopenharmony_ci
1525e5c31af7Sopenharmony_ci			${DECLARATIONS}
1526e5c31af7Sopenharmony_ci
1527e5c31af7Sopenharmony_ci			void main()
1528e5c31af7Sopenharmony_ci			{
1529e5c31af7Sopenharmony_ci				vec3 c;
1530e5c31af7Sopenharmony_ci				vec3 a;
1531e5c31af7Sopenharmony_ci				ivec3 b;
1532e5c31af7Sopenharmony_ci				vec3 c = a - b;
1533e5c31af7Sopenharmony_ci			}
1534e5c31af7Sopenharmony_ci		""
1535e5c31af7Sopenharmony_ci	end
1536e5c31af7Sopenharmony_ci	case sub_vec3_ivec3_ivec3
1537e5c31af7Sopenharmony_ci		expect compile_fail
1538e5c31af7Sopenharmony_ci
1539e5c31af7Sopenharmony_ci		both ""
1540e5c31af7Sopenharmony_ci			precision mediump float;
1541e5c31af7Sopenharmony_ci			precision mediump int;
1542e5c31af7Sopenharmony_ci
1543e5c31af7Sopenharmony_ci			${DECLARATIONS}
1544e5c31af7Sopenharmony_ci
1545e5c31af7Sopenharmony_ci			void main()
1546e5c31af7Sopenharmony_ci			{
1547e5c31af7Sopenharmony_ci				ivec3 c;
1548e5c31af7Sopenharmony_ci				vec3 a;
1549e5c31af7Sopenharmony_ci				ivec3 b;
1550e5c31af7Sopenharmony_ci				ivec3 c = a - b;
1551e5c31af7Sopenharmony_ci			}
1552e5c31af7Sopenharmony_ci		""
1553e5c31af7Sopenharmony_ci	end
1554e5c31af7Sopenharmony_ci	case sub_vec3_ivec4_vec3
1555e5c31af7Sopenharmony_ci		expect compile_fail
1556e5c31af7Sopenharmony_ci
1557e5c31af7Sopenharmony_ci		both ""
1558e5c31af7Sopenharmony_ci			precision mediump float;
1559e5c31af7Sopenharmony_ci			precision mediump int;
1560e5c31af7Sopenharmony_ci
1561e5c31af7Sopenharmony_ci			${DECLARATIONS}
1562e5c31af7Sopenharmony_ci
1563e5c31af7Sopenharmony_ci			void main()
1564e5c31af7Sopenharmony_ci			{
1565e5c31af7Sopenharmony_ci				vec3 c;
1566e5c31af7Sopenharmony_ci				vec3 a;
1567e5c31af7Sopenharmony_ci				ivec4 b;
1568e5c31af7Sopenharmony_ci				vec3 c = a - b;
1569e5c31af7Sopenharmony_ci			}
1570e5c31af7Sopenharmony_ci		""
1571e5c31af7Sopenharmony_ci	end
1572e5c31af7Sopenharmony_ci	case sub_vec3_ivec4_ivec4
1573e5c31af7Sopenharmony_ci		expect compile_fail
1574e5c31af7Sopenharmony_ci
1575e5c31af7Sopenharmony_ci		both ""
1576e5c31af7Sopenharmony_ci			precision mediump float;
1577e5c31af7Sopenharmony_ci			precision mediump int;
1578e5c31af7Sopenharmony_ci
1579e5c31af7Sopenharmony_ci			${DECLARATIONS}
1580e5c31af7Sopenharmony_ci
1581e5c31af7Sopenharmony_ci			void main()
1582e5c31af7Sopenharmony_ci			{
1583e5c31af7Sopenharmony_ci				ivec4 c;
1584e5c31af7Sopenharmony_ci				vec3 a;
1585e5c31af7Sopenharmony_ci				ivec4 b;
1586e5c31af7Sopenharmony_ci				ivec4 c = a - b;
1587e5c31af7Sopenharmony_ci			}
1588e5c31af7Sopenharmony_ci		""
1589e5c31af7Sopenharmony_ci	end
1590e5c31af7Sopenharmony_ci	case sub_vec4_int_vec4
1591e5c31af7Sopenharmony_ci		expect compile_fail
1592e5c31af7Sopenharmony_ci
1593e5c31af7Sopenharmony_ci		both ""
1594e5c31af7Sopenharmony_ci			precision mediump float;
1595e5c31af7Sopenharmony_ci			precision mediump int;
1596e5c31af7Sopenharmony_ci
1597e5c31af7Sopenharmony_ci			${DECLARATIONS}
1598e5c31af7Sopenharmony_ci
1599e5c31af7Sopenharmony_ci			void main()
1600e5c31af7Sopenharmony_ci			{
1601e5c31af7Sopenharmony_ci				vec4 c;
1602e5c31af7Sopenharmony_ci				vec4 a;
1603e5c31af7Sopenharmony_ci				int b;
1604e5c31af7Sopenharmony_ci				vec4 c = a - b;
1605e5c31af7Sopenharmony_ci			}
1606e5c31af7Sopenharmony_ci		""
1607e5c31af7Sopenharmony_ci	end
1608e5c31af7Sopenharmony_ci	case sub_vec4_int_int
1609e5c31af7Sopenharmony_ci		expect compile_fail
1610e5c31af7Sopenharmony_ci
1611e5c31af7Sopenharmony_ci		both ""
1612e5c31af7Sopenharmony_ci			precision mediump float;
1613e5c31af7Sopenharmony_ci			precision mediump int;
1614e5c31af7Sopenharmony_ci
1615e5c31af7Sopenharmony_ci			${DECLARATIONS}
1616e5c31af7Sopenharmony_ci
1617e5c31af7Sopenharmony_ci			void main()
1618e5c31af7Sopenharmony_ci			{
1619e5c31af7Sopenharmony_ci				int c;
1620e5c31af7Sopenharmony_ci				vec4 a;
1621e5c31af7Sopenharmony_ci				int b;
1622e5c31af7Sopenharmony_ci				int c = a - b;
1623e5c31af7Sopenharmony_ci			}
1624e5c31af7Sopenharmony_ci		""
1625e5c31af7Sopenharmony_ci	end
1626e5c31af7Sopenharmony_ci	case sub_vec4_ivec2_vec4
1627e5c31af7Sopenharmony_ci		expect compile_fail
1628e5c31af7Sopenharmony_ci
1629e5c31af7Sopenharmony_ci		both ""
1630e5c31af7Sopenharmony_ci			precision mediump float;
1631e5c31af7Sopenharmony_ci			precision mediump int;
1632e5c31af7Sopenharmony_ci
1633e5c31af7Sopenharmony_ci			${DECLARATIONS}
1634e5c31af7Sopenharmony_ci
1635e5c31af7Sopenharmony_ci			void main()
1636e5c31af7Sopenharmony_ci			{
1637e5c31af7Sopenharmony_ci				vec4 c;
1638e5c31af7Sopenharmony_ci				vec4 a;
1639e5c31af7Sopenharmony_ci				ivec2 b;
1640e5c31af7Sopenharmony_ci				vec4 c = a - b;
1641e5c31af7Sopenharmony_ci			}
1642e5c31af7Sopenharmony_ci		""
1643e5c31af7Sopenharmony_ci	end
1644e5c31af7Sopenharmony_ci	case sub_vec4_ivec2_ivec2
1645e5c31af7Sopenharmony_ci		expect compile_fail
1646e5c31af7Sopenharmony_ci
1647e5c31af7Sopenharmony_ci		both ""
1648e5c31af7Sopenharmony_ci			precision mediump float;
1649e5c31af7Sopenharmony_ci			precision mediump int;
1650e5c31af7Sopenharmony_ci
1651e5c31af7Sopenharmony_ci			${DECLARATIONS}
1652e5c31af7Sopenharmony_ci
1653e5c31af7Sopenharmony_ci			void main()
1654e5c31af7Sopenharmony_ci			{
1655e5c31af7Sopenharmony_ci				ivec2 c;
1656e5c31af7Sopenharmony_ci				vec4 a;
1657e5c31af7Sopenharmony_ci				ivec2 b;
1658e5c31af7Sopenharmony_ci				ivec2 c = a - b;
1659e5c31af7Sopenharmony_ci			}
1660e5c31af7Sopenharmony_ci		""
1661e5c31af7Sopenharmony_ci	end
1662e5c31af7Sopenharmony_ci	case sub_vec4_ivec3_vec4
1663e5c31af7Sopenharmony_ci		expect compile_fail
1664e5c31af7Sopenharmony_ci
1665e5c31af7Sopenharmony_ci		both ""
1666e5c31af7Sopenharmony_ci			precision mediump float;
1667e5c31af7Sopenharmony_ci			precision mediump int;
1668e5c31af7Sopenharmony_ci
1669e5c31af7Sopenharmony_ci			${DECLARATIONS}
1670e5c31af7Sopenharmony_ci
1671e5c31af7Sopenharmony_ci			void main()
1672e5c31af7Sopenharmony_ci			{
1673e5c31af7Sopenharmony_ci				vec4 c;
1674e5c31af7Sopenharmony_ci				vec4 a;
1675e5c31af7Sopenharmony_ci				ivec3 b;
1676e5c31af7Sopenharmony_ci				vec4 c = a - b;
1677e5c31af7Sopenharmony_ci			}
1678e5c31af7Sopenharmony_ci		""
1679e5c31af7Sopenharmony_ci	end
1680e5c31af7Sopenharmony_ci	case sub_vec4_ivec3_ivec3
1681e5c31af7Sopenharmony_ci		expect compile_fail
1682e5c31af7Sopenharmony_ci
1683e5c31af7Sopenharmony_ci		both ""
1684e5c31af7Sopenharmony_ci			precision mediump float;
1685e5c31af7Sopenharmony_ci			precision mediump int;
1686e5c31af7Sopenharmony_ci
1687e5c31af7Sopenharmony_ci			${DECLARATIONS}
1688e5c31af7Sopenharmony_ci
1689e5c31af7Sopenharmony_ci			void main()
1690e5c31af7Sopenharmony_ci			{
1691e5c31af7Sopenharmony_ci				ivec3 c;
1692e5c31af7Sopenharmony_ci				vec4 a;
1693e5c31af7Sopenharmony_ci				ivec3 b;
1694e5c31af7Sopenharmony_ci				ivec3 c = a - b;
1695e5c31af7Sopenharmony_ci			}
1696e5c31af7Sopenharmony_ci		""
1697e5c31af7Sopenharmony_ci	end
1698e5c31af7Sopenharmony_ci	case sub_vec4_ivec4_vec4
1699e5c31af7Sopenharmony_ci		expect compile_fail
1700e5c31af7Sopenharmony_ci
1701e5c31af7Sopenharmony_ci		both ""
1702e5c31af7Sopenharmony_ci			precision mediump float;
1703e5c31af7Sopenharmony_ci			precision mediump int;
1704e5c31af7Sopenharmony_ci
1705e5c31af7Sopenharmony_ci			${DECLARATIONS}
1706e5c31af7Sopenharmony_ci
1707e5c31af7Sopenharmony_ci			void main()
1708e5c31af7Sopenharmony_ci			{
1709e5c31af7Sopenharmony_ci				vec4 c;
1710e5c31af7Sopenharmony_ci				vec4 a;
1711e5c31af7Sopenharmony_ci				ivec4 b;
1712e5c31af7Sopenharmony_ci				vec4 c = a - b;
1713e5c31af7Sopenharmony_ci			}
1714e5c31af7Sopenharmony_ci		""
1715e5c31af7Sopenharmony_ci	end
1716e5c31af7Sopenharmony_ci	case sub_vec4_ivec4_ivec4
1717e5c31af7Sopenharmony_ci		expect compile_fail
1718e5c31af7Sopenharmony_ci
1719e5c31af7Sopenharmony_ci		both ""
1720e5c31af7Sopenharmony_ci			precision mediump float;
1721e5c31af7Sopenharmony_ci			precision mediump int;
1722e5c31af7Sopenharmony_ci
1723e5c31af7Sopenharmony_ci			${DECLARATIONS}
1724e5c31af7Sopenharmony_ci
1725e5c31af7Sopenharmony_ci			void main()
1726e5c31af7Sopenharmony_ci			{
1727e5c31af7Sopenharmony_ci				ivec4 c;
1728e5c31af7Sopenharmony_ci				vec4 a;
1729e5c31af7Sopenharmony_ci				ivec4 b;
1730e5c31af7Sopenharmony_ci				ivec4 c = a - b;
1731e5c31af7Sopenharmony_ci			}
1732e5c31af7Sopenharmony_ci		""
1733e5c31af7Sopenharmony_ci	end
1734e5c31af7Sopenharmony_ci	case div_float_int_float
1735e5c31af7Sopenharmony_ci		expect compile_fail
1736e5c31af7Sopenharmony_ci
1737e5c31af7Sopenharmony_ci		both ""
1738e5c31af7Sopenharmony_ci			precision mediump float;
1739e5c31af7Sopenharmony_ci			precision mediump int;
1740e5c31af7Sopenharmony_ci
1741e5c31af7Sopenharmony_ci			${DECLARATIONS}
1742e5c31af7Sopenharmony_ci
1743e5c31af7Sopenharmony_ci			void main()
1744e5c31af7Sopenharmony_ci			{
1745e5c31af7Sopenharmony_ci				float c;
1746e5c31af7Sopenharmony_ci				float a;
1747e5c31af7Sopenharmony_ci				int b;
1748e5c31af7Sopenharmony_ci				float c = a / b;
1749e5c31af7Sopenharmony_ci			}
1750e5c31af7Sopenharmony_ci		""
1751e5c31af7Sopenharmony_ci	end
1752e5c31af7Sopenharmony_ci	case div_float_int_int
1753e5c31af7Sopenharmony_ci		expect compile_fail
1754e5c31af7Sopenharmony_ci
1755e5c31af7Sopenharmony_ci		both ""
1756e5c31af7Sopenharmony_ci			precision mediump float;
1757e5c31af7Sopenharmony_ci			precision mediump int;
1758e5c31af7Sopenharmony_ci
1759e5c31af7Sopenharmony_ci			${DECLARATIONS}
1760e5c31af7Sopenharmony_ci
1761e5c31af7Sopenharmony_ci			void main()
1762e5c31af7Sopenharmony_ci			{
1763e5c31af7Sopenharmony_ci				int c;
1764e5c31af7Sopenharmony_ci				float a;
1765e5c31af7Sopenharmony_ci				int b;
1766e5c31af7Sopenharmony_ci				int c = a / b;
1767e5c31af7Sopenharmony_ci			}
1768e5c31af7Sopenharmony_ci		""
1769e5c31af7Sopenharmony_ci	end
1770e5c31af7Sopenharmony_ci	case div_float_ivec2_float
1771e5c31af7Sopenharmony_ci		expect compile_fail
1772e5c31af7Sopenharmony_ci
1773e5c31af7Sopenharmony_ci		both ""
1774e5c31af7Sopenharmony_ci			precision mediump float;
1775e5c31af7Sopenharmony_ci			precision mediump int;
1776e5c31af7Sopenharmony_ci
1777e5c31af7Sopenharmony_ci			${DECLARATIONS}
1778e5c31af7Sopenharmony_ci
1779e5c31af7Sopenharmony_ci			void main()
1780e5c31af7Sopenharmony_ci			{
1781e5c31af7Sopenharmony_ci				float c;
1782e5c31af7Sopenharmony_ci				float a;
1783e5c31af7Sopenharmony_ci				ivec2 b;
1784e5c31af7Sopenharmony_ci				float c = a / b;
1785e5c31af7Sopenharmony_ci			}
1786e5c31af7Sopenharmony_ci		""
1787e5c31af7Sopenharmony_ci	end
1788e5c31af7Sopenharmony_ci	case div_float_ivec2_ivec2
1789e5c31af7Sopenharmony_ci		expect compile_fail
1790e5c31af7Sopenharmony_ci
1791e5c31af7Sopenharmony_ci		both ""
1792e5c31af7Sopenharmony_ci			precision mediump float;
1793e5c31af7Sopenharmony_ci			precision mediump int;
1794e5c31af7Sopenharmony_ci
1795e5c31af7Sopenharmony_ci			${DECLARATIONS}
1796e5c31af7Sopenharmony_ci
1797e5c31af7Sopenharmony_ci			void main()
1798e5c31af7Sopenharmony_ci			{
1799e5c31af7Sopenharmony_ci				ivec2 c;
1800e5c31af7Sopenharmony_ci				float a;
1801e5c31af7Sopenharmony_ci				ivec2 b;
1802e5c31af7Sopenharmony_ci				ivec2 c = a / b;
1803e5c31af7Sopenharmony_ci			}
1804e5c31af7Sopenharmony_ci		""
1805e5c31af7Sopenharmony_ci	end
1806e5c31af7Sopenharmony_ci	case div_float_ivec3_float
1807e5c31af7Sopenharmony_ci		expect compile_fail
1808e5c31af7Sopenharmony_ci
1809e5c31af7Sopenharmony_ci		both ""
1810e5c31af7Sopenharmony_ci			precision mediump float;
1811e5c31af7Sopenharmony_ci			precision mediump int;
1812e5c31af7Sopenharmony_ci
1813e5c31af7Sopenharmony_ci			${DECLARATIONS}
1814e5c31af7Sopenharmony_ci
1815e5c31af7Sopenharmony_ci			void main()
1816e5c31af7Sopenharmony_ci			{
1817e5c31af7Sopenharmony_ci				float c;
1818e5c31af7Sopenharmony_ci				float a;
1819e5c31af7Sopenharmony_ci				ivec3 b;
1820e5c31af7Sopenharmony_ci				float c = a / b;
1821e5c31af7Sopenharmony_ci			}
1822e5c31af7Sopenharmony_ci		""
1823e5c31af7Sopenharmony_ci	end
1824e5c31af7Sopenharmony_ci	case div_float_ivec3_ivec3
1825e5c31af7Sopenharmony_ci		expect compile_fail
1826e5c31af7Sopenharmony_ci
1827e5c31af7Sopenharmony_ci		both ""
1828e5c31af7Sopenharmony_ci			precision mediump float;
1829e5c31af7Sopenharmony_ci			precision mediump int;
1830e5c31af7Sopenharmony_ci
1831e5c31af7Sopenharmony_ci			${DECLARATIONS}
1832e5c31af7Sopenharmony_ci
1833e5c31af7Sopenharmony_ci			void main()
1834e5c31af7Sopenharmony_ci			{
1835e5c31af7Sopenharmony_ci				ivec3 c;
1836e5c31af7Sopenharmony_ci				float a;
1837e5c31af7Sopenharmony_ci				ivec3 b;
1838e5c31af7Sopenharmony_ci				ivec3 c = a / b;
1839e5c31af7Sopenharmony_ci			}
1840e5c31af7Sopenharmony_ci		""
1841e5c31af7Sopenharmony_ci	end
1842e5c31af7Sopenharmony_ci	case div_float_ivec4_float
1843e5c31af7Sopenharmony_ci		expect compile_fail
1844e5c31af7Sopenharmony_ci
1845e5c31af7Sopenharmony_ci		both ""
1846e5c31af7Sopenharmony_ci			precision mediump float;
1847e5c31af7Sopenharmony_ci			precision mediump int;
1848e5c31af7Sopenharmony_ci
1849e5c31af7Sopenharmony_ci			${DECLARATIONS}
1850e5c31af7Sopenharmony_ci
1851e5c31af7Sopenharmony_ci			void main()
1852e5c31af7Sopenharmony_ci			{
1853e5c31af7Sopenharmony_ci				float c;
1854e5c31af7Sopenharmony_ci				float a;
1855e5c31af7Sopenharmony_ci				ivec4 b;
1856e5c31af7Sopenharmony_ci				float c = a / b;
1857e5c31af7Sopenharmony_ci			}
1858e5c31af7Sopenharmony_ci		""
1859e5c31af7Sopenharmony_ci	end
1860e5c31af7Sopenharmony_ci	case div_float_ivec4_ivec4
1861e5c31af7Sopenharmony_ci		expect compile_fail
1862e5c31af7Sopenharmony_ci
1863e5c31af7Sopenharmony_ci		both ""
1864e5c31af7Sopenharmony_ci			precision mediump float;
1865e5c31af7Sopenharmony_ci			precision mediump int;
1866e5c31af7Sopenharmony_ci
1867e5c31af7Sopenharmony_ci			${DECLARATIONS}
1868e5c31af7Sopenharmony_ci
1869e5c31af7Sopenharmony_ci			void main()
1870e5c31af7Sopenharmony_ci			{
1871e5c31af7Sopenharmony_ci				ivec4 c;
1872e5c31af7Sopenharmony_ci				float a;
1873e5c31af7Sopenharmony_ci				ivec4 b;
1874e5c31af7Sopenharmony_ci				ivec4 c = a / b;
1875e5c31af7Sopenharmony_ci			}
1876e5c31af7Sopenharmony_ci		""
1877e5c31af7Sopenharmony_ci	end
1878e5c31af7Sopenharmony_ci	case div_vec2_int_vec2
1879e5c31af7Sopenharmony_ci		expect compile_fail
1880e5c31af7Sopenharmony_ci
1881e5c31af7Sopenharmony_ci		both ""
1882e5c31af7Sopenharmony_ci			precision mediump float;
1883e5c31af7Sopenharmony_ci			precision mediump int;
1884e5c31af7Sopenharmony_ci
1885e5c31af7Sopenharmony_ci			${DECLARATIONS}
1886e5c31af7Sopenharmony_ci
1887e5c31af7Sopenharmony_ci			void main()
1888e5c31af7Sopenharmony_ci			{
1889e5c31af7Sopenharmony_ci				vec2 c;
1890e5c31af7Sopenharmony_ci				vec2 a;
1891e5c31af7Sopenharmony_ci				int b;
1892e5c31af7Sopenharmony_ci				vec2 c = a / b;
1893e5c31af7Sopenharmony_ci			}
1894e5c31af7Sopenharmony_ci		""
1895e5c31af7Sopenharmony_ci	end
1896e5c31af7Sopenharmony_ci	case div_vec2_int_int
1897e5c31af7Sopenharmony_ci		expect compile_fail
1898e5c31af7Sopenharmony_ci
1899e5c31af7Sopenharmony_ci		both ""
1900e5c31af7Sopenharmony_ci			precision mediump float;
1901e5c31af7Sopenharmony_ci			precision mediump int;
1902e5c31af7Sopenharmony_ci
1903e5c31af7Sopenharmony_ci			${DECLARATIONS}
1904e5c31af7Sopenharmony_ci
1905e5c31af7Sopenharmony_ci			void main()
1906e5c31af7Sopenharmony_ci			{
1907e5c31af7Sopenharmony_ci				int c;
1908e5c31af7Sopenharmony_ci				vec2 a;
1909e5c31af7Sopenharmony_ci				int b;
1910e5c31af7Sopenharmony_ci				int c = a / b;
1911e5c31af7Sopenharmony_ci			}
1912e5c31af7Sopenharmony_ci		""
1913e5c31af7Sopenharmony_ci	end
1914e5c31af7Sopenharmony_ci	case div_vec2_ivec2_vec2
1915e5c31af7Sopenharmony_ci		expect compile_fail
1916e5c31af7Sopenharmony_ci
1917e5c31af7Sopenharmony_ci		both ""
1918e5c31af7Sopenharmony_ci			precision mediump float;
1919e5c31af7Sopenharmony_ci			precision mediump int;
1920e5c31af7Sopenharmony_ci
1921e5c31af7Sopenharmony_ci			${DECLARATIONS}
1922e5c31af7Sopenharmony_ci
1923e5c31af7Sopenharmony_ci			void main()
1924e5c31af7Sopenharmony_ci			{
1925e5c31af7Sopenharmony_ci				vec2 c;
1926e5c31af7Sopenharmony_ci				vec2 a;
1927e5c31af7Sopenharmony_ci				ivec2 b;
1928e5c31af7Sopenharmony_ci				vec2 c = a / b;
1929e5c31af7Sopenharmony_ci			}
1930e5c31af7Sopenharmony_ci		""
1931e5c31af7Sopenharmony_ci	end
1932e5c31af7Sopenharmony_ci	case div_vec2_ivec2_ivec2
1933e5c31af7Sopenharmony_ci		expect compile_fail
1934e5c31af7Sopenharmony_ci
1935e5c31af7Sopenharmony_ci		both ""
1936e5c31af7Sopenharmony_ci			precision mediump float;
1937e5c31af7Sopenharmony_ci			precision mediump int;
1938e5c31af7Sopenharmony_ci
1939e5c31af7Sopenharmony_ci			${DECLARATIONS}
1940e5c31af7Sopenharmony_ci
1941e5c31af7Sopenharmony_ci			void main()
1942e5c31af7Sopenharmony_ci			{
1943e5c31af7Sopenharmony_ci				ivec2 c;
1944e5c31af7Sopenharmony_ci				vec2 a;
1945e5c31af7Sopenharmony_ci				ivec2 b;
1946e5c31af7Sopenharmony_ci				ivec2 c = a / b;
1947e5c31af7Sopenharmony_ci			}
1948e5c31af7Sopenharmony_ci		""
1949e5c31af7Sopenharmony_ci	end
1950e5c31af7Sopenharmony_ci	case div_vec2_ivec3_vec2
1951e5c31af7Sopenharmony_ci		expect compile_fail
1952e5c31af7Sopenharmony_ci
1953e5c31af7Sopenharmony_ci		both ""
1954e5c31af7Sopenharmony_ci			precision mediump float;
1955e5c31af7Sopenharmony_ci			precision mediump int;
1956e5c31af7Sopenharmony_ci
1957e5c31af7Sopenharmony_ci			${DECLARATIONS}
1958e5c31af7Sopenharmony_ci
1959e5c31af7Sopenharmony_ci			void main()
1960e5c31af7Sopenharmony_ci			{
1961e5c31af7Sopenharmony_ci				vec2 c;
1962e5c31af7Sopenharmony_ci				vec2 a;
1963e5c31af7Sopenharmony_ci				ivec3 b;
1964e5c31af7Sopenharmony_ci				vec2 c = a / b;
1965e5c31af7Sopenharmony_ci			}
1966e5c31af7Sopenharmony_ci		""
1967e5c31af7Sopenharmony_ci	end
1968e5c31af7Sopenharmony_ci	case div_vec2_ivec3_ivec3
1969e5c31af7Sopenharmony_ci		expect compile_fail
1970e5c31af7Sopenharmony_ci
1971e5c31af7Sopenharmony_ci		both ""
1972e5c31af7Sopenharmony_ci			precision mediump float;
1973e5c31af7Sopenharmony_ci			precision mediump int;
1974e5c31af7Sopenharmony_ci
1975e5c31af7Sopenharmony_ci			${DECLARATIONS}
1976e5c31af7Sopenharmony_ci
1977e5c31af7Sopenharmony_ci			void main()
1978e5c31af7Sopenharmony_ci			{
1979e5c31af7Sopenharmony_ci				ivec3 c;
1980e5c31af7Sopenharmony_ci				vec2 a;
1981e5c31af7Sopenharmony_ci				ivec3 b;
1982e5c31af7Sopenharmony_ci				ivec3 c = a / b;
1983e5c31af7Sopenharmony_ci			}
1984e5c31af7Sopenharmony_ci		""
1985e5c31af7Sopenharmony_ci	end
1986e5c31af7Sopenharmony_ci	case div_vec2_ivec4_vec2
1987e5c31af7Sopenharmony_ci		expect compile_fail
1988e5c31af7Sopenharmony_ci
1989e5c31af7Sopenharmony_ci		both ""
1990e5c31af7Sopenharmony_ci			precision mediump float;
1991e5c31af7Sopenharmony_ci			precision mediump int;
1992e5c31af7Sopenharmony_ci
1993e5c31af7Sopenharmony_ci			${DECLARATIONS}
1994e5c31af7Sopenharmony_ci
1995e5c31af7Sopenharmony_ci			void main()
1996e5c31af7Sopenharmony_ci			{
1997e5c31af7Sopenharmony_ci				vec2 c;
1998e5c31af7Sopenharmony_ci				vec2 a;
1999e5c31af7Sopenharmony_ci				ivec4 b;
2000e5c31af7Sopenharmony_ci				vec2 c = a / b;
2001e5c31af7Sopenharmony_ci			}
2002e5c31af7Sopenharmony_ci		""
2003e5c31af7Sopenharmony_ci	end
2004e5c31af7Sopenharmony_ci	case div_vec2_ivec4_ivec4
2005e5c31af7Sopenharmony_ci		expect compile_fail
2006e5c31af7Sopenharmony_ci
2007e5c31af7Sopenharmony_ci		both ""
2008e5c31af7Sopenharmony_ci			precision mediump float;
2009e5c31af7Sopenharmony_ci			precision mediump int;
2010e5c31af7Sopenharmony_ci
2011e5c31af7Sopenharmony_ci			${DECLARATIONS}
2012e5c31af7Sopenharmony_ci
2013e5c31af7Sopenharmony_ci			void main()
2014e5c31af7Sopenharmony_ci			{
2015e5c31af7Sopenharmony_ci				ivec4 c;
2016e5c31af7Sopenharmony_ci				vec2 a;
2017e5c31af7Sopenharmony_ci				ivec4 b;
2018e5c31af7Sopenharmony_ci				ivec4 c = a / b;
2019e5c31af7Sopenharmony_ci			}
2020e5c31af7Sopenharmony_ci		""
2021e5c31af7Sopenharmony_ci	end
2022e5c31af7Sopenharmony_ci	case div_vec3_int_vec3
2023e5c31af7Sopenharmony_ci		expect compile_fail
2024e5c31af7Sopenharmony_ci
2025e5c31af7Sopenharmony_ci		both ""
2026e5c31af7Sopenharmony_ci			precision mediump float;
2027e5c31af7Sopenharmony_ci			precision mediump int;
2028e5c31af7Sopenharmony_ci
2029e5c31af7Sopenharmony_ci			${DECLARATIONS}
2030e5c31af7Sopenharmony_ci
2031e5c31af7Sopenharmony_ci			void main()
2032e5c31af7Sopenharmony_ci			{
2033e5c31af7Sopenharmony_ci				vec3 c;
2034e5c31af7Sopenharmony_ci				vec3 a;
2035e5c31af7Sopenharmony_ci				int b;
2036e5c31af7Sopenharmony_ci				vec3 c = a / b;
2037e5c31af7Sopenharmony_ci			}
2038e5c31af7Sopenharmony_ci		""
2039e5c31af7Sopenharmony_ci	end
2040e5c31af7Sopenharmony_ci	case div_vec3_int_int
2041e5c31af7Sopenharmony_ci		expect compile_fail
2042e5c31af7Sopenharmony_ci
2043e5c31af7Sopenharmony_ci		both ""
2044e5c31af7Sopenharmony_ci			precision mediump float;
2045e5c31af7Sopenharmony_ci			precision mediump int;
2046e5c31af7Sopenharmony_ci
2047e5c31af7Sopenharmony_ci			${DECLARATIONS}
2048e5c31af7Sopenharmony_ci
2049e5c31af7Sopenharmony_ci			void main()
2050e5c31af7Sopenharmony_ci			{
2051e5c31af7Sopenharmony_ci				int c;
2052e5c31af7Sopenharmony_ci				vec3 a;
2053e5c31af7Sopenharmony_ci				int b;
2054e5c31af7Sopenharmony_ci				int c = a / b;
2055e5c31af7Sopenharmony_ci			}
2056e5c31af7Sopenharmony_ci		""
2057e5c31af7Sopenharmony_ci	end
2058e5c31af7Sopenharmony_ci	case div_vec3_ivec2_vec3
2059e5c31af7Sopenharmony_ci		expect compile_fail
2060e5c31af7Sopenharmony_ci
2061e5c31af7Sopenharmony_ci		both ""
2062e5c31af7Sopenharmony_ci			precision mediump float;
2063e5c31af7Sopenharmony_ci			precision mediump int;
2064e5c31af7Sopenharmony_ci
2065e5c31af7Sopenharmony_ci			${DECLARATIONS}
2066e5c31af7Sopenharmony_ci
2067e5c31af7Sopenharmony_ci			void main()
2068e5c31af7Sopenharmony_ci			{
2069e5c31af7Sopenharmony_ci				vec3 c;
2070e5c31af7Sopenharmony_ci				vec3 a;
2071e5c31af7Sopenharmony_ci				ivec2 b;
2072e5c31af7Sopenharmony_ci				vec3 c = a / b;
2073e5c31af7Sopenharmony_ci			}
2074e5c31af7Sopenharmony_ci		""
2075e5c31af7Sopenharmony_ci	end
2076e5c31af7Sopenharmony_ci	case div_vec3_ivec2_ivec2
2077e5c31af7Sopenharmony_ci		expect compile_fail
2078e5c31af7Sopenharmony_ci
2079e5c31af7Sopenharmony_ci		both ""
2080e5c31af7Sopenharmony_ci			precision mediump float;
2081e5c31af7Sopenharmony_ci			precision mediump int;
2082e5c31af7Sopenharmony_ci
2083e5c31af7Sopenharmony_ci			${DECLARATIONS}
2084e5c31af7Sopenharmony_ci
2085e5c31af7Sopenharmony_ci			void main()
2086e5c31af7Sopenharmony_ci			{
2087e5c31af7Sopenharmony_ci				ivec2 c;
2088e5c31af7Sopenharmony_ci				vec3 a;
2089e5c31af7Sopenharmony_ci				ivec2 b;
2090e5c31af7Sopenharmony_ci				ivec2 c = a / b;
2091e5c31af7Sopenharmony_ci			}
2092e5c31af7Sopenharmony_ci		""
2093e5c31af7Sopenharmony_ci	end
2094e5c31af7Sopenharmony_ci	case div_vec3_ivec3_vec3
2095e5c31af7Sopenharmony_ci		expect compile_fail
2096e5c31af7Sopenharmony_ci
2097e5c31af7Sopenharmony_ci		both ""
2098e5c31af7Sopenharmony_ci			precision mediump float;
2099e5c31af7Sopenharmony_ci			precision mediump int;
2100e5c31af7Sopenharmony_ci
2101e5c31af7Sopenharmony_ci			${DECLARATIONS}
2102e5c31af7Sopenharmony_ci
2103e5c31af7Sopenharmony_ci			void main()
2104e5c31af7Sopenharmony_ci			{
2105e5c31af7Sopenharmony_ci				vec3 c;
2106e5c31af7Sopenharmony_ci				vec3 a;
2107e5c31af7Sopenharmony_ci				ivec3 b;
2108e5c31af7Sopenharmony_ci				vec3 c = a / b;
2109e5c31af7Sopenharmony_ci			}
2110e5c31af7Sopenharmony_ci		""
2111e5c31af7Sopenharmony_ci	end
2112e5c31af7Sopenharmony_ci	case div_vec3_ivec3_ivec3
2113e5c31af7Sopenharmony_ci		expect compile_fail
2114e5c31af7Sopenharmony_ci
2115e5c31af7Sopenharmony_ci		both ""
2116e5c31af7Sopenharmony_ci			precision mediump float;
2117e5c31af7Sopenharmony_ci			precision mediump int;
2118e5c31af7Sopenharmony_ci
2119e5c31af7Sopenharmony_ci			${DECLARATIONS}
2120e5c31af7Sopenharmony_ci
2121e5c31af7Sopenharmony_ci			void main()
2122e5c31af7Sopenharmony_ci			{
2123e5c31af7Sopenharmony_ci				ivec3 c;
2124e5c31af7Sopenharmony_ci				vec3 a;
2125e5c31af7Sopenharmony_ci				ivec3 b;
2126e5c31af7Sopenharmony_ci				ivec3 c = a / b;
2127e5c31af7Sopenharmony_ci			}
2128e5c31af7Sopenharmony_ci		""
2129e5c31af7Sopenharmony_ci	end
2130e5c31af7Sopenharmony_ci	case div_vec3_ivec4_vec3
2131e5c31af7Sopenharmony_ci		expect compile_fail
2132e5c31af7Sopenharmony_ci
2133e5c31af7Sopenharmony_ci		both ""
2134e5c31af7Sopenharmony_ci			precision mediump float;
2135e5c31af7Sopenharmony_ci			precision mediump int;
2136e5c31af7Sopenharmony_ci
2137e5c31af7Sopenharmony_ci			${DECLARATIONS}
2138e5c31af7Sopenharmony_ci
2139e5c31af7Sopenharmony_ci			void main()
2140e5c31af7Sopenharmony_ci			{
2141e5c31af7Sopenharmony_ci				vec3 c;
2142e5c31af7Sopenharmony_ci				vec3 a;
2143e5c31af7Sopenharmony_ci				ivec4 b;
2144e5c31af7Sopenharmony_ci				vec3 c = a / b;
2145e5c31af7Sopenharmony_ci			}
2146e5c31af7Sopenharmony_ci		""
2147e5c31af7Sopenharmony_ci	end
2148e5c31af7Sopenharmony_ci	case div_vec3_ivec4_ivec4
2149e5c31af7Sopenharmony_ci		expect compile_fail
2150e5c31af7Sopenharmony_ci
2151e5c31af7Sopenharmony_ci		both ""
2152e5c31af7Sopenharmony_ci			precision mediump float;
2153e5c31af7Sopenharmony_ci			precision mediump int;
2154e5c31af7Sopenharmony_ci
2155e5c31af7Sopenharmony_ci			${DECLARATIONS}
2156e5c31af7Sopenharmony_ci
2157e5c31af7Sopenharmony_ci			void main()
2158e5c31af7Sopenharmony_ci			{
2159e5c31af7Sopenharmony_ci				ivec4 c;
2160e5c31af7Sopenharmony_ci				vec3 a;
2161e5c31af7Sopenharmony_ci				ivec4 b;
2162e5c31af7Sopenharmony_ci				ivec4 c = a / b;
2163e5c31af7Sopenharmony_ci			}
2164e5c31af7Sopenharmony_ci		""
2165e5c31af7Sopenharmony_ci	end
2166e5c31af7Sopenharmony_ci	case div_vec4_int_vec4
2167e5c31af7Sopenharmony_ci		expect compile_fail
2168e5c31af7Sopenharmony_ci
2169e5c31af7Sopenharmony_ci		both ""
2170e5c31af7Sopenharmony_ci			precision mediump float;
2171e5c31af7Sopenharmony_ci			precision mediump int;
2172e5c31af7Sopenharmony_ci
2173e5c31af7Sopenharmony_ci			${DECLARATIONS}
2174e5c31af7Sopenharmony_ci
2175e5c31af7Sopenharmony_ci			void main()
2176e5c31af7Sopenharmony_ci			{
2177e5c31af7Sopenharmony_ci				vec4 c;
2178e5c31af7Sopenharmony_ci				vec4 a;
2179e5c31af7Sopenharmony_ci				int b;
2180e5c31af7Sopenharmony_ci				vec4 c = a / b;
2181e5c31af7Sopenharmony_ci			}
2182e5c31af7Sopenharmony_ci		""
2183e5c31af7Sopenharmony_ci	end
2184e5c31af7Sopenharmony_ci	case div_vec4_int_int
2185e5c31af7Sopenharmony_ci		expect compile_fail
2186e5c31af7Sopenharmony_ci
2187e5c31af7Sopenharmony_ci		both ""
2188e5c31af7Sopenharmony_ci			precision mediump float;
2189e5c31af7Sopenharmony_ci			precision mediump int;
2190e5c31af7Sopenharmony_ci
2191e5c31af7Sopenharmony_ci			${DECLARATIONS}
2192e5c31af7Sopenharmony_ci
2193e5c31af7Sopenharmony_ci			void main()
2194e5c31af7Sopenharmony_ci			{
2195e5c31af7Sopenharmony_ci				int c;
2196e5c31af7Sopenharmony_ci				vec4 a;
2197e5c31af7Sopenharmony_ci				int b;
2198e5c31af7Sopenharmony_ci				int c = a / b;
2199e5c31af7Sopenharmony_ci			}
2200e5c31af7Sopenharmony_ci		""
2201e5c31af7Sopenharmony_ci	end
2202e5c31af7Sopenharmony_ci	case div_vec4_ivec2_vec4
2203e5c31af7Sopenharmony_ci		expect compile_fail
2204e5c31af7Sopenharmony_ci
2205e5c31af7Sopenharmony_ci		both ""
2206e5c31af7Sopenharmony_ci			precision mediump float;
2207e5c31af7Sopenharmony_ci			precision mediump int;
2208e5c31af7Sopenharmony_ci
2209e5c31af7Sopenharmony_ci			${DECLARATIONS}
2210e5c31af7Sopenharmony_ci
2211e5c31af7Sopenharmony_ci			void main()
2212e5c31af7Sopenharmony_ci			{
2213e5c31af7Sopenharmony_ci				vec4 c;
2214e5c31af7Sopenharmony_ci				vec4 a;
2215e5c31af7Sopenharmony_ci				ivec2 b;
2216e5c31af7Sopenharmony_ci				vec4 c = a / b;
2217e5c31af7Sopenharmony_ci			}
2218e5c31af7Sopenharmony_ci		""
2219e5c31af7Sopenharmony_ci	end
2220e5c31af7Sopenharmony_ci	case div_vec4_ivec2_ivec2
2221e5c31af7Sopenharmony_ci		expect compile_fail
2222e5c31af7Sopenharmony_ci
2223e5c31af7Sopenharmony_ci		both ""
2224e5c31af7Sopenharmony_ci			precision mediump float;
2225e5c31af7Sopenharmony_ci			precision mediump int;
2226e5c31af7Sopenharmony_ci
2227e5c31af7Sopenharmony_ci			${DECLARATIONS}
2228e5c31af7Sopenharmony_ci
2229e5c31af7Sopenharmony_ci			void main()
2230e5c31af7Sopenharmony_ci			{
2231e5c31af7Sopenharmony_ci				ivec2 c;
2232e5c31af7Sopenharmony_ci				vec4 a;
2233e5c31af7Sopenharmony_ci				ivec2 b;
2234e5c31af7Sopenharmony_ci				ivec2 c = a / b;
2235e5c31af7Sopenharmony_ci			}
2236e5c31af7Sopenharmony_ci		""
2237e5c31af7Sopenharmony_ci	end
2238e5c31af7Sopenharmony_ci	case div_vec4_ivec3_vec4
2239e5c31af7Sopenharmony_ci		expect compile_fail
2240e5c31af7Sopenharmony_ci
2241e5c31af7Sopenharmony_ci		both ""
2242e5c31af7Sopenharmony_ci			precision mediump float;
2243e5c31af7Sopenharmony_ci			precision mediump int;
2244e5c31af7Sopenharmony_ci
2245e5c31af7Sopenharmony_ci			${DECLARATIONS}
2246e5c31af7Sopenharmony_ci
2247e5c31af7Sopenharmony_ci			void main()
2248e5c31af7Sopenharmony_ci			{
2249e5c31af7Sopenharmony_ci				vec4 c;
2250e5c31af7Sopenharmony_ci				vec4 a;
2251e5c31af7Sopenharmony_ci				ivec3 b;
2252e5c31af7Sopenharmony_ci				vec4 c = a / b;
2253e5c31af7Sopenharmony_ci			}
2254e5c31af7Sopenharmony_ci		""
2255e5c31af7Sopenharmony_ci	end
2256e5c31af7Sopenharmony_ci	case div_vec4_ivec3_ivec3
2257e5c31af7Sopenharmony_ci		expect compile_fail
2258e5c31af7Sopenharmony_ci
2259e5c31af7Sopenharmony_ci		both ""
2260e5c31af7Sopenharmony_ci			precision mediump float;
2261e5c31af7Sopenharmony_ci			precision mediump int;
2262e5c31af7Sopenharmony_ci
2263e5c31af7Sopenharmony_ci			${DECLARATIONS}
2264e5c31af7Sopenharmony_ci
2265e5c31af7Sopenharmony_ci			void main()
2266e5c31af7Sopenharmony_ci			{
2267e5c31af7Sopenharmony_ci				ivec3 c;
2268e5c31af7Sopenharmony_ci				vec4 a;
2269e5c31af7Sopenharmony_ci				ivec3 b;
2270e5c31af7Sopenharmony_ci				ivec3 c = a / b;
2271e5c31af7Sopenharmony_ci			}
2272e5c31af7Sopenharmony_ci		""
2273e5c31af7Sopenharmony_ci	end
2274e5c31af7Sopenharmony_ci	case div_vec4_ivec4_vec4
2275e5c31af7Sopenharmony_ci		expect compile_fail
2276e5c31af7Sopenharmony_ci
2277e5c31af7Sopenharmony_ci		both ""
2278e5c31af7Sopenharmony_ci			precision mediump float;
2279e5c31af7Sopenharmony_ci			precision mediump int;
2280e5c31af7Sopenharmony_ci
2281e5c31af7Sopenharmony_ci			${DECLARATIONS}
2282e5c31af7Sopenharmony_ci
2283e5c31af7Sopenharmony_ci			void main()
2284e5c31af7Sopenharmony_ci			{
2285e5c31af7Sopenharmony_ci				vec4 c;
2286e5c31af7Sopenharmony_ci				vec4 a;
2287e5c31af7Sopenharmony_ci				ivec4 b;
2288e5c31af7Sopenharmony_ci				vec4 c = a / b;
2289e5c31af7Sopenharmony_ci			}
2290e5c31af7Sopenharmony_ci		""
2291e5c31af7Sopenharmony_ci	end
2292e5c31af7Sopenharmony_ci	case div_vec4_ivec4_ivec4
2293e5c31af7Sopenharmony_ci		expect compile_fail
2294e5c31af7Sopenharmony_ci
2295e5c31af7Sopenharmony_ci		both ""
2296e5c31af7Sopenharmony_ci			precision mediump float;
2297e5c31af7Sopenharmony_ci			precision mediump int;
2298e5c31af7Sopenharmony_ci
2299e5c31af7Sopenharmony_ci			${DECLARATIONS}
2300e5c31af7Sopenharmony_ci
2301e5c31af7Sopenharmony_ci			void main()
2302e5c31af7Sopenharmony_ci			{
2303e5c31af7Sopenharmony_ci				ivec4 c;
2304e5c31af7Sopenharmony_ci				vec4 a;
2305e5c31af7Sopenharmony_ci				ivec4 b;
2306e5c31af7Sopenharmony_ci				ivec4 c = a / b;
2307e5c31af7Sopenharmony_ci			}
2308e5c31af7Sopenharmony_ci		""
2309e5c31af7Sopenharmony_ci	end
2310e5c31af7Sopenharmony_ci
2311e5c31af7Sopenharmony_ciend # invalid_implicit_conversions
2312