1# WARNING: This file is auto-generated. Do NOT modify it manually, but rather
2# modify the generating script file. Otherwise changes will be lost!
3
4group invalid_implicit_conversions "Invalid Implicit Conversions"
5
6	case add_float_int_float
7		expect compile_fail
8		version 300 es
9
10		both ""
11			#version 300 es
12			precision mediump float;
13			precision mediump int;
14
15			${DECLARATIONS}
16
17			void main()
18			{
19				float c;
20				float a;
21				int b;
22				float c = a + b;
23			}
24		""
25	end
26	case add_float_int_int
27		expect compile_fail
28		version 300 es
29
30		both ""
31			#version 300 es
32			precision mediump float;
33			precision mediump int;
34
35			 ${DECLARATIONS}
36
37			void main()
38			{
39				int c;
40				float a;
41				int b;
42				int c = a + b;
43			}
44		""
45	end
46	case add_float_ivec2_float
47		expect compile_fail
48		version 300 es
49
50		both ""
51			#version 300 es
52			precision mediump float;
53			precision mediump int;
54
55			${DECLARATIONS}
56
57			void main()
58			{
59				float c;
60				float a;
61				ivec2 b;
62				float c = a + b;
63			}
64		""
65	end
66	case add_float_ivec2_ivec2
67		expect compile_fail
68		version 300 es
69
70		both ""
71			#version 300 es
72			precision mediump float;
73			precision mediump int;
74
75			 ${DECLARATIONS}
76
77			void main()
78			{
79				ivec2 c;
80				float a;
81				ivec2 b;
82				ivec2 c = a + b;
83			}
84		""
85	end
86	case add_float_ivec3_float
87		expect compile_fail
88		version 300 es
89
90		both ""
91			#version 300 es
92			precision mediump float;
93			precision mediump int;
94
95			${DECLARATIONS}
96
97			void main()
98			{
99				float c;
100				float a;
101				ivec3 b;
102				float c = a + b;
103			}
104		""
105	end
106	case add_float_ivec3_ivec3
107		expect compile_fail
108		version 300 es
109
110		both ""
111			#version 300 es
112			precision mediump float;
113			precision mediump int;
114
115			 ${DECLARATIONS}
116
117			void main()
118			{
119				ivec3 c;
120				float a;
121				ivec3 b;
122				ivec3 c = a + b;
123			}
124		""
125	end
126	case add_float_ivec4_float
127		expect compile_fail
128		version 300 es
129
130		both ""
131			#version 300 es
132			precision mediump float;
133			precision mediump int;
134
135			${DECLARATIONS}
136
137			void main()
138			{
139				float c;
140				float a;
141				ivec4 b;
142				float c = a + b;
143			}
144		""
145	end
146	case add_float_ivec4_ivec4
147		expect compile_fail
148		version 300 es
149
150		both ""
151			#version 300 es
152			precision mediump float;
153			precision mediump int;
154
155			 ${DECLARATIONS}
156
157			void main()
158			{
159				ivec4 c;
160				float a;
161				ivec4 b;
162				ivec4 c = a + b;
163			}
164		""
165	end
166	case add_vec2_int_vec2
167		expect compile_fail
168		version 300 es
169
170		both ""
171			#version 300 es
172			precision mediump float;
173			precision mediump int;
174
175			${DECLARATIONS}
176
177			void main()
178			{
179				vec2 c;
180				vec2 a;
181				int b;
182				vec2 c = a + b;
183			}
184		""
185	end
186	case add_vec2_int_int
187		expect compile_fail
188		version 300 es
189
190		both ""
191			#version 300 es
192			precision mediump float;
193			precision mediump int;
194
195			 ${DECLARATIONS}
196
197			void main()
198			{
199				int c;
200				vec2 a;
201				int b;
202				int c = a + b;
203			}
204		""
205	end
206	case add_vec2_ivec2_vec2
207		expect compile_fail
208		version 300 es
209
210		both ""
211			#version 300 es
212			precision mediump float;
213			precision mediump int;
214
215			${DECLARATIONS}
216
217			void main()
218			{
219				vec2 c;
220				vec2 a;
221				ivec2 b;
222				vec2 c = a + b;
223			}
224		""
225	end
226	case add_vec2_ivec2_ivec2
227		expect compile_fail
228		version 300 es
229
230		both ""
231			#version 300 es
232			precision mediump float;
233			precision mediump int;
234
235			 ${DECLARATIONS}
236
237			void main()
238			{
239				ivec2 c;
240				vec2 a;
241				ivec2 b;
242				ivec2 c = a + b;
243			}
244		""
245	end
246	case add_vec2_ivec3_vec2
247		expect compile_fail
248		version 300 es
249
250		both ""
251			#version 300 es
252			precision mediump float;
253			precision mediump int;
254
255			${DECLARATIONS}
256
257			void main()
258			{
259				vec2 c;
260				vec2 a;
261				ivec3 b;
262				vec2 c = a + b;
263			}
264		""
265	end
266	case add_vec2_ivec3_ivec3
267		expect compile_fail
268		version 300 es
269
270		both ""
271			#version 300 es
272			precision mediump float;
273			precision mediump int;
274
275			 ${DECLARATIONS}
276
277			void main()
278			{
279				ivec3 c;
280				vec2 a;
281				ivec3 b;
282				ivec3 c = a + b;
283			}
284		""
285	end
286	case add_vec2_ivec4_vec2
287		expect compile_fail
288		version 300 es
289
290		both ""
291			#version 300 es
292			precision mediump float;
293			precision mediump int;
294
295			${DECLARATIONS}
296
297			void main()
298			{
299				vec2 c;
300				vec2 a;
301				ivec4 b;
302				vec2 c = a + b;
303			}
304		""
305	end
306	case add_vec2_ivec4_ivec4
307		expect compile_fail
308		version 300 es
309
310		both ""
311			#version 300 es
312			precision mediump float;
313			precision mediump int;
314
315			 ${DECLARATIONS}
316
317			void main()
318			{
319				ivec4 c;
320				vec2 a;
321				ivec4 b;
322				ivec4 c = a + b;
323			}
324		""
325	end
326	case add_vec3_int_vec3
327		expect compile_fail
328		version 300 es
329
330		both ""
331			#version 300 es
332			precision mediump float;
333			precision mediump int;
334
335			${DECLARATIONS}
336
337			void main()
338			{
339				vec3 c;
340				vec3 a;
341				int b;
342				vec3 c = a + b;
343			}
344		""
345	end
346	case add_vec3_int_int
347		expect compile_fail
348		version 300 es
349
350		both ""
351			#version 300 es
352			precision mediump float;
353			precision mediump int;
354
355			 ${DECLARATIONS}
356
357			void main()
358			{
359				int c;
360				vec3 a;
361				int b;
362				int c = a + b;
363			}
364		""
365	end
366	case add_vec3_ivec2_vec3
367		expect compile_fail
368		version 300 es
369
370		both ""
371			#version 300 es
372			precision mediump float;
373			precision mediump int;
374
375			${DECLARATIONS}
376
377			void main()
378			{
379				vec3 c;
380				vec3 a;
381				ivec2 b;
382				vec3 c = a + b;
383			}
384		""
385	end
386	case add_vec3_ivec2_ivec2
387		expect compile_fail
388		version 300 es
389
390		both ""
391			#version 300 es
392			precision mediump float;
393			precision mediump int;
394
395			 ${DECLARATIONS}
396
397			void main()
398			{
399				ivec2 c;
400				vec3 a;
401				ivec2 b;
402				ivec2 c = a + b;
403			}
404		""
405	end
406	case add_vec3_ivec3_vec3
407		expect compile_fail
408		version 300 es
409
410		both ""
411			#version 300 es
412			precision mediump float;
413			precision mediump int;
414
415			${DECLARATIONS}
416
417			void main()
418			{
419				vec3 c;
420				vec3 a;
421				ivec3 b;
422				vec3 c = a + b;
423			}
424		""
425	end
426	case add_vec3_ivec3_ivec3
427		expect compile_fail
428		version 300 es
429
430		both ""
431			#version 300 es
432			precision mediump float;
433			precision mediump int;
434
435			 ${DECLARATIONS}
436
437			void main()
438			{
439				ivec3 c;
440				vec3 a;
441				ivec3 b;
442				ivec3 c = a + b;
443			}
444		""
445	end
446	case add_vec3_ivec4_vec3
447		expect compile_fail
448		version 300 es
449
450		both ""
451			#version 300 es
452			precision mediump float;
453			precision mediump int;
454
455			${DECLARATIONS}
456
457			void main()
458			{
459				vec3 c;
460				vec3 a;
461				ivec4 b;
462				vec3 c = a + b;
463			}
464		""
465	end
466	case add_vec3_ivec4_ivec4
467		expect compile_fail
468		version 300 es
469
470		both ""
471			#version 300 es
472			precision mediump float;
473			precision mediump int;
474
475			 ${DECLARATIONS}
476
477			void main()
478			{
479				ivec4 c;
480				vec3 a;
481				ivec4 b;
482				ivec4 c = a + b;
483			}
484		""
485	end
486	case add_vec4_int_vec4
487		expect compile_fail
488		version 300 es
489
490		both ""
491			#version 300 es
492			precision mediump float;
493			precision mediump int;
494
495			${DECLARATIONS}
496
497			void main()
498			{
499				vec4 c;
500				vec4 a;
501				int b;
502				vec4 c = a + b;
503			}
504		""
505	end
506	case add_vec4_int_int
507		expect compile_fail
508		version 300 es
509
510		both ""
511			#version 300 es
512			precision mediump float;
513			precision mediump int;
514
515			 ${DECLARATIONS}
516
517			void main()
518			{
519				int c;
520				vec4 a;
521				int b;
522				int c = a + b;
523			}
524		""
525	end
526	case add_vec4_ivec2_vec4
527		expect compile_fail
528		version 300 es
529
530		both ""
531			#version 300 es
532			precision mediump float;
533			precision mediump int;
534
535			${DECLARATIONS}
536
537			void main()
538			{
539				vec4 c;
540				vec4 a;
541				ivec2 b;
542				vec4 c = a + b;
543			}
544		""
545	end
546	case add_vec4_ivec2_ivec2
547		expect compile_fail
548		version 300 es
549
550		both ""
551			#version 300 es
552			precision mediump float;
553			precision mediump int;
554
555			 ${DECLARATIONS}
556
557			void main()
558			{
559				ivec2 c;
560				vec4 a;
561				ivec2 b;
562				ivec2 c = a + b;
563			}
564		""
565	end
566	case add_vec4_ivec3_vec4
567		expect compile_fail
568		version 300 es
569
570		both ""
571			#version 300 es
572			precision mediump float;
573			precision mediump int;
574
575			${DECLARATIONS}
576
577			void main()
578			{
579				vec4 c;
580				vec4 a;
581				ivec3 b;
582				vec4 c = a + b;
583			}
584		""
585	end
586	case add_vec4_ivec3_ivec3
587		expect compile_fail
588		version 300 es
589
590		both ""
591			#version 300 es
592			precision mediump float;
593			precision mediump int;
594
595			 ${DECLARATIONS}
596
597			void main()
598			{
599				ivec3 c;
600				vec4 a;
601				ivec3 b;
602				ivec3 c = a + b;
603			}
604		""
605	end
606	case add_vec4_ivec4_vec4
607		expect compile_fail
608		version 300 es
609
610		both ""
611			#version 300 es
612			precision mediump float;
613			precision mediump int;
614
615			${DECLARATIONS}
616
617			void main()
618			{
619				vec4 c;
620				vec4 a;
621				ivec4 b;
622				vec4 c = a + b;
623			}
624		""
625	end
626	case add_vec4_ivec4_ivec4
627		expect compile_fail
628		version 300 es
629
630		both ""
631			#version 300 es
632			precision mediump float;
633			precision mediump int;
634
635			 ${DECLARATIONS}
636
637			void main()
638			{
639				ivec4 c;
640				vec4 a;
641				ivec4 b;
642				ivec4 c = a + b;
643			}
644		""
645	end
646	case add_float_uint_float
647		expect compile_fail
648		version 300 es
649
650		both ""
651			#version 300 es
652			precision mediump float;
653			precision mediump int;
654
655			${DECLARATIONS}
656
657			void main()
658			{
659				float c;
660				float a;
661				uint b;
662				float c = a + b;
663			}
664		""
665	end
666	case add_float_uint_uint
667		expect compile_fail
668		version 300 es
669
670		both ""
671			#version 300 es
672			precision mediump float;
673			precision mediump int;
674
675			 ${DECLARATIONS}
676
677			void main()
678			{
679				uint c;
680				float a;
681				uint b;
682				uint c = a + b;
683			}
684		""
685	end
686	case add_float_uvec2_float
687		expect compile_fail
688		version 300 es
689
690		both ""
691			#version 300 es
692			precision mediump float;
693			precision mediump int;
694
695			${DECLARATIONS}
696
697			void main()
698			{
699				float c;
700				float a;
701				uvec2 b;
702				float c = a + b;
703			}
704		""
705	end
706	case add_float_uvec2_uvec2
707		expect compile_fail
708		version 300 es
709
710		both ""
711			#version 300 es
712			precision mediump float;
713			precision mediump int;
714
715			 ${DECLARATIONS}
716
717			void main()
718			{
719				uvec2 c;
720				float a;
721				uvec2 b;
722				uvec2 c = a + b;
723			}
724		""
725	end
726	case add_float_uvec3_float
727		expect compile_fail
728		version 300 es
729
730		both ""
731			#version 300 es
732			precision mediump float;
733			precision mediump int;
734
735			${DECLARATIONS}
736
737			void main()
738			{
739				float c;
740				float a;
741				uvec3 b;
742				float c = a + b;
743			}
744		""
745	end
746	case add_float_uvec3_uvec3
747		expect compile_fail
748		version 300 es
749
750		both ""
751			#version 300 es
752			precision mediump float;
753			precision mediump int;
754
755			 ${DECLARATIONS}
756
757			void main()
758			{
759				uvec3 c;
760				float a;
761				uvec3 b;
762				uvec3 c = a + b;
763			}
764		""
765	end
766	case add_float_uvec4_float
767		expect compile_fail
768		version 300 es
769
770		both ""
771			#version 300 es
772			precision mediump float;
773			precision mediump int;
774
775			${DECLARATIONS}
776
777			void main()
778			{
779				float c;
780				float a;
781				uvec4 b;
782				float c = a + b;
783			}
784		""
785	end
786	case add_float_uvec4_uvec4
787		expect compile_fail
788		version 300 es
789
790		both ""
791			#version 300 es
792			precision mediump float;
793			precision mediump int;
794
795			 ${DECLARATIONS}
796
797			void main()
798			{
799				uvec4 c;
800				float a;
801				uvec4 b;
802				uvec4 c = a + b;
803			}
804		""
805	end
806	case add_vec2_uint_vec2
807		expect compile_fail
808		version 300 es
809
810		both ""
811			#version 300 es
812			precision mediump float;
813			precision mediump int;
814
815			${DECLARATIONS}
816
817			void main()
818			{
819				vec2 c;
820				vec2 a;
821				uint b;
822				vec2 c = a + b;
823			}
824		""
825	end
826	case add_vec2_uint_uint
827		expect compile_fail
828		version 300 es
829
830		both ""
831			#version 300 es
832			precision mediump float;
833			precision mediump int;
834
835			 ${DECLARATIONS}
836
837			void main()
838			{
839				uint c;
840				vec2 a;
841				uint b;
842				uint c = a + b;
843			}
844		""
845	end
846	case add_vec2_uvec2_vec2
847		expect compile_fail
848		version 300 es
849
850		both ""
851			#version 300 es
852			precision mediump float;
853			precision mediump int;
854
855			${DECLARATIONS}
856
857			void main()
858			{
859				vec2 c;
860				vec2 a;
861				uvec2 b;
862				vec2 c = a + b;
863			}
864		""
865	end
866	case add_vec2_uvec2_uvec2
867		expect compile_fail
868		version 300 es
869
870		both ""
871			#version 300 es
872			precision mediump float;
873			precision mediump int;
874
875			 ${DECLARATIONS}
876
877			void main()
878			{
879				uvec2 c;
880				vec2 a;
881				uvec2 b;
882				uvec2 c = a + b;
883			}
884		""
885	end
886	case add_vec2_uvec3_vec2
887		expect compile_fail
888		version 300 es
889
890		both ""
891			#version 300 es
892			precision mediump float;
893			precision mediump int;
894
895			${DECLARATIONS}
896
897			void main()
898			{
899				vec2 c;
900				vec2 a;
901				uvec3 b;
902				vec2 c = a + b;
903			}
904		""
905	end
906	case add_vec2_uvec3_uvec3
907		expect compile_fail
908		version 300 es
909
910		both ""
911			#version 300 es
912			precision mediump float;
913			precision mediump int;
914
915			 ${DECLARATIONS}
916
917			void main()
918			{
919				uvec3 c;
920				vec2 a;
921				uvec3 b;
922				uvec3 c = a + b;
923			}
924		""
925	end
926	case add_vec2_uvec4_vec2
927		expect compile_fail
928		version 300 es
929
930		both ""
931			#version 300 es
932			precision mediump float;
933			precision mediump int;
934
935			${DECLARATIONS}
936
937			void main()
938			{
939				vec2 c;
940				vec2 a;
941				uvec4 b;
942				vec2 c = a + b;
943			}
944		""
945	end
946	case add_vec2_uvec4_uvec4
947		expect compile_fail
948		version 300 es
949
950		both ""
951			#version 300 es
952			precision mediump float;
953			precision mediump int;
954
955			 ${DECLARATIONS}
956
957			void main()
958			{
959				uvec4 c;
960				vec2 a;
961				uvec4 b;
962				uvec4 c = a + b;
963			}
964		""
965	end
966	case add_vec3_uint_vec3
967		expect compile_fail
968		version 300 es
969
970		both ""
971			#version 300 es
972			precision mediump float;
973			precision mediump int;
974
975			${DECLARATIONS}
976
977			void main()
978			{
979				vec3 c;
980				vec3 a;
981				uint b;
982				vec3 c = a + b;
983			}
984		""
985	end
986	case add_vec3_uint_uint
987		expect compile_fail
988		version 300 es
989
990		both ""
991			#version 300 es
992			precision mediump float;
993			precision mediump int;
994
995			 ${DECLARATIONS}
996
997			void main()
998			{
999				uint c;
1000				vec3 a;
1001				uint b;
1002				uint c = a + b;
1003			}
1004		""
1005	end
1006	case add_vec3_uvec2_vec3
1007		expect compile_fail
1008		version 300 es
1009
1010		both ""
1011			#version 300 es
1012			precision mediump float;
1013			precision mediump int;
1014
1015			${DECLARATIONS}
1016
1017			void main()
1018			{
1019				vec3 c;
1020				vec3 a;
1021				uvec2 b;
1022				vec3 c = a + b;
1023			}
1024		""
1025	end
1026	case add_vec3_uvec2_uvec2
1027		expect compile_fail
1028		version 300 es
1029
1030		both ""
1031			#version 300 es
1032			precision mediump float;
1033			precision mediump int;
1034
1035			 ${DECLARATIONS}
1036
1037			void main()
1038			{
1039				uvec2 c;
1040				vec3 a;
1041				uvec2 b;
1042				uvec2 c = a + b;
1043			}
1044		""
1045	end
1046	case add_vec3_uvec3_vec3
1047		expect compile_fail
1048		version 300 es
1049
1050		both ""
1051			#version 300 es
1052			precision mediump float;
1053			precision mediump int;
1054
1055			${DECLARATIONS}
1056
1057			void main()
1058			{
1059				vec3 c;
1060				vec3 a;
1061				uvec3 b;
1062				vec3 c = a + b;
1063			}
1064		""
1065	end
1066	case add_vec3_uvec3_uvec3
1067		expect compile_fail
1068		version 300 es
1069
1070		both ""
1071			#version 300 es
1072			precision mediump float;
1073			precision mediump int;
1074
1075			 ${DECLARATIONS}
1076
1077			void main()
1078			{
1079				uvec3 c;
1080				vec3 a;
1081				uvec3 b;
1082				uvec3 c = a + b;
1083			}
1084		""
1085	end
1086	case add_vec3_uvec4_vec3
1087		expect compile_fail
1088		version 300 es
1089
1090		both ""
1091			#version 300 es
1092			precision mediump float;
1093			precision mediump int;
1094
1095			${DECLARATIONS}
1096
1097			void main()
1098			{
1099				vec3 c;
1100				vec3 a;
1101				uvec4 b;
1102				vec3 c = a + b;
1103			}
1104		""
1105	end
1106	case add_vec3_uvec4_uvec4
1107		expect compile_fail
1108		version 300 es
1109
1110		both ""
1111			#version 300 es
1112			precision mediump float;
1113			precision mediump int;
1114
1115			 ${DECLARATIONS}
1116
1117			void main()
1118			{
1119				uvec4 c;
1120				vec3 a;
1121				uvec4 b;
1122				uvec4 c = a + b;
1123			}
1124		""
1125	end
1126	case add_vec4_uint_vec4
1127		expect compile_fail
1128		version 300 es
1129
1130		both ""
1131			#version 300 es
1132			precision mediump float;
1133			precision mediump int;
1134
1135			${DECLARATIONS}
1136
1137			void main()
1138			{
1139				vec4 c;
1140				vec4 a;
1141				uint b;
1142				vec4 c = a + b;
1143			}
1144		""
1145	end
1146	case add_vec4_uint_uint
1147		expect compile_fail
1148		version 300 es
1149
1150		both ""
1151			#version 300 es
1152			precision mediump float;
1153			precision mediump int;
1154
1155			 ${DECLARATIONS}
1156
1157			void main()
1158			{
1159				uint c;
1160				vec4 a;
1161				uint b;
1162				uint c = a + b;
1163			}
1164		""
1165	end
1166	case add_vec4_uvec2_vec4
1167		expect compile_fail
1168		version 300 es
1169
1170		both ""
1171			#version 300 es
1172			precision mediump float;
1173			precision mediump int;
1174
1175			${DECLARATIONS}
1176
1177			void main()
1178			{
1179				vec4 c;
1180				vec4 a;
1181				uvec2 b;
1182				vec4 c = a + b;
1183			}
1184		""
1185	end
1186	case add_vec4_uvec2_uvec2
1187		expect compile_fail
1188		version 300 es
1189
1190		both ""
1191			#version 300 es
1192			precision mediump float;
1193			precision mediump int;
1194
1195			 ${DECLARATIONS}
1196
1197			void main()
1198			{
1199				uvec2 c;
1200				vec4 a;
1201				uvec2 b;
1202				uvec2 c = a + b;
1203			}
1204		""
1205	end
1206	case add_vec4_uvec3_vec4
1207		expect compile_fail
1208		version 300 es
1209
1210		both ""
1211			#version 300 es
1212			precision mediump float;
1213			precision mediump int;
1214
1215			${DECLARATIONS}
1216
1217			void main()
1218			{
1219				vec4 c;
1220				vec4 a;
1221				uvec3 b;
1222				vec4 c = a + b;
1223			}
1224		""
1225	end
1226	case add_vec4_uvec3_uvec3
1227		expect compile_fail
1228		version 300 es
1229
1230		both ""
1231			#version 300 es
1232			precision mediump float;
1233			precision mediump int;
1234
1235			 ${DECLARATIONS}
1236
1237			void main()
1238			{
1239				uvec3 c;
1240				vec4 a;
1241				uvec3 b;
1242				uvec3 c = a + b;
1243			}
1244		""
1245	end
1246	case add_vec4_uvec4_vec4
1247		expect compile_fail
1248		version 300 es
1249
1250		both ""
1251			#version 300 es
1252			precision mediump float;
1253			precision mediump int;
1254
1255			${DECLARATIONS}
1256
1257			void main()
1258			{
1259				vec4 c;
1260				vec4 a;
1261				uvec4 b;
1262				vec4 c = a + b;
1263			}
1264		""
1265	end
1266	case add_vec4_uvec4_uvec4
1267		expect compile_fail
1268		version 300 es
1269
1270		both ""
1271			#version 300 es
1272			precision mediump float;
1273			precision mediump int;
1274
1275			 ${DECLARATIONS}
1276
1277			void main()
1278			{
1279				uvec4 c;
1280				vec4 a;
1281				uvec4 b;
1282				uvec4 c = a + b;
1283			}
1284		""
1285	end
1286	case add_int_uint_int
1287		expect compile_fail
1288		version 300 es
1289
1290		both ""
1291			#version 300 es
1292			precision mediump float;
1293			precision mediump int;
1294
1295			${DECLARATIONS}
1296
1297			void main()
1298			{
1299				int c;
1300				int a;
1301				uint b;
1302				int c = a + b;
1303			}
1304		""
1305	end
1306	case add_int_uint_uint
1307		expect compile_fail
1308		version 300 es
1309
1310		both ""
1311			#version 300 es
1312			precision mediump float;
1313			precision mediump int;
1314
1315			 ${DECLARATIONS}
1316
1317			void main()
1318			{
1319				uint c;
1320				int a;
1321				uint b;
1322				uint c = a + b;
1323			}
1324		""
1325	end
1326	case add_int_uvec2_int
1327		expect compile_fail
1328		version 300 es
1329
1330		both ""
1331			#version 300 es
1332			precision mediump float;
1333			precision mediump int;
1334
1335			${DECLARATIONS}
1336
1337			void main()
1338			{
1339				int c;
1340				int a;
1341				uvec2 b;
1342				int c = a + b;
1343			}
1344		""
1345	end
1346	case add_int_uvec2_uvec2
1347		expect compile_fail
1348		version 300 es
1349
1350		both ""
1351			#version 300 es
1352			precision mediump float;
1353			precision mediump int;
1354
1355			 ${DECLARATIONS}
1356
1357			void main()
1358			{
1359				uvec2 c;
1360				int a;
1361				uvec2 b;
1362				uvec2 c = a + b;
1363			}
1364		""
1365	end
1366	case add_int_uvec3_int
1367		expect compile_fail
1368		version 300 es
1369
1370		both ""
1371			#version 300 es
1372			precision mediump float;
1373			precision mediump int;
1374
1375			${DECLARATIONS}
1376
1377			void main()
1378			{
1379				int c;
1380				int a;
1381				uvec3 b;
1382				int c = a + b;
1383			}
1384		""
1385	end
1386	case add_int_uvec3_uvec3
1387		expect compile_fail
1388		version 300 es
1389
1390		both ""
1391			#version 300 es
1392			precision mediump float;
1393			precision mediump int;
1394
1395			 ${DECLARATIONS}
1396
1397			void main()
1398			{
1399				uvec3 c;
1400				int a;
1401				uvec3 b;
1402				uvec3 c = a + b;
1403			}
1404		""
1405	end
1406	case add_int_uvec4_int
1407		expect compile_fail
1408		version 300 es
1409
1410		both ""
1411			#version 300 es
1412			precision mediump float;
1413			precision mediump int;
1414
1415			${DECLARATIONS}
1416
1417			void main()
1418			{
1419				int c;
1420				int a;
1421				uvec4 b;
1422				int c = a + b;
1423			}
1424		""
1425	end
1426	case add_int_uvec4_uvec4
1427		expect compile_fail
1428		version 300 es
1429
1430		both ""
1431			#version 300 es
1432			precision mediump float;
1433			precision mediump int;
1434
1435			 ${DECLARATIONS}
1436
1437			void main()
1438			{
1439				uvec4 c;
1440				int a;
1441				uvec4 b;
1442				uvec4 c = a + b;
1443			}
1444		""
1445	end
1446	case add_ivec2_uint_ivec2
1447		expect compile_fail
1448		version 300 es
1449
1450		both ""
1451			#version 300 es
1452			precision mediump float;
1453			precision mediump int;
1454
1455			${DECLARATIONS}
1456
1457			void main()
1458			{
1459				ivec2 c;
1460				ivec2 a;
1461				uint b;
1462				ivec2 c = a + b;
1463			}
1464		""
1465	end
1466	case add_ivec2_uint_uint
1467		expect compile_fail
1468		version 300 es
1469
1470		both ""
1471			#version 300 es
1472			precision mediump float;
1473			precision mediump int;
1474
1475			 ${DECLARATIONS}
1476
1477			void main()
1478			{
1479				uint c;
1480				ivec2 a;
1481				uint b;
1482				uint c = a + b;
1483			}
1484		""
1485	end
1486	case add_ivec2_uvec2_ivec2
1487		expect compile_fail
1488		version 300 es
1489
1490		both ""
1491			#version 300 es
1492			precision mediump float;
1493			precision mediump int;
1494
1495			${DECLARATIONS}
1496
1497			void main()
1498			{
1499				ivec2 c;
1500				ivec2 a;
1501				uvec2 b;
1502				ivec2 c = a + b;
1503			}
1504		""
1505	end
1506	case add_ivec2_uvec2_uvec2
1507		expect compile_fail
1508		version 300 es
1509
1510		both ""
1511			#version 300 es
1512			precision mediump float;
1513			precision mediump int;
1514
1515			 ${DECLARATIONS}
1516
1517			void main()
1518			{
1519				uvec2 c;
1520				ivec2 a;
1521				uvec2 b;
1522				uvec2 c = a + b;
1523			}
1524		""
1525	end
1526	case add_ivec2_uvec3_ivec2
1527		expect compile_fail
1528		version 300 es
1529
1530		both ""
1531			#version 300 es
1532			precision mediump float;
1533			precision mediump int;
1534
1535			${DECLARATIONS}
1536
1537			void main()
1538			{
1539				ivec2 c;
1540				ivec2 a;
1541				uvec3 b;
1542				ivec2 c = a + b;
1543			}
1544		""
1545	end
1546	case add_ivec2_uvec3_uvec3
1547		expect compile_fail
1548		version 300 es
1549
1550		both ""
1551			#version 300 es
1552			precision mediump float;
1553			precision mediump int;
1554
1555			 ${DECLARATIONS}
1556
1557			void main()
1558			{
1559				uvec3 c;
1560				ivec2 a;
1561				uvec3 b;
1562				uvec3 c = a + b;
1563			}
1564		""
1565	end
1566	case add_ivec2_uvec4_ivec2
1567		expect compile_fail
1568		version 300 es
1569
1570		both ""
1571			#version 300 es
1572			precision mediump float;
1573			precision mediump int;
1574
1575			${DECLARATIONS}
1576
1577			void main()
1578			{
1579				ivec2 c;
1580				ivec2 a;
1581				uvec4 b;
1582				ivec2 c = a + b;
1583			}
1584		""
1585	end
1586	case add_ivec2_uvec4_uvec4
1587		expect compile_fail
1588		version 300 es
1589
1590		both ""
1591			#version 300 es
1592			precision mediump float;
1593			precision mediump int;
1594
1595			 ${DECLARATIONS}
1596
1597			void main()
1598			{
1599				uvec4 c;
1600				ivec2 a;
1601				uvec4 b;
1602				uvec4 c = a + b;
1603			}
1604		""
1605	end
1606	case add_ivec3_uint_ivec3
1607		expect compile_fail
1608		version 300 es
1609
1610		both ""
1611			#version 300 es
1612			precision mediump float;
1613			precision mediump int;
1614
1615			${DECLARATIONS}
1616
1617			void main()
1618			{
1619				ivec3 c;
1620				ivec3 a;
1621				uint b;
1622				ivec3 c = a + b;
1623			}
1624		""
1625	end
1626	case add_ivec3_uint_uint
1627		expect compile_fail
1628		version 300 es
1629
1630		both ""
1631			#version 300 es
1632			precision mediump float;
1633			precision mediump int;
1634
1635			 ${DECLARATIONS}
1636
1637			void main()
1638			{
1639				uint c;
1640				ivec3 a;
1641				uint b;
1642				uint c = a + b;
1643			}
1644		""
1645	end
1646	case add_ivec3_uvec2_ivec3
1647		expect compile_fail
1648		version 300 es
1649
1650		both ""
1651			#version 300 es
1652			precision mediump float;
1653			precision mediump int;
1654
1655			${DECLARATIONS}
1656
1657			void main()
1658			{
1659				ivec3 c;
1660				ivec3 a;
1661				uvec2 b;
1662				ivec3 c = a + b;
1663			}
1664		""
1665	end
1666	case add_ivec3_uvec2_uvec2
1667		expect compile_fail
1668		version 300 es
1669
1670		both ""
1671			#version 300 es
1672			precision mediump float;
1673			precision mediump int;
1674
1675			 ${DECLARATIONS}
1676
1677			void main()
1678			{
1679				uvec2 c;
1680				ivec3 a;
1681				uvec2 b;
1682				uvec2 c = a + b;
1683			}
1684		""
1685	end
1686	case add_ivec3_uvec3_ivec3
1687		expect compile_fail
1688		version 300 es
1689
1690		both ""
1691			#version 300 es
1692			precision mediump float;
1693			precision mediump int;
1694
1695			${DECLARATIONS}
1696
1697			void main()
1698			{
1699				ivec3 c;
1700				ivec3 a;
1701				uvec3 b;
1702				ivec3 c = a + b;
1703			}
1704		""
1705	end
1706	case add_ivec3_uvec3_uvec3
1707		expect compile_fail
1708		version 300 es
1709
1710		both ""
1711			#version 300 es
1712			precision mediump float;
1713			precision mediump int;
1714
1715			 ${DECLARATIONS}
1716
1717			void main()
1718			{
1719				uvec3 c;
1720				ivec3 a;
1721				uvec3 b;
1722				uvec3 c = a + b;
1723			}
1724		""
1725	end
1726	case add_ivec3_uvec4_ivec3
1727		expect compile_fail
1728		version 300 es
1729
1730		both ""
1731			#version 300 es
1732			precision mediump float;
1733			precision mediump int;
1734
1735			${DECLARATIONS}
1736
1737			void main()
1738			{
1739				ivec3 c;
1740				ivec3 a;
1741				uvec4 b;
1742				ivec3 c = a + b;
1743			}
1744		""
1745	end
1746	case add_ivec3_uvec4_uvec4
1747		expect compile_fail
1748		version 300 es
1749
1750		both ""
1751			#version 300 es
1752			precision mediump float;
1753			precision mediump int;
1754
1755			 ${DECLARATIONS}
1756
1757			void main()
1758			{
1759				uvec4 c;
1760				ivec3 a;
1761				uvec4 b;
1762				uvec4 c = a + b;
1763			}
1764		""
1765	end
1766	case add_ivec4_uint_ivec4
1767		expect compile_fail
1768		version 300 es
1769
1770		both ""
1771			#version 300 es
1772			precision mediump float;
1773			precision mediump int;
1774
1775			${DECLARATIONS}
1776
1777			void main()
1778			{
1779				ivec4 c;
1780				ivec4 a;
1781				uint b;
1782				ivec4 c = a + b;
1783			}
1784		""
1785	end
1786	case add_ivec4_uint_uint
1787		expect compile_fail
1788		version 300 es
1789
1790		both ""
1791			#version 300 es
1792			precision mediump float;
1793			precision mediump int;
1794
1795			 ${DECLARATIONS}
1796
1797			void main()
1798			{
1799				uint c;
1800				ivec4 a;
1801				uint b;
1802				uint c = a + b;
1803			}
1804		""
1805	end
1806	case add_ivec4_uvec2_ivec4
1807		expect compile_fail
1808		version 300 es
1809
1810		both ""
1811			#version 300 es
1812			precision mediump float;
1813			precision mediump int;
1814
1815			${DECLARATIONS}
1816
1817			void main()
1818			{
1819				ivec4 c;
1820				ivec4 a;
1821				uvec2 b;
1822				ivec4 c = a + b;
1823			}
1824		""
1825	end
1826	case add_ivec4_uvec2_uvec2
1827		expect compile_fail
1828		version 300 es
1829
1830		both ""
1831			#version 300 es
1832			precision mediump float;
1833			precision mediump int;
1834
1835			 ${DECLARATIONS}
1836
1837			void main()
1838			{
1839				uvec2 c;
1840				ivec4 a;
1841				uvec2 b;
1842				uvec2 c = a + b;
1843			}
1844		""
1845	end
1846	case add_ivec4_uvec3_ivec4
1847		expect compile_fail
1848		version 300 es
1849
1850		both ""
1851			#version 300 es
1852			precision mediump float;
1853			precision mediump int;
1854
1855			${DECLARATIONS}
1856
1857			void main()
1858			{
1859				ivec4 c;
1860				ivec4 a;
1861				uvec3 b;
1862				ivec4 c = a + b;
1863			}
1864		""
1865	end
1866	case add_ivec4_uvec3_uvec3
1867		expect compile_fail
1868		version 300 es
1869
1870		both ""
1871			#version 300 es
1872			precision mediump float;
1873			precision mediump int;
1874
1875			 ${DECLARATIONS}
1876
1877			void main()
1878			{
1879				uvec3 c;
1880				ivec4 a;
1881				uvec3 b;
1882				uvec3 c = a + b;
1883			}
1884		""
1885	end
1886	case add_ivec4_uvec4_ivec4
1887		expect compile_fail
1888		version 300 es
1889
1890		both ""
1891			#version 300 es
1892			precision mediump float;
1893			precision mediump int;
1894
1895			${DECLARATIONS}
1896
1897			void main()
1898			{
1899				ivec4 c;
1900				ivec4 a;
1901				uvec4 b;
1902				ivec4 c = a + b;
1903			}
1904		""
1905	end
1906	case add_ivec4_uvec4_uvec4
1907		expect compile_fail
1908		version 300 es
1909
1910		both ""
1911			#version 300 es
1912			precision mediump float;
1913			precision mediump int;
1914
1915			 ${DECLARATIONS}
1916
1917			void main()
1918			{
1919				uvec4 c;
1920				ivec4 a;
1921				uvec4 b;
1922				uvec4 c = a + b;
1923			}
1924		""
1925	end
1926	case mul_float_int_float
1927		expect compile_fail
1928		version 300 es
1929
1930		both ""
1931			#version 300 es
1932			precision mediump float;
1933			precision mediump int;
1934
1935			${DECLARATIONS}
1936
1937			void main()
1938			{
1939				float c;
1940				float a;
1941				int b;
1942				float c = a * b;
1943			}
1944		""
1945	end
1946	case mul_float_int_int
1947		expect compile_fail
1948		version 300 es
1949
1950		both ""
1951			#version 300 es
1952			precision mediump float;
1953			precision mediump int;
1954
1955			 ${DECLARATIONS}
1956
1957			void main()
1958			{
1959				int c;
1960				float a;
1961				int b;
1962				int c = a * b;
1963			}
1964		""
1965	end
1966	case mul_float_ivec2_float
1967		expect compile_fail
1968		version 300 es
1969
1970		both ""
1971			#version 300 es
1972			precision mediump float;
1973			precision mediump int;
1974
1975			${DECLARATIONS}
1976
1977			void main()
1978			{
1979				float c;
1980				float a;
1981				ivec2 b;
1982				float c = a * b;
1983			}
1984		""
1985	end
1986	case mul_float_ivec2_ivec2
1987		expect compile_fail
1988		version 300 es
1989
1990		both ""
1991			#version 300 es
1992			precision mediump float;
1993			precision mediump int;
1994
1995			 ${DECLARATIONS}
1996
1997			void main()
1998			{
1999				ivec2 c;
2000				float a;
2001				ivec2 b;
2002				ivec2 c = a * b;
2003			}
2004		""
2005	end
2006	case mul_float_ivec3_float
2007		expect compile_fail
2008		version 300 es
2009
2010		both ""
2011			#version 300 es
2012			precision mediump float;
2013			precision mediump int;
2014
2015			${DECLARATIONS}
2016
2017			void main()
2018			{
2019				float c;
2020				float a;
2021				ivec3 b;
2022				float c = a * b;
2023			}
2024		""
2025	end
2026	case mul_float_ivec3_ivec3
2027		expect compile_fail
2028		version 300 es
2029
2030		both ""
2031			#version 300 es
2032			precision mediump float;
2033			precision mediump int;
2034
2035			 ${DECLARATIONS}
2036
2037			void main()
2038			{
2039				ivec3 c;
2040				float a;
2041				ivec3 b;
2042				ivec3 c = a * b;
2043			}
2044		""
2045	end
2046	case mul_float_ivec4_float
2047		expect compile_fail
2048		version 300 es
2049
2050		both ""
2051			#version 300 es
2052			precision mediump float;
2053			precision mediump int;
2054
2055			${DECLARATIONS}
2056
2057			void main()
2058			{
2059				float c;
2060				float a;
2061				ivec4 b;
2062				float c = a * b;
2063			}
2064		""
2065	end
2066	case mul_float_ivec4_ivec4
2067		expect compile_fail
2068		version 300 es
2069
2070		both ""
2071			#version 300 es
2072			precision mediump float;
2073			precision mediump int;
2074
2075			 ${DECLARATIONS}
2076
2077			void main()
2078			{
2079				ivec4 c;
2080				float a;
2081				ivec4 b;
2082				ivec4 c = a * b;
2083			}
2084		""
2085	end
2086	case mul_vec2_int_vec2
2087		expect compile_fail
2088		version 300 es
2089
2090		both ""
2091			#version 300 es
2092			precision mediump float;
2093			precision mediump int;
2094
2095			${DECLARATIONS}
2096
2097			void main()
2098			{
2099				vec2 c;
2100				vec2 a;
2101				int b;
2102				vec2 c = a * b;
2103			}
2104		""
2105	end
2106	case mul_vec2_int_int
2107		expect compile_fail
2108		version 300 es
2109
2110		both ""
2111			#version 300 es
2112			precision mediump float;
2113			precision mediump int;
2114
2115			 ${DECLARATIONS}
2116
2117			void main()
2118			{
2119				int c;
2120				vec2 a;
2121				int b;
2122				int c = a * b;
2123			}
2124		""
2125	end
2126	case mul_vec2_ivec2_vec2
2127		expect compile_fail
2128		version 300 es
2129
2130		both ""
2131			#version 300 es
2132			precision mediump float;
2133			precision mediump int;
2134
2135			${DECLARATIONS}
2136
2137			void main()
2138			{
2139				vec2 c;
2140				vec2 a;
2141				ivec2 b;
2142				vec2 c = a * b;
2143			}
2144		""
2145	end
2146	case mul_vec2_ivec2_ivec2
2147		expect compile_fail
2148		version 300 es
2149
2150		both ""
2151			#version 300 es
2152			precision mediump float;
2153			precision mediump int;
2154
2155			 ${DECLARATIONS}
2156
2157			void main()
2158			{
2159				ivec2 c;
2160				vec2 a;
2161				ivec2 b;
2162				ivec2 c = a * b;
2163			}
2164		""
2165	end
2166	case mul_vec2_ivec3_vec2
2167		expect compile_fail
2168		version 300 es
2169
2170		both ""
2171			#version 300 es
2172			precision mediump float;
2173			precision mediump int;
2174
2175			${DECLARATIONS}
2176
2177			void main()
2178			{
2179				vec2 c;
2180				vec2 a;
2181				ivec3 b;
2182				vec2 c = a * b;
2183			}
2184		""
2185	end
2186	case mul_vec2_ivec3_ivec3
2187		expect compile_fail
2188		version 300 es
2189
2190		both ""
2191			#version 300 es
2192			precision mediump float;
2193			precision mediump int;
2194
2195			 ${DECLARATIONS}
2196
2197			void main()
2198			{
2199				ivec3 c;
2200				vec2 a;
2201				ivec3 b;
2202				ivec3 c = a * b;
2203			}
2204		""
2205	end
2206	case mul_vec2_ivec4_vec2
2207		expect compile_fail
2208		version 300 es
2209
2210		both ""
2211			#version 300 es
2212			precision mediump float;
2213			precision mediump int;
2214
2215			${DECLARATIONS}
2216
2217			void main()
2218			{
2219				vec2 c;
2220				vec2 a;
2221				ivec4 b;
2222				vec2 c = a * b;
2223			}
2224		""
2225	end
2226	case mul_vec2_ivec4_ivec4
2227		expect compile_fail
2228		version 300 es
2229
2230		both ""
2231			#version 300 es
2232			precision mediump float;
2233			precision mediump int;
2234
2235			 ${DECLARATIONS}
2236
2237			void main()
2238			{
2239				ivec4 c;
2240				vec2 a;
2241				ivec4 b;
2242				ivec4 c = a * b;
2243			}
2244		""
2245	end
2246	case mul_vec3_int_vec3
2247		expect compile_fail
2248		version 300 es
2249
2250		both ""
2251			#version 300 es
2252			precision mediump float;
2253			precision mediump int;
2254
2255			${DECLARATIONS}
2256
2257			void main()
2258			{
2259				vec3 c;
2260				vec3 a;
2261				int b;
2262				vec3 c = a * b;
2263			}
2264		""
2265	end
2266	case mul_vec3_int_int
2267		expect compile_fail
2268		version 300 es
2269
2270		both ""
2271			#version 300 es
2272			precision mediump float;
2273			precision mediump int;
2274
2275			 ${DECLARATIONS}
2276
2277			void main()
2278			{
2279				int c;
2280				vec3 a;
2281				int b;
2282				int c = a * b;
2283			}
2284		""
2285	end
2286	case mul_vec3_ivec2_vec3
2287		expect compile_fail
2288		version 300 es
2289
2290		both ""
2291			#version 300 es
2292			precision mediump float;
2293			precision mediump int;
2294
2295			${DECLARATIONS}
2296
2297			void main()
2298			{
2299				vec3 c;
2300				vec3 a;
2301				ivec2 b;
2302				vec3 c = a * b;
2303			}
2304		""
2305	end
2306	case mul_vec3_ivec2_ivec2
2307		expect compile_fail
2308		version 300 es
2309
2310		both ""
2311			#version 300 es
2312			precision mediump float;
2313			precision mediump int;
2314
2315			 ${DECLARATIONS}
2316
2317			void main()
2318			{
2319				ivec2 c;
2320				vec3 a;
2321				ivec2 b;
2322				ivec2 c = a * b;
2323			}
2324		""
2325	end
2326	case mul_vec3_ivec3_vec3
2327		expect compile_fail
2328		version 300 es
2329
2330		both ""
2331			#version 300 es
2332			precision mediump float;
2333			precision mediump int;
2334
2335			${DECLARATIONS}
2336
2337			void main()
2338			{
2339				vec3 c;
2340				vec3 a;
2341				ivec3 b;
2342				vec3 c = a * b;
2343			}
2344		""
2345	end
2346	case mul_vec3_ivec3_ivec3
2347		expect compile_fail
2348		version 300 es
2349
2350		both ""
2351			#version 300 es
2352			precision mediump float;
2353			precision mediump int;
2354
2355			 ${DECLARATIONS}
2356
2357			void main()
2358			{
2359				ivec3 c;
2360				vec3 a;
2361				ivec3 b;
2362				ivec3 c = a * b;
2363			}
2364		""
2365	end
2366	case mul_vec3_ivec4_vec3
2367		expect compile_fail
2368		version 300 es
2369
2370		both ""
2371			#version 300 es
2372			precision mediump float;
2373			precision mediump int;
2374
2375			${DECLARATIONS}
2376
2377			void main()
2378			{
2379				vec3 c;
2380				vec3 a;
2381				ivec4 b;
2382				vec3 c = a * b;
2383			}
2384		""
2385	end
2386	case mul_vec3_ivec4_ivec4
2387		expect compile_fail
2388		version 300 es
2389
2390		both ""
2391			#version 300 es
2392			precision mediump float;
2393			precision mediump int;
2394
2395			 ${DECLARATIONS}
2396
2397			void main()
2398			{
2399				ivec4 c;
2400				vec3 a;
2401				ivec4 b;
2402				ivec4 c = a * b;
2403			}
2404		""
2405	end
2406	case mul_vec4_int_vec4
2407		expect compile_fail
2408		version 300 es
2409
2410		both ""
2411			#version 300 es
2412			precision mediump float;
2413			precision mediump int;
2414
2415			${DECLARATIONS}
2416
2417			void main()
2418			{
2419				vec4 c;
2420				vec4 a;
2421				int b;
2422				vec4 c = a * b;
2423			}
2424		""
2425	end
2426	case mul_vec4_int_int
2427		expect compile_fail
2428		version 300 es
2429
2430		both ""
2431			#version 300 es
2432			precision mediump float;
2433			precision mediump int;
2434
2435			 ${DECLARATIONS}
2436
2437			void main()
2438			{
2439				int c;
2440				vec4 a;
2441				int b;
2442				int c = a * b;
2443			}
2444		""
2445	end
2446	case mul_vec4_ivec2_vec4
2447		expect compile_fail
2448		version 300 es
2449
2450		both ""
2451			#version 300 es
2452			precision mediump float;
2453			precision mediump int;
2454
2455			${DECLARATIONS}
2456
2457			void main()
2458			{
2459				vec4 c;
2460				vec4 a;
2461				ivec2 b;
2462				vec4 c = a * b;
2463			}
2464		""
2465	end
2466	case mul_vec4_ivec2_ivec2
2467		expect compile_fail
2468		version 300 es
2469
2470		both ""
2471			#version 300 es
2472			precision mediump float;
2473			precision mediump int;
2474
2475			 ${DECLARATIONS}
2476
2477			void main()
2478			{
2479				ivec2 c;
2480				vec4 a;
2481				ivec2 b;
2482				ivec2 c = a * b;
2483			}
2484		""
2485	end
2486	case mul_vec4_ivec3_vec4
2487		expect compile_fail
2488		version 300 es
2489
2490		both ""
2491			#version 300 es
2492			precision mediump float;
2493			precision mediump int;
2494
2495			${DECLARATIONS}
2496
2497			void main()
2498			{
2499				vec4 c;
2500				vec4 a;
2501				ivec3 b;
2502				vec4 c = a * b;
2503			}
2504		""
2505	end
2506	case mul_vec4_ivec3_ivec3
2507		expect compile_fail
2508		version 300 es
2509
2510		both ""
2511			#version 300 es
2512			precision mediump float;
2513			precision mediump int;
2514
2515			 ${DECLARATIONS}
2516
2517			void main()
2518			{
2519				ivec3 c;
2520				vec4 a;
2521				ivec3 b;
2522				ivec3 c = a * b;
2523			}
2524		""
2525	end
2526	case mul_vec4_ivec4_vec4
2527		expect compile_fail
2528		version 300 es
2529
2530		both ""
2531			#version 300 es
2532			precision mediump float;
2533			precision mediump int;
2534
2535			${DECLARATIONS}
2536
2537			void main()
2538			{
2539				vec4 c;
2540				vec4 a;
2541				ivec4 b;
2542				vec4 c = a * b;
2543			}
2544		""
2545	end
2546	case mul_vec4_ivec4_ivec4
2547		expect compile_fail
2548		version 300 es
2549
2550		both ""
2551			#version 300 es
2552			precision mediump float;
2553			precision mediump int;
2554
2555			 ${DECLARATIONS}
2556
2557			void main()
2558			{
2559				ivec4 c;
2560				vec4 a;
2561				ivec4 b;
2562				ivec4 c = a * b;
2563			}
2564		""
2565	end
2566	case mul_float_uint_float
2567		expect compile_fail
2568		version 300 es
2569
2570		both ""
2571			#version 300 es
2572			precision mediump float;
2573			precision mediump int;
2574
2575			${DECLARATIONS}
2576
2577			void main()
2578			{
2579				float c;
2580				float a;
2581				uint b;
2582				float c = a * b;
2583			}
2584		""
2585	end
2586	case mul_float_uint_uint
2587		expect compile_fail
2588		version 300 es
2589
2590		both ""
2591			#version 300 es
2592			precision mediump float;
2593			precision mediump int;
2594
2595			 ${DECLARATIONS}
2596
2597			void main()
2598			{
2599				uint c;
2600				float a;
2601				uint b;
2602				uint c = a * b;
2603			}
2604		""
2605	end
2606	case mul_float_uvec2_float
2607		expect compile_fail
2608		version 300 es
2609
2610		both ""
2611			#version 300 es
2612			precision mediump float;
2613			precision mediump int;
2614
2615			${DECLARATIONS}
2616
2617			void main()
2618			{
2619				float c;
2620				float a;
2621				uvec2 b;
2622				float c = a * b;
2623			}
2624		""
2625	end
2626	case mul_float_uvec2_uvec2
2627		expect compile_fail
2628		version 300 es
2629
2630		both ""
2631			#version 300 es
2632			precision mediump float;
2633			precision mediump int;
2634
2635			 ${DECLARATIONS}
2636
2637			void main()
2638			{
2639				uvec2 c;
2640				float a;
2641				uvec2 b;
2642				uvec2 c = a * b;
2643			}
2644		""
2645	end
2646	case mul_float_uvec3_float
2647		expect compile_fail
2648		version 300 es
2649
2650		both ""
2651			#version 300 es
2652			precision mediump float;
2653			precision mediump int;
2654
2655			${DECLARATIONS}
2656
2657			void main()
2658			{
2659				float c;
2660				float a;
2661				uvec3 b;
2662				float c = a * b;
2663			}
2664		""
2665	end
2666	case mul_float_uvec3_uvec3
2667		expect compile_fail
2668		version 300 es
2669
2670		both ""
2671			#version 300 es
2672			precision mediump float;
2673			precision mediump int;
2674
2675			 ${DECLARATIONS}
2676
2677			void main()
2678			{
2679				uvec3 c;
2680				float a;
2681				uvec3 b;
2682				uvec3 c = a * b;
2683			}
2684		""
2685	end
2686	case mul_float_uvec4_float
2687		expect compile_fail
2688		version 300 es
2689
2690		both ""
2691			#version 300 es
2692			precision mediump float;
2693			precision mediump int;
2694
2695			${DECLARATIONS}
2696
2697			void main()
2698			{
2699				float c;
2700				float a;
2701				uvec4 b;
2702				float c = a * b;
2703			}
2704		""
2705	end
2706	case mul_float_uvec4_uvec4
2707		expect compile_fail
2708		version 300 es
2709
2710		both ""
2711			#version 300 es
2712			precision mediump float;
2713			precision mediump int;
2714
2715			 ${DECLARATIONS}
2716
2717			void main()
2718			{
2719				uvec4 c;
2720				float a;
2721				uvec4 b;
2722				uvec4 c = a * b;
2723			}
2724		""
2725	end
2726	case mul_vec2_uint_vec2
2727		expect compile_fail
2728		version 300 es
2729
2730		both ""
2731			#version 300 es
2732			precision mediump float;
2733			precision mediump int;
2734
2735			${DECLARATIONS}
2736
2737			void main()
2738			{
2739				vec2 c;
2740				vec2 a;
2741				uint b;
2742				vec2 c = a * b;
2743			}
2744		""
2745	end
2746	case mul_vec2_uint_uint
2747		expect compile_fail
2748		version 300 es
2749
2750		both ""
2751			#version 300 es
2752			precision mediump float;
2753			precision mediump int;
2754
2755			 ${DECLARATIONS}
2756
2757			void main()
2758			{
2759				uint c;
2760				vec2 a;
2761				uint b;
2762				uint c = a * b;
2763			}
2764		""
2765	end
2766	case mul_vec2_uvec2_vec2
2767		expect compile_fail
2768		version 300 es
2769
2770		both ""
2771			#version 300 es
2772			precision mediump float;
2773			precision mediump int;
2774
2775			${DECLARATIONS}
2776
2777			void main()
2778			{
2779				vec2 c;
2780				vec2 a;
2781				uvec2 b;
2782				vec2 c = a * b;
2783			}
2784		""
2785	end
2786	case mul_vec2_uvec2_uvec2
2787		expect compile_fail
2788		version 300 es
2789
2790		both ""
2791			#version 300 es
2792			precision mediump float;
2793			precision mediump int;
2794
2795			 ${DECLARATIONS}
2796
2797			void main()
2798			{
2799				uvec2 c;
2800				vec2 a;
2801				uvec2 b;
2802				uvec2 c = a * b;
2803			}
2804		""
2805	end
2806	case mul_vec2_uvec3_vec2
2807		expect compile_fail
2808		version 300 es
2809
2810		both ""
2811			#version 300 es
2812			precision mediump float;
2813			precision mediump int;
2814
2815			${DECLARATIONS}
2816
2817			void main()
2818			{
2819				vec2 c;
2820				vec2 a;
2821				uvec3 b;
2822				vec2 c = a * b;
2823			}
2824		""
2825	end
2826	case mul_vec2_uvec3_uvec3
2827		expect compile_fail
2828		version 300 es
2829
2830		both ""
2831			#version 300 es
2832			precision mediump float;
2833			precision mediump int;
2834
2835			 ${DECLARATIONS}
2836
2837			void main()
2838			{
2839				uvec3 c;
2840				vec2 a;
2841				uvec3 b;
2842				uvec3 c = a * b;
2843			}
2844		""
2845	end
2846	case mul_vec2_uvec4_vec2
2847		expect compile_fail
2848		version 300 es
2849
2850		both ""
2851			#version 300 es
2852			precision mediump float;
2853			precision mediump int;
2854
2855			${DECLARATIONS}
2856
2857			void main()
2858			{
2859				vec2 c;
2860				vec2 a;
2861				uvec4 b;
2862				vec2 c = a * b;
2863			}
2864		""
2865	end
2866	case mul_vec2_uvec4_uvec4
2867		expect compile_fail
2868		version 300 es
2869
2870		both ""
2871			#version 300 es
2872			precision mediump float;
2873			precision mediump int;
2874
2875			 ${DECLARATIONS}
2876
2877			void main()
2878			{
2879				uvec4 c;
2880				vec2 a;
2881				uvec4 b;
2882				uvec4 c = a * b;
2883			}
2884		""
2885	end
2886	case mul_vec3_uint_vec3
2887		expect compile_fail
2888		version 300 es
2889
2890		both ""
2891			#version 300 es
2892			precision mediump float;
2893			precision mediump int;
2894
2895			${DECLARATIONS}
2896
2897			void main()
2898			{
2899				vec3 c;
2900				vec3 a;
2901				uint b;
2902				vec3 c = a * b;
2903			}
2904		""
2905	end
2906	case mul_vec3_uint_uint
2907		expect compile_fail
2908		version 300 es
2909
2910		both ""
2911			#version 300 es
2912			precision mediump float;
2913			precision mediump int;
2914
2915			 ${DECLARATIONS}
2916
2917			void main()
2918			{
2919				uint c;
2920				vec3 a;
2921				uint b;
2922				uint c = a * b;
2923			}
2924		""
2925	end
2926	case mul_vec3_uvec2_vec3
2927		expect compile_fail
2928		version 300 es
2929
2930		both ""
2931			#version 300 es
2932			precision mediump float;
2933			precision mediump int;
2934
2935			${DECLARATIONS}
2936
2937			void main()
2938			{
2939				vec3 c;
2940				vec3 a;
2941				uvec2 b;
2942				vec3 c = a * b;
2943			}
2944		""
2945	end
2946	case mul_vec3_uvec2_uvec2
2947		expect compile_fail
2948		version 300 es
2949
2950		both ""
2951			#version 300 es
2952			precision mediump float;
2953			precision mediump int;
2954
2955			 ${DECLARATIONS}
2956
2957			void main()
2958			{
2959				uvec2 c;
2960				vec3 a;
2961				uvec2 b;
2962				uvec2 c = a * b;
2963			}
2964		""
2965	end
2966	case mul_vec3_uvec3_vec3
2967		expect compile_fail
2968		version 300 es
2969
2970		both ""
2971			#version 300 es
2972			precision mediump float;
2973			precision mediump int;
2974
2975			${DECLARATIONS}
2976
2977			void main()
2978			{
2979				vec3 c;
2980				vec3 a;
2981				uvec3 b;
2982				vec3 c = a * b;
2983			}
2984		""
2985	end
2986	case mul_vec3_uvec3_uvec3
2987		expect compile_fail
2988		version 300 es
2989
2990		both ""
2991			#version 300 es
2992			precision mediump float;
2993			precision mediump int;
2994
2995			 ${DECLARATIONS}
2996
2997			void main()
2998			{
2999				uvec3 c;
3000				vec3 a;
3001				uvec3 b;
3002				uvec3 c = a * b;
3003			}
3004		""
3005	end
3006	case mul_vec3_uvec4_vec3
3007		expect compile_fail
3008		version 300 es
3009
3010		both ""
3011			#version 300 es
3012			precision mediump float;
3013			precision mediump int;
3014
3015			${DECLARATIONS}
3016
3017			void main()
3018			{
3019				vec3 c;
3020				vec3 a;
3021				uvec4 b;
3022				vec3 c = a * b;
3023			}
3024		""
3025	end
3026	case mul_vec3_uvec4_uvec4
3027		expect compile_fail
3028		version 300 es
3029
3030		both ""
3031			#version 300 es
3032			precision mediump float;
3033			precision mediump int;
3034
3035			 ${DECLARATIONS}
3036
3037			void main()
3038			{
3039				uvec4 c;
3040				vec3 a;
3041				uvec4 b;
3042				uvec4 c = a * b;
3043			}
3044		""
3045	end
3046	case mul_vec4_uint_vec4
3047		expect compile_fail
3048		version 300 es
3049
3050		both ""
3051			#version 300 es
3052			precision mediump float;
3053			precision mediump int;
3054
3055			${DECLARATIONS}
3056
3057			void main()
3058			{
3059				vec4 c;
3060				vec4 a;
3061				uint b;
3062				vec4 c = a * b;
3063			}
3064		""
3065	end
3066	case mul_vec4_uint_uint
3067		expect compile_fail
3068		version 300 es
3069
3070		both ""
3071			#version 300 es
3072			precision mediump float;
3073			precision mediump int;
3074
3075			 ${DECLARATIONS}
3076
3077			void main()
3078			{
3079				uint c;
3080				vec4 a;
3081				uint b;
3082				uint c = a * b;
3083			}
3084		""
3085	end
3086	case mul_vec4_uvec2_vec4
3087		expect compile_fail
3088		version 300 es
3089
3090		both ""
3091			#version 300 es
3092			precision mediump float;
3093			precision mediump int;
3094
3095			${DECLARATIONS}
3096
3097			void main()
3098			{
3099				vec4 c;
3100				vec4 a;
3101				uvec2 b;
3102				vec4 c = a * b;
3103			}
3104		""
3105	end
3106	case mul_vec4_uvec2_uvec2
3107		expect compile_fail
3108		version 300 es
3109
3110		both ""
3111			#version 300 es
3112			precision mediump float;
3113			precision mediump int;
3114
3115			 ${DECLARATIONS}
3116
3117			void main()
3118			{
3119				uvec2 c;
3120				vec4 a;
3121				uvec2 b;
3122				uvec2 c = a * b;
3123			}
3124		""
3125	end
3126	case mul_vec4_uvec3_vec4
3127		expect compile_fail
3128		version 300 es
3129
3130		both ""
3131			#version 300 es
3132			precision mediump float;
3133			precision mediump int;
3134
3135			${DECLARATIONS}
3136
3137			void main()
3138			{
3139				vec4 c;
3140				vec4 a;
3141				uvec3 b;
3142				vec4 c = a * b;
3143			}
3144		""
3145	end
3146	case mul_vec4_uvec3_uvec3
3147		expect compile_fail
3148		version 300 es
3149
3150		both ""
3151			#version 300 es
3152			precision mediump float;
3153			precision mediump int;
3154
3155			 ${DECLARATIONS}
3156
3157			void main()
3158			{
3159				uvec3 c;
3160				vec4 a;
3161				uvec3 b;
3162				uvec3 c = a * b;
3163			}
3164		""
3165	end
3166	case mul_vec4_uvec4_vec4
3167		expect compile_fail
3168		version 300 es
3169
3170		both ""
3171			#version 300 es
3172			precision mediump float;
3173			precision mediump int;
3174
3175			${DECLARATIONS}
3176
3177			void main()
3178			{
3179				vec4 c;
3180				vec4 a;
3181				uvec4 b;
3182				vec4 c = a * b;
3183			}
3184		""
3185	end
3186	case mul_vec4_uvec4_uvec4
3187		expect compile_fail
3188		version 300 es
3189
3190		both ""
3191			#version 300 es
3192			precision mediump float;
3193			precision mediump int;
3194
3195			 ${DECLARATIONS}
3196
3197			void main()
3198			{
3199				uvec4 c;
3200				vec4 a;
3201				uvec4 b;
3202				uvec4 c = a * b;
3203			}
3204		""
3205	end
3206	case mul_int_uint_int
3207		expect compile_fail
3208		version 300 es
3209
3210		both ""
3211			#version 300 es
3212			precision mediump float;
3213			precision mediump int;
3214
3215			${DECLARATIONS}
3216
3217			void main()
3218			{
3219				int c;
3220				int a;
3221				uint b;
3222				int c = a * b;
3223			}
3224		""
3225	end
3226	case mul_int_uint_uint
3227		expect compile_fail
3228		version 300 es
3229
3230		both ""
3231			#version 300 es
3232			precision mediump float;
3233			precision mediump int;
3234
3235			 ${DECLARATIONS}
3236
3237			void main()
3238			{
3239				uint c;
3240				int a;
3241				uint b;
3242				uint c = a * b;
3243			}
3244		""
3245	end
3246	case mul_int_uvec2_int
3247		expect compile_fail
3248		version 300 es
3249
3250		both ""
3251			#version 300 es
3252			precision mediump float;
3253			precision mediump int;
3254
3255			${DECLARATIONS}
3256
3257			void main()
3258			{
3259				int c;
3260				int a;
3261				uvec2 b;
3262				int c = a * b;
3263			}
3264		""
3265	end
3266	case mul_int_uvec2_uvec2
3267		expect compile_fail
3268		version 300 es
3269
3270		both ""
3271			#version 300 es
3272			precision mediump float;
3273			precision mediump int;
3274
3275			 ${DECLARATIONS}
3276
3277			void main()
3278			{
3279				uvec2 c;
3280				int a;
3281				uvec2 b;
3282				uvec2 c = a * b;
3283			}
3284		""
3285	end
3286	case mul_int_uvec3_int
3287		expect compile_fail
3288		version 300 es
3289
3290		both ""
3291			#version 300 es
3292			precision mediump float;
3293			precision mediump int;
3294
3295			${DECLARATIONS}
3296
3297			void main()
3298			{
3299				int c;
3300				int a;
3301				uvec3 b;
3302				int c = a * b;
3303			}
3304		""
3305	end
3306	case mul_int_uvec3_uvec3
3307		expect compile_fail
3308		version 300 es
3309
3310		both ""
3311			#version 300 es
3312			precision mediump float;
3313			precision mediump int;
3314
3315			 ${DECLARATIONS}
3316
3317			void main()
3318			{
3319				uvec3 c;
3320				int a;
3321				uvec3 b;
3322				uvec3 c = a * b;
3323			}
3324		""
3325	end
3326	case mul_int_uvec4_int
3327		expect compile_fail
3328		version 300 es
3329
3330		both ""
3331			#version 300 es
3332			precision mediump float;
3333			precision mediump int;
3334
3335			${DECLARATIONS}
3336
3337			void main()
3338			{
3339				int c;
3340				int a;
3341				uvec4 b;
3342				int c = a * b;
3343			}
3344		""
3345	end
3346	case mul_int_uvec4_uvec4
3347		expect compile_fail
3348		version 300 es
3349
3350		both ""
3351			#version 300 es
3352			precision mediump float;
3353			precision mediump int;
3354
3355			 ${DECLARATIONS}
3356
3357			void main()
3358			{
3359				uvec4 c;
3360				int a;
3361				uvec4 b;
3362				uvec4 c = a * b;
3363			}
3364		""
3365	end
3366	case mul_ivec2_uint_ivec2
3367		expect compile_fail
3368		version 300 es
3369
3370		both ""
3371			#version 300 es
3372			precision mediump float;
3373			precision mediump int;
3374
3375			${DECLARATIONS}
3376
3377			void main()
3378			{
3379				ivec2 c;
3380				ivec2 a;
3381				uint b;
3382				ivec2 c = a * b;
3383			}
3384		""
3385	end
3386	case mul_ivec2_uint_uint
3387		expect compile_fail
3388		version 300 es
3389
3390		both ""
3391			#version 300 es
3392			precision mediump float;
3393			precision mediump int;
3394
3395			 ${DECLARATIONS}
3396
3397			void main()
3398			{
3399				uint c;
3400				ivec2 a;
3401				uint b;
3402				uint c = a * b;
3403			}
3404		""
3405	end
3406	case mul_ivec2_uvec2_ivec2
3407		expect compile_fail
3408		version 300 es
3409
3410		both ""
3411			#version 300 es
3412			precision mediump float;
3413			precision mediump int;
3414
3415			${DECLARATIONS}
3416
3417			void main()
3418			{
3419				ivec2 c;
3420				ivec2 a;
3421				uvec2 b;
3422				ivec2 c = a * b;
3423			}
3424		""
3425	end
3426	case mul_ivec2_uvec2_uvec2
3427		expect compile_fail
3428		version 300 es
3429
3430		both ""
3431			#version 300 es
3432			precision mediump float;
3433			precision mediump int;
3434
3435			 ${DECLARATIONS}
3436
3437			void main()
3438			{
3439				uvec2 c;
3440				ivec2 a;
3441				uvec2 b;
3442				uvec2 c = a * b;
3443			}
3444		""
3445	end
3446	case mul_ivec2_uvec3_ivec2
3447		expect compile_fail
3448		version 300 es
3449
3450		both ""
3451			#version 300 es
3452			precision mediump float;
3453			precision mediump int;
3454
3455			${DECLARATIONS}
3456
3457			void main()
3458			{
3459				ivec2 c;
3460				ivec2 a;
3461				uvec3 b;
3462				ivec2 c = a * b;
3463			}
3464		""
3465	end
3466	case mul_ivec2_uvec3_uvec3
3467		expect compile_fail
3468		version 300 es
3469
3470		both ""
3471			#version 300 es
3472			precision mediump float;
3473			precision mediump int;
3474
3475			 ${DECLARATIONS}
3476
3477			void main()
3478			{
3479				uvec3 c;
3480				ivec2 a;
3481				uvec3 b;
3482				uvec3 c = a * b;
3483			}
3484		""
3485	end
3486	case mul_ivec2_uvec4_ivec2
3487		expect compile_fail
3488		version 300 es
3489
3490		both ""
3491			#version 300 es
3492			precision mediump float;
3493			precision mediump int;
3494
3495			${DECLARATIONS}
3496
3497			void main()
3498			{
3499				ivec2 c;
3500				ivec2 a;
3501				uvec4 b;
3502				ivec2 c = a * b;
3503			}
3504		""
3505	end
3506	case mul_ivec2_uvec4_uvec4
3507		expect compile_fail
3508		version 300 es
3509
3510		both ""
3511			#version 300 es
3512			precision mediump float;
3513			precision mediump int;
3514
3515			 ${DECLARATIONS}
3516
3517			void main()
3518			{
3519				uvec4 c;
3520				ivec2 a;
3521				uvec4 b;
3522				uvec4 c = a * b;
3523			}
3524		""
3525	end
3526	case mul_ivec3_uint_ivec3
3527		expect compile_fail
3528		version 300 es
3529
3530		both ""
3531			#version 300 es
3532			precision mediump float;
3533			precision mediump int;
3534
3535			${DECLARATIONS}
3536
3537			void main()
3538			{
3539				ivec3 c;
3540				ivec3 a;
3541				uint b;
3542				ivec3 c = a * b;
3543			}
3544		""
3545	end
3546	case mul_ivec3_uint_uint
3547		expect compile_fail
3548		version 300 es
3549
3550		both ""
3551			#version 300 es
3552			precision mediump float;
3553			precision mediump int;
3554
3555			 ${DECLARATIONS}
3556
3557			void main()
3558			{
3559				uint c;
3560				ivec3 a;
3561				uint b;
3562				uint c = a * b;
3563			}
3564		""
3565	end
3566	case mul_ivec3_uvec2_ivec3
3567		expect compile_fail
3568		version 300 es
3569
3570		both ""
3571			#version 300 es
3572			precision mediump float;
3573			precision mediump int;
3574
3575			${DECLARATIONS}
3576
3577			void main()
3578			{
3579				ivec3 c;
3580				ivec3 a;
3581				uvec2 b;
3582				ivec3 c = a * b;
3583			}
3584		""
3585	end
3586	case mul_ivec3_uvec2_uvec2
3587		expect compile_fail
3588		version 300 es
3589
3590		both ""
3591			#version 300 es
3592			precision mediump float;
3593			precision mediump int;
3594
3595			 ${DECLARATIONS}
3596
3597			void main()
3598			{
3599				uvec2 c;
3600				ivec3 a;
3601				uvec2 b;
3602				uvec2 c = a * b;
3603			}
3604		""
3605	end
3606	case mul_ivec3_uvec3_ivec3
3607		expect compile_fail
3608		version 300 es
3609
3610		both ""
3611			#version 300 es
3612			precision mediump float;
3613			precision mediump int;
3614
3615			${DECLARATIONS}
3616
3617			void main()
3618			{
3619				ivec3 c;
3620				ivec3 a;
3621				uvec3 b;
3622				ivec3 c = a * b;
3623			}
3624		""
3625	end
3626	case mul_ivec3_uvec3_uvec3
3627		expect compile_fail
3628		version 300 es
3629
3630		both ""
3631			#version 300 es
3632			precision mediump float;
3633			precision mediump int;
3634
3635			 ${DECLARATIONS}
3636
3637			void main()
3638			{
3639				uvec3 c;
3640				ivec3 a;
3641				uvec3 b;
3642				uvec3 c = a * b;
3643			}
3644		""
3645	end
3646	case mul_ivec3_uvec4_ivec3
3647		expect compile_fail
3648		version 300 es
3649
3650		both ""
3651			#version 300 es
3652			precision mediump float;
3653			precision mediump int;
3654
3655			${DECLARATIONS}
3656
3657			void main()
3658			{
3659				ivec3 c;
3660				ivec3 a;
3661				uvec4 b;
3662				ivec3 c = a * b;
3663			}
3664		""
3665	end
3666	case mul_ivec3_uvec4_uvec4
3667		expect compile_fail
3668		version 300 es
3669
3670		both ""
3671			#version 300 es
3672			precision mediump float;
3673			precision mediump int;
3674
3675			 ${DECLARATIONS}
3676
3677			void main()
3678			{
3679				uvec4 c;
3680				ivec3 a;
3681				uvec4 b;
3682				uvec4 c = a * b;
3683			}
3684		""
3685	end
3686	case mul_ivec4_uint_ivec4
3687		expect compile_fail
3688		version 300 es
3689
3690		both ""
3691			#version 300 es
3692			precision mediump float;
3693			precision mediump int;
3694
3695			${DECLARATIONS}
3696
3697			void main()
3698			{
3699				ivec4 c;
3700				ivec4 a;
3701				uint b;
3702				ivec4 c = a * b;
3703			}
3704		""
3705	end
3706	case mul_ivec4_uint_uint
3707		expect compile_fail
3708		version 300 es
3709
3710		both ""
3711			#version 300 es
3712			precision mediump float;
3713			precision mediump int;
3714
3715			 ${DECLARATIONS}
3716
3717			void main()
3718			{
3719				uint c;
3720				ivec4 a;
3721				uint b;
3722				uint c = a * b;
3723			}
3724		""
3725	end
3726	case mul_ivec4_uvec2_ivec4
3727		expect compile_fail
3728		version 300 es
3729
3730		both ""
3731			#version 300 es
3732			precision mediump float;
3733			precision mediump int;
3734
3735			${DECLARATIONS}
3736
3737			void main()
3738			{
3739				ivec4 c;
3740				ivec4 a;
3741				uvec2 b;
3742				ivec4 c = a * b;
3743			}
3744		""
3745	end
3746	case mul_ivec4_uvec2_uvec2
3747		expect compile_fail
3748		version 300 es
3749
3750		both ""
3751			#version 300 es
3752			precision mediump float;
3753			precision mediump int;
3754
3755			 ${DECLARATIONS}
3756
3757			void main()
3758			{
3759				uvec2 c;
3760				ivec4 a;
3761				uvec2 b;
3762				uvec2 c = a * b;
3763			}
3764		""
3765	end
3766	case mul_ivec4_uvec3_ivec4
3767		expect compile_fail
3768		version 300 es
3769
3770		both ""
3771			#version 300 es
3772			precision mediump float;
3773			precision mediump int;
3774
3775			${DECLARATIONS}
3776
3777			void main()
3778			{
3779				ivec4 c;
3780				ivec4 a;
3781				uvec3 b;
3782				ivec4 c = a * b;
3783			}
3784		""
3785	end
3786	case mul_ivec4_uvec3_uvec3
3787		expect compile_fail
3788		version 300 es
3789
3790		both ""
3791			#version 300 es
3792			precision mediump float;
3793			precision mediump int;
3794
3795			 ${DECLARATIONS}
3796
3797			void main()
3798			{
3799				uvec3 c;
3800				ivec4 a;
3801				uvec3 b;
3802				uvec3 c = a * b;
3803			}
3804		""
3805	end
3806	case mul_ivec4_uvec4_ivec4
3807		expect compile_fail
3808		version 300 es
3809
3810		both ""
3811			#version 300 es
3812			precision mediump float;
3813			precision mediump int;
3814
3815			${DECLARATIONS}
3816
3817			void main()
3818			{
3819				ivec4 c;
3820				ivec4 a;
3821				uvec4 b;
3822				ivec4 c = a * b;
3823			}
3824		""
3825	end
3826	case mul_ivec4_uvec4_uvec4
3827		expect compile_fail
3828		version 300 es
3829
3830		both ""
3831			#version 300 es
3832			precision mediump float;
3833			precision mediump int;
3834
3835			 ${DECLARATIONS}
3836
3837			void main()
3838			{
3839				uvec4 c;
3840				ivec4 a;
3841				uvec4 b;
3842				uvec4 c = a * b;
3843			}
3844		""
3845	end
3846	case sub_float_int_float
3847		expect compile_fail
3848		version 300 es
3849
3850		both ""
3851			#version 300 es
3852			precision mediump float;
3853			precision mediump int;
3854
3855			${DECLARATIONS}
3856
3857			void main()
3858			{
3859				float c;
3860				float a;
3861				int b;
3862				float c = a - b;
3863			}
3864		""
3865	end
3866	case sub_float_int_int
3867		expect compile_fail
3868		version 300 es
3869
3870		both ""
3871			#version 300 es
3872			precision mediump float;
3873			precision mediump int;
3874
3875			 ${DECLARATIONS}
3876
3877			void main()
3878			{
3879				int c;
3880				float a;
3881				int b;
3882				int c = a - b;
3883			}
3884		""
3885	end
3886	case sub_float_ivec2_float
3887		expect compile_fail
3888		version 300 es
3889
3890		both ""
3891			#version 300 es
3892			precision mediump float;
3893			precision mediump int;
3894
3895			${DECLARATIONS}
3896
3897			void main()
3898			{
3899				float c;
3900				float a;
3901				ivec2 b;
3902				float c = a - b;
3903			}
3904		""
3905	end
3906	case sub_float_ivec2_ivec2
3907		expect compile_fail
3908		version 300 es
3909
3910		both ""
3911			#version 300 es
3912			precision mediump float;
3913			precision mediump int;
3914
3915			 ${DECLARATIONS}
3916
3917			void main()
3918			{
3919				ivec2 c;
3920				float a;
3921				ivec2 b;
3922				ivec2 c = a - b;
3923			}
3924		""
3925	end
3926	case sub_float_ivec3_float
3927		expect compile_fail
3928		version 300 es
3929
3930		both ""
3931			#version 300 es
3932			precision mediump float;
3933			precision mediump int;
3934
3935			${DECLARATIONS}
3936
3937			void main()
3938			{
3939				float c;
3940				float a;
3941				ivec3 b;
3942				float c = a - b;
3943			}
3944		""
3945	end
3946	case sub_float_ivec3_ivec3
3947		expect compile_fail
3948		version 300 es
3949
3950		both ""
3951			#version 300 es
3952			precision mediump float;
3953			precision mediump int;
3954
3955			 ${DECLARATIONS}
3956
3957			void main()
3958			{
3959				ivec3 c;
3960				float a;
3961				ivec3 b;
3962				ivec3 c = a - b;
3963			}
3964		""
3965	end
3966	case sub_float_ivec4_float
3967		expect compile_fail
3968		version 300 es
3969
3970		both ""
3971			#version 300 es
3972			precision mediump float;
3973			precision mediump int;
3974
3975			${DECLARATIONS}
3976
3977			void main()
3978			{
3979				float c;
3980				float a;
3981				ivec4 b;
3982				float c = a - b;
3983			}
3984		""
3985	end
3986	case sub_float_ivec4_ivec4
3987		expect compile_fail
3988		version 300 es
3989
3990		both ""
3991			#version 300 es
3992			precision mediump float;
3993			precision mediump int;
3994
3995			 ${DECLARATIONS}
3996
3997			void main()
3998			{
3999				ivec4 c;
4000				float a;
4001				ivec4 b;
4002				ivec4 c = a - b;
4003			}
4004		""
4005	end
4006	case sub_vec2_int_vec2
4007		expect compile_fail
4008		version 300 es
4009
4010		both ""
4011			#version 300 es
4012			precision mediump float;
4013			precision mediump int;
4014
4015			${DECLARATIONS}
4016
4017			void main()
4018			{
4019				vec2 c;
4020				vec2 a;
4021				int b;
4022				vec2 c = a - b;
4023			}
4024		""
4025	end
4026	case sub_vec2_int_int
4027		expect compile_fail
4028		version 300 es
4029
4030		both ""
4031			#version 300 es
4032			precision mediump float;
4033			precision mediump int;
4034
4035			 ${DECLARATIONS}
4036
4037			void main()
4038			{
4039				int c;
4040				vec2 a;
4041				int b;
4042				int c = a - b;
4043			}
4044		""
4045	end
4046	case sub_vec2_ivec2_vec2
4047		expect compile_fail
4048		version 300 es
4049
4050		both ""
4051			#version 300 es
4052			precision mediump float;
4053			precision mediump int;
4054
4055			${DECLARATIONS}
4056
4057			void main()
4058			{
4059				vec2 c;
4060				vec2 a;
4061				ivec2 b;
4062				vec2 c = a - b;
4063			}
4064		""
4065	end
4066	case sub_vec2_ivec2_ivec2
4067		expect compile_fail
4068		version 300 es
4069
4070		both ""
4071			#version 300 es
4072			precision mediump float;
4073			precision mediump int;
4074
4075			 ${DECLARATIONS}
4076
4077			void main()
4078			{
4079				ivec2 c;
4080				vec2 a;
4081				ivec2 b;
4082				ivec2 c = a - b;
4083			}
4084		""
4085	end
4086	case sub_vec2_ivec3_vec2
4087		expect compile_fail
4088		version 300 es
4089
4090		both ""
4091			#version 300 es
4092			precision mediump float;
4093			precision mediump int;
4094
4095			${DECLARATIONS}
4096
4097			void main()
4098			{
4099				vec2 c;
4100				vec2 a;
4101				ivec3 b;
4102				vec2 c = a - b;
4103			}
4104		""
4105	end
4106	case sub_vec2_ivec3_ivec3
4107		expect compile_fail
4108		version 300 es
4109
4110		both ""
4111			#version 300 es
4112			precision mediump float;
4113			precision mediump int;
4114
4115			 ${DECLARATIONS}
4116
4117			void main()
4118			{
4119				ivec3 c;
4120				vec2 a;
4121				ivec3 b;
4122				ivec3 c = a - b;
4123			}
4124		""
4125	end
4126	case sub_vec2_ivec4_vec2
4127		expect compile_fail
4128		version 300 es
4129
4130		both ""
4131			#version 300 es
4132			precision mediump float;
4133			precision mediump int;
4134
4135			${DECLARATIONS}
4136
4137			void main()
4138			{
4139				vec2 c;
4140				vec2 a;
4141				ivec4 b;
4142				vec2 c = a - b;
4143			}
4144		""
4145	end
4146	case sub_vec2_ivec4_ivec4
4147		expect compile_fail
4148		version 300 es
4149
4150		both ""
4151			#version 300 es
4152			precision mediump float;
4153			precision mediump int;
4154
4155			 ${DECLARATIONS}
4156
4157			void main()
4158			{
4159				ivec4 c;
4160				vec2 a;
4161				ivec4 b;
4162				ivec4 c = a - b;
4163			}
4164		""
4165	end
4166	case sub_vec3_int_vec3
4167		expect compile_fail
4168		version 300 es
4169
4170		both ""
4171			#version 300 es
4172			precision mediump float;
4173			precision mediump int;
4174
4175			${DECLARATIONS}
4176
4177			void main()
4178			{
4179				vec3 c;
4180				vec3 a;
4181				int b;
4182				vec3 c = a - b;
4183			}
4184		""
4185	end
4186	case sub_vec3_int_int
4187		expect compile_fail
4188		version 300 es
4189
4190		both ""
4191			#version 300 es
4192			precision mediump float;
4193			precision mediump int;
4194
4195			 ${DECLARATIONS}
4196
4197			void main()
4198			{
4199				int c;
4200				vec3 a;
4201				int b;
4202				int c = a - b;
4203			}
4204		""
4205	end
4206	case sub_vec3_ivec2_vec3
4207		expect compile_fail
4208		version 300 es
4209
4210		both ""
4211			#version 300 es
4212			precision mediump float;
4213			precision mediump int;
4214
4215			${DECLARATIONS}
4216
4217			void main()
4218			{
4219				vec3 c;
4220				vec3 a;
4221				ivec2 b;
4222				vec3 c = a - b;
4223			}
4224		""
4225	end
4226	case sub_vec3_ivec2_ivec2
4227		expect compile_fail
4228		version 300 es
4229
4230		both ""
4231			#version 300 es
4232			precision mediump float;
4233			precision mediump int;
4234
4235			 ${DECLARATIONS}
4236
4237			void main()
4238			{
4239				ivec2 c;
4240				vec3 a;
4241				ivec2 b;
4242				ivec2 c = a - b;
4243			}
4244		""
4245	end
4246	case sub_vec3_ivec3_vec3
4247		expect compile_fail
4248		version 300 es
4249
4250		both ""
4251			#version 300 es
4252			precision mediump float;
4253			precision mediump int;
4254
4255			${DECLARATIONS}
4256
4257			void main()
4258			{
4259				vec3 c;
4260				vec3 a;
4261				ivec3 b;
4262				vec3 c = a - b;
4263			}
4264		""
4265	end
4266	case sub_vec3_ivec3_ivec3
4267		expect compile_fail
4268		version 300 es
4269
4270		both ""
4271			#version 300 es
4272			precision mediump float;
4273			precision mediump int;
4274
4275			 ${DECLARATIONS}
4276
4277			void main()
4278			{
4279				ivec3 c;
4280				vec3 a;
4281				ivec3 b;
4282				ivec3 c = a - b;
4283			}
4284		""
4285	end
4286	case sub_vec3_ivec4_vec3
4287		expect compile_fail
4288		version 300 es
4289
4290		both ""
4291			#version 300 es
4292			precision mediump float;
4293			precision mediump int;
4294
4295			${DECLARATIONS}
4296
4297			void main()
4298			{
4299				vec3 c;
4300				vec3 a;
4301				ivec4 b;
4302				vec3 c = a - b;
4303			}
4304		""
4305	end
4306	case sub_vec3_ivec4_ivec4
4307		expect compile_fail
4308		version 300 es
4309
4310		both ""
4311			#version 300 es
4312			precision mediump float;
4313			precision mediump int;
4314
4315			 ${DECLARATIONS}
4316
4317			void main()
4318			{
4319				ivec4 c;
4320				vec3 a;
4321				ivec4 b;
4322				ivec4 c = a - b;
4323			}
4324		""
4325	end
4326	case sub_vec4_int_vec4
4327		expect compile_fail
4328		version 300 es
4329
4330		both ""
4331			#version 300 es
4332			precision mediump float;
4333			precision mediump int;
4334
4335			${DECLARATIONS}
4336
4337			void main()
4338			{
4339				vec4 c;
4340				vec4 a;
4341				int b;
4342				vec4 c = a - b;
4343			}
4344		""
4345	end
4346	case sub_vec4_int_int
4347		expect compile_fail
4348		version 300 es
4349
4350		both ""
4351			#version 300 es
4352			precision mediump float;
4353			precision mediump int;
4354
4355			 ${DECLARATIONS}
4356
4357			void main()
4358			{
4359				int c;
4360				vec4 a;
4361				int b;
4362				int c = a - b;
4363			}
4364		""
4365	end
4366	case sub_vec4_ivec2_vec4
4367		expect compile_fail
4368		version 300 es
4369
4370		both ""
4371			#version 300 es
4372			precision mediump float;
4373			precision mediump int;
4374
4375			${DECLARATIONS}
4376
4377			void main()
4378			{
4379				vec4 c;
4380				vec4 a;
4381				ivec2 b;
4382				vec4 c = a - b;
4383			}
4384		""
4385	end
4386	case sub_vec4_ivec2_ivec2
4387		expect compile_fail
4388		version 300 es
4389
4390		both ""
4391			#version 300 es
4392			precision mediump float;
4393			precision mediump int;
4394
4395			 ${DECLARATIONS}
4396
4397			void main()
4398			{
4399				ivec2 c;
4400				vec4 a;
4401				ivec2 b;
4402				ivec2 c = a - b;
4403			}
4404		""
4405	end
4406	case sub_vec4_ivec3_vec4
4407		expect compile_fail
4408		version 300 es
4409
4410		both ""
4411			#version 300 es
4412			precision mediump float;
4413			precision mediump int;
4414
4415			${DECLARATIONS}
4416
4417			void main()
4418			{
4419				vec4 c;
4420				vec4 a;
4421				ivec3 b;
4422				vec4 c = a - b;
4423			}
4424		""
4425	end
4426	case sub_vec4_ivec3_ivec3
4427		expect compile_fail
4428		version 300 es
4429
4430		both ""
4431			#version 300 es
4432			precision mediump float;
4433			precision mediump int;
4434
4435			 ${DECLARATIONS}
4436
4437			void main()
4438			{
4439				ivec3 c;
4440				vec4 a;
4441				ivec3 b;
4442				ivec3 c = a - b;
4443			}
4444		""
4445	end
4446	case sub_vec4_ivec4_vec4
4447		expect compile_fail
4448		version 300 es
4449
4450		both ""
4451			#version 300 es
4452			precision mediump float;
4453			precision mediump int;
4454
4455			${DECLARATIONS}
4456
4457			void main()
4458			{
4459				vec4 c;
4460				vec4 a;
4461				ivec4 b;
4462				vec4 c = a - b;
4463			}
4464		""
4465	end
4466	case sub_vec4_ivec4_ivec4
4467		expect compile_fail
4468		version 300 es
4469
4470		both ""
4471			#version 300 es
4472			precision mediump float;
4473			precision mediump int;
4474
4475			 ${DECLARATIONS}
4476
4477			void main()
4478			{
4479				ivec4 c;
4480				vec4 a;
4481				ivec4 b;
4482				ivec4 c = a - b;
4483			}
4484		""
4485	end
4486	case sub_float_uint_float
4487		expect compile_fail
4488		version 300 es
4489
4490		both ""
4491			#version 300 es
4492			precision mediump float;
4493			precision mediump int;
4494
4495			${DECLARATIONS}
4496
4497			void main()
4498			{
4499				float c;
4500				float a;
4501				uint b;
4502				float c = a - b;
4503			}
4504		""
4505	end
4506	case sub_float_uint_uint
4507		expect compile_fail
4508		version 300 es
4509
4510		both ""
4511			#version 300 es
4512			precision mediump float;
4513			precision mediump int;
4514
4515			 ${DECLARATIONS}
4516
4517			void main()
4518			{
4519				uint c;
4520				float a;
4521				uint b;
4522				uint c = a - b;
4523			}
4524		""
4525	end
4526	case sub_float_uvec2_float
4527		expect compile_fail
4528		version 300 es
4529
4530		both ""
4531			#version 300 es
4532			precision mediump float;
4533			precision mediump int;
4534
4535			${DECLARATIONS}
4536
4537			void main()
4538			{
4539				float c;
4540				float a;
4541				uvec2 b;
4542				float c = a - b;
4543			}
4544		""
4545	end
4546	case sub_float_uvec2_uvec2
4547		expect compile_fail
4548		version 300 es
4549
4550		both ""
4551			#version 300 es
4552			precision mediump float;
4553			precision mediump int;
4554
4555			 ${DECLARATIONS}
4556
4557			void main()
4558			{
4559				uvec2 c;
4560				float a;
4561				uvec2 b;
4562				uvec2 c = a - b;
4563			}
4564		""
4565	end
4566	case sub_float_uvec3_float
4567		expect compile_fail
4568		version 300 es
4569
4570		both ""
4571			#version 300 es
4572			precision mediump float;
4573			precision mediump int;
4574
4575			${DECLARATIONS}
4576
4577			void main()
4578			{
4579				float c;
4580				float a;
4581				uvec3 b;
4582				float c = a - b;
4583			}
4584		""
4585	end
4586	case sub_float_uvec3_uvec3
4587		expect compile_fail
4588		version 300 es
4589
4590		both ""
4591			#version 300 es
4592			precision mediump float;
4593			precision mediump int;
4594
4595			 ${DECLARATIONS}
4596
4597			void main()
4598			{
4599				uvec3 c;
4600				float a;
4601				uvec3 b;
4602				uvec3 c = a - b;
4603			}
4604		""
4605	end
4606	case sub_float_uvec4_float
4607		expect compile_fail
4608		version 300 es
4609
4610		both ""
4611			#version 300 es
4612			precision mediump float;
4613			precision mediump int;
4614
4615			${DECLARATIONS}
4616
4617			void main()
4618			{
4619				float c;
4620				float a;
4621				uvec4 b;
4622				float c = a - b;
4623			}
4624		""
4625	end
4626	case sub_float_uvec4_uvec4
4627		expect compile_fail
4628		version 300 es
4629
4630		both ""
4631			#version 300 es
4632			precision mediump float;
4633			precision mediump int;
4634
4635			 ${DECLARATIONS}
4636
4637			void main()
4638			{
4639				uvec4 c;
4640				float a;
4641				uvec4 b;
4642				uvec4 c = a - b;
4643			}
4644		""
4645	end
4646	case sub_vec2_uint_vec2
4647		expect compile_fail
4648		version 300 es
4649
4650		both ""
4651			#version 300 es
4652			precision mediump float;
4653			precision mediump int;
4654
4655			${DECLARATIONS}
4656
4657			void main()
4658			{
4659				vec2 c;
4660				vec2 a;
4661				uint b;
4662				vec2 c = a - b;
4663			}
4664		""
4665	end
4666	case sub_vec2_uint_uint
4667		expect compile_fail
4668		version 300 es
4669
4670		both ""
4671			#version 300 es
4672			precision mediump float;
4673			precision mediump int;
4674
4675			 ${DECLARATIONS}
4676
4677			void main()
4678			{
4679				uint c;
4680				vec2 a;
4681				uint b;
4682				uint c = a - b;
4683			}
4684		""
4685	end
4686	case sub_vec2_uvec2_vec2
4687		expect compile_fail
4688		version 300 es
4689
4690		both ""
4691			#version 300 es
4692			precision mediump float;
4693			precision mediump int;
4694
4695			${DECLARATIONS}
4696
4697			void main()
4698			{
4699				vec2 c;
4700				vec2 a;
4701				uvec2 b;
4702				vec2 c = a - b;
4703			}
4704		""
4705	end
4706	case sub_vec2_uvec2_uvec2
4707		expect compile_fail
4708		version 300 es
4709
4710		both ""
4711			#version 300 es
4712			precision mediump float;
4713			precision mediump int;
4714
4715			 ${DECLARATIONS}
4716
4717			void main()
4718			{
4719				uvec2 c;
4720				vec2 a;
4721				uvec2 b;
4722				uvec2 c = a - b;
4723			}
4724		""
4725	end
4726	case sub_vec2_uvec3_vec2
4727		expect compile_fail
4728		version 300 es
4729
4730		both ""
4731			#version 300 es
4732			precision mediump float;
4733			precision mediump int;
4734
4735			${DECLARATIONS}
4736
4737			void main()
4738			{
4739				vec2 c;
4740				vec2 a;
4741				uvec3 b;
4742				vec2 c = a - b;
4743			}
4744		""
4745	end
4746	case sub_vec2_uvec3_uvec3
4747		expect compile_fail
4748		version 300 es
4749
4750		both ""
4751			#version 300 es
4752			precision mediump float;
4753			precision mediump int;
4754
4755			 ${DECLARATIONS}
4756
4757			void main()
4758			{
4759				uvec3 c;
4760				vec2 a;
4761				uvec3 b;
4762				uvec3 c = a - b;
4763			}
4764		""
4765	end
4766	case sub_vec2_uvec4_vec2
4767		expect compile_fail
4768		version 300 es
4769
4770		both ""
4771			#version 300 es
4772			precision mediump float;
4773			precision mediump int;
4774
4775			${DECLARATIONS}
4776
4777			void main()
4778			{
4779				vec2 c;
4780				vec2 a;
4781				uvec4 b;
4782				vec2 c = a - b;
4783			}
4784		""
4785	end
4786	case sub_vec2_uvec4_uvec4
4787		expect compile_fail
4788		version 300 es
4789
4790		both ""
4791			#version 300 es
4792			precision mediump float;
4793			precision mediump int;
4794
4795			 ${DECLARATIONS}
4796
4797			void main()
4798			{
4799				uvec4 c;
4800				vec2 a;
4801				uvec4 b;
4802				uvec4 c = a - b;
4803			}
4804		""
4805	end
4806	case sub_vec3_uint_vec3
4807		expect compile_fail
4808		version 300 es
4809
4810		both ""
4811			#version 300 es
4812			precision mediump float;
4813			precision mediump int;
4814
4815			${DECLARATIONS}
4816
4817			void main()
4818			{
4819				vec3 c;
4820				vec3 a;
4821				uint b;
4822				vec3 c = a - b;
4823			}
4824		""
4825	end
4826	case sub_vec3_uint_uint
4827		expect compile_fail
4828		version 300 es
4829
4830		both ""
4831			#version 300 es
4832			precision mediump float;
4833			precision mediump int;
4834
4835			 ${DECLARATIONS}
4836
4837			void main()
4838			{
4839				uint c;
4840				vec3 a;
4841				uint b;
4842				uint c = a - b;
4843			}
4844		""
4845	end
4846	case sub_vec3_uvec2_vec3
4847		expect compile_fail
4848		version 300 es
4849
4850		both ""
4851			#version 300 es
4852			precision mediump float;
4853			precision mediump int;
4854
4855			${DECLARATIONS}
4856
4857			void main()
4858			{
4859				vec3 c;
4860				vec3 a;
4861				uvec2 b;
4862				vec3 c = a - b;
4863			}
4864		""
4865	end
4866	case sub_vec3_uvec2_uvec2
4867		expect compile_fail
4868		version 300 es
4869
4870		both ""
4871			#version 300 es
4872			precision mediump float;
4873			precision mediump int;
4874
4875			 ${DECLARATIONS}
4876
4877			void main()
4878			{
4879				uvec2 c;
4880				vec3 a;
4881				uvec2 b;
4882				uvec2 c = a - b;
4883			}
4884		""
4885	end
4886	case sub_vec3_uvec3_vec3
4887		expect compile_fail
4888		version 300 es
4889
4890		both ""
4891			#version 300 es
4892			precision mediump float;
4893			precision mediump int;
4894
4895			${DECLARATIONS}
4896
4897			void main()
4898			{
4899				vec3 c;
4900				vec3 a;
4901				uvec3 b;
4902				vec3 c = a - b;
4903			}
4904		""
4905	end
4906	case sub_vec3_uvec3_uvec3
4907		expect compile_fail
4908		version 300 es
4909
4910		both ""
4911			#version 300 es
4912			precision mediump float;
4913			precision mediump int;
4914
4915			 ${DECLARATIONS}
4916
4917			void main()
4918			{
4919				uvec3 c;
4920				vec3 a;
4921				uvec3 b;
4922				uvec3 c = a - b;
4923			}
4924		""
4925	end
4926	case sub_vec3_uvec4_vec3
4927		expect compile_fail
4928		version 300 es
4929
4930		both ""
4931			#version 300 es
4932			precision mediump float;
4933			precision mediump int;
4934
4935			${DECLARATIONS}
4936
4937			void main()
4938			{
4939				vec3 c;
4940				vec3 a;
4941				uvec4 b;
4942				vec3 c = a - b;
4943			}
4944		""
4945	end
4946	case sub_vec3_uvec4_uvec4
4947		expect compile_fail
4948		version 300 es
4949
4950		both ""
4951			#version 300 es
4952			precision mediump float;
4953			precision mediump int;
4954
4955			 ${DECLARATIONS}
4956
4957			void main()
4958			{
4959				uvec4 c;
4960				vec3 a;
4961				uvec4 b;
4962				uvec4 c = a - b;
4963			}
4964		""
4965	end
4966	case sub_vec4_uint_vec4
4967		expect compile_fail
4968		version 300 es
4969
4970		both ""
4971			#version 300 es
4972			precision mediump float;
4973			precision mediump int;
4974
4975			${DECLARATIONS}
4976
4977			void main()
4978			{
4979				vec4 c;
4980				vec4 a;
4981				uint b;
4982				vec4 c = a - b;
4983			}
4984		""
4985	end
4986	case sub_vec4_uint_uint
4987		expect compile_fail
4988		version 300 es
4989
4990		both ""
4991			#version 300 es
4992			precision mediump float;
4993			precision mediump int;
4994
4995			 ${DECLARATIONS}
4996
4997			void main()
4998			{
4999				uint c;
5000				vec4 a;
5001				uint b;
5002				uint c = a - b;
5003			}
5004		""
5005	end
5006	case sub_vec4_uvec2_vec4
5007		expect compile_fail
5008		version 300 es
5009
5010		both ""
5011			#version 300 es
5012			precision mediump float;
5013			precision mediump int;
5014
5015			${DECLARATIONS}
5016
5017			void main()
5018			{
5019				vec4 c;
5020				vec4 a;
5021				uvec2 b;
5022				vec4 c = a - b;
5023			}
5024		""
5025	end
5026	case sub_vec4_uvec2_uvec2
5027		expect compile_fail
5028		version 300 es
5029
5030		both ""
5031			#version 300 es
5032			precision mediump float;
5033			precision mediump int;
5034
5035			 ${DECLARATIONS}
5036
5037			void main()
5038			{
5039				uvec2 c;
5040				vec4 a;
5041				uvec2 b;
5042				uvec2 c = a - b;
5043			}
5044		""
5045	end
5046	case sub_vec4_uvec3_vec4
5047		expect compile_fail
5048		version 300 es
5049
5050		both ""
5051			#version 300 es
5052			precision mediump float;
5053			precision mediump int;
5054
5055			${DECLARATIONS}
5056
5057			void main()
5058			{
5059				vec4 c;
5060				vec4 a;
5061				uvec3 b;
5062				vec4 c = a - b;
5063			}
5064		""
5065	end
5066	case sub_vec4_uvec3_uvec3
5067		expect compile_fail
5068		version 300 es
5069
5070		both ""
5071			#version 300 es
5072			precision mediump float;
5073			precision mediump int;
5074
5075			 ${DECLARATIONS}
5076
5077			void main()
5078			{
5079				uvec3 c;
5080				vec4 a;
5081				uvec3 b;
5082				uvec3 c = a - b;
5083			}
5084		""
5085	end
5086	case sub_vec4_uvec4_vec4
5087		expect compile_fail
5088		version 300 es
5089
5090		both ""
5091			#version 300 es
5092			precision mediump float;
5093			precision mediump int;
5094
5095			${DECLARATIONS}
5096
5097			void main()
5098			{
5099				vec4 c;
5100				vec4 a;
5101				uvec4 b;
5102				vec4 c = a - b;
5103			}
5104		""
5105	end
5106	case sub_vec4_uvec4_uvec4
5107		expect compile_fail
5108		version 300 es
5109
5110		both ""
5111			#version 300 es
5112			precision mediump float;
5113			precision mediump int;
5114
5115			 ${DECLARATIONS}
5116
5117			void main()
5118			{
5119				uvec4 c;
5120				vec4 a;
5121				uvec4 b;
5122				uvec4 c = a - b;
5123			}
5124		""
5125	end
5126	case sub_int_uint_int
5127		expect compile_fail
5128		version 300 es
5129
5130		both ""
5131			#version 300 es
5132			precision mediump float;
5133			precision mediump int;
5134
5135			${DECLARATIONS}
5136
5137			void main()
5138			{
5139				int c;
5140				int a;
5141				uint b;
5142				int c = a - b;
5143			}
5144		""
5145	end
5146	case sub_int_uint_uint
5147		expect compile_fail
5148		version 300 es
5149
5150		both ""
5151			#version 300 es
5152			precision mediump float;
5153			precision mediump int;
5154
5155			 ${DECLARATIONS}
5156
5157			void main()
5158			{
5159				uint c;
5160				int a;
5161				uint b;
5162				uint c = a - b;
5163			}
5164		""
5165	end
5166	case sub_int_uvec2_int
5167		expect compile_fail
5168		version 300 es
5169
5170		both ""
5171			#version 300 es
5172			precision mediump float;
5173			precision mediump int;
5174
5175			${DECLARATIONS}
5176
5177			void main()
5178			{
5179				int c;
5180				int a;
5181				uvec2 b;
5182				int c = a - b;
5183			}
5184		""
5185	end
5186	case sub_int_uvec2_uvec2
5187		expect compile_fail
5188		version 300 es
5189
5190		both ""
5191			#version 300 es
5192			precision mediump float;
5193			precision mediump int;
5194
5195			 ${DECLARATIONS}
5196
5197			void main()
5198			{
5199				uvec2 c;
5200				int a;
5201				uvec2 b;
5202				uvec2 c = a - b;
5203			}
5204		""
5205	end
5206	case sub_int_uvec3_int
5207		expect compile_fail
5208		version 300 es
5209
5210		both ""
5211			#version 300 es
5212			precision mediump float;
5213			precision mediump int;
5214
5215			${DECLARATIONS}
5216
5217			void main()
5218			{
5219				int c;
5220				int a;
5221				uvec3 b;
5222				int c = a - b;
5223			}
5224		""
5225	end
5226	case sub_int_uvec3_uvec3
5227		expect compile_fail
5228		version 300 es
5229
5230		both ""
5231			#version 300 es
5232			precision mediump float;
5233			precision mediump int;
5234
5235			 ${DECLARATIONS}
5236
5237			void main()
5238			{
5239				uvec3 c;
5240				int a;
5241				uvec3 b;
5242				uvec3 c = a - b;
5243			}
5244		""
5245	end
5246	case sub_int_uvec4_int
5247		expect compile_fail
5248		version 300 es
5249
5250		both ""
5251			#version 300 es
5252			precision mediump float;
5253			precision mediump int;
5254
5255			${DECLARATIONS}
5256
5257			void main()
5258			{
5259				int c;
5260				int a;
5261				uvec4 b;
5262				int c = a - b;
5263			}
5264		""
5265	end
5266	case sub_int_uvec4_uvec4
5267		expect compile_fail
5268		version 300 es
5269
5270		both ""
5271			#version 300 es
5272			precision mediump float;
5273			precision mediump int;
5274
5275			 ${DECLARATIONS}
5276
5277			void main()
5278			{
5279				uvec4 c;
5280				int a;
5281				uvec4 b;
5282				uvec4 c = a - b;
5283			}
5284		""
5285	end
5286	case sub_ivec2_uint_ivec2
5287		expect compile_fail
5288		version 300 es
5289
5290		both ""
5291			#version 300 es
5292			precision mediump float;
5293			precision mediump int;
5294
5295			${DECLARATIONS}
5296
5297			void main()
5298			{
5299				ivec2 c;
5300				ivec2 a;
5301				uint b;
5302				ivec2 c = a - b;
5303			}
5304		""
5305	end
5306	case sub_ivec2_uint_uint
5307		expect compile_fail
5308		version 300 es
5309
5310		both ""
5311			#version 300 es
5312			precision mediump float;
5313			precision mediump int;
5314
5315			 ${DECLARATIONS}
5316
5317			void main()
5318			{
5319				uint c;
5320				ivec2 a;
5321				uint b;
5322				uint c = a - b;
5323			}
5324		""
5325	end
5326	case sub_ivec2_uvec2_ivec2
5327		expect compile_fail
5328		version 300 es
5329
5330		both ""
5331			#version 300 es
5332			precision mediump float;
5333			precision mediump int;
5334
5335			${DECLARATIONS}
5336
5337			void main()
5338			{
5339				ivec2 c;
5340				ivec2 a;
5341				uvec2 b;
5342				ivec2 c = a - b;
5343			}
5344		""
5345	end
5346	case sub_ivec2_uvec2_uvec2
5347		expect compile_fail
5348		version 300 es
5349
5350		both ""
5351			#version 300 es
5352			precision mediump float;
5353			precision mediump int;
5354
5355			 ${DECLARATIONS}
5356
5357			void main()
5358			{
5359				uvec2 c;
5360				ivec2 a;
5361				uvec2 b;
5362				uvec2 c = a - b;
5363			}
5364		""
5365	end
5366	case sub_ivec2_uvec3_ivec2
5367		expect compile_fail
5368		version 300 es
5369
5370		both ""
5371			#version 300 es
5372			precision mediump float;
5373			precision mediump int;
5374
5375			${DECLARATIONS}
5376
5377			void main()
5378			{
5379				ivec2 c;
5380				ivec2 a;
5381				uvec3 b;
5382				ivec2 c = a - b;
5383			}
5384		""
5385	end
5386	case sub_ivec2_uvec3_uvec3
5387		expect compile_fail
5388		version 300 es
5389
5390		both ""
5391			#version 300 es
5392			precision mediump float;
5393			precision mediump int;
5394
5395			 ${DECLARATIONS}
5396
5397			void main()
5398			{
5399				uvec3 c;
5400				ivec2 a;
5401				uvec3 b;
5402				uvec3 c = a - b;
5403			}
5404		""
5405	end
5406	case sub_ivec2_uvec4_ivec2
5407		expect compile_fail
5408		version 300 es
5409
5410		both ""
5411			#version 300 es
5412			precision mediump float;
5413			precision mediump int;
5414
5415			${DECLARATIONS}
5416
5417			void main()
5418			{
5419				ivec2 c;
5420				ivec2 a;
5421				uvec4 b;
5422				ivec2 c = a - b;
5423			}
5424		""
5425	end
5426	case sub_ivec2_uvec4_uvec4
5427		expect compile_fail
5428		version 300 es
5429
5430		both ""
5431			#version 300 es
5432			precision mediump float;
5433			precision mediump int;
5434
5435			 ${DECLARATIONS}
5436
5437			void main()
5438			{
5439				uvec4 c;
5440				ivec2 a;
5441				uvec4 b;
5442				uvec4 c = a - b;
5443			}
5444		""
5445	end
5446	case sub_ivec3_uint_ivec3
5447		expect compile_fail
5448		version 300 es
5449
5450		both ""
5451			#version 300 es
5452			precision mediump float;
5453			precision mediump int;
5454
5455			${DECLARATIONS}
5456
5457			void main()
5458			{
5459				ivec3 c;
5460				ivec3 a;
5461				uint b;
5462				ivec3 c = a - b;
5463			}
5464		""
5465	end
5466	case sub_ivec3_uint_uint
5467		expect compile_fail
5468		version 300 es
5469
5470		both ""
5471			#version 300 es
5472			precision mediump float;
5473			precision mediump int;
5474
5475			 ${DECLARATIONS}
5476
5477			void main()
5478			{
5479				uint c;
5480				ivec3 a;
5481				uint b;
5482				uint c = a - b;
5483			}
5484		""
5485	end
5486	case sub_ivec3_uvec2_ivec3
5487		expect compile_fail
5488		version 300 es
5489
5490		both ""
5491			#version 300 es
5492			precision mediump float;
5493			precision mediump int;
5494
5495			${DECLARATIONS}
5496
5497			void main()
5498			{
5499				ivec3 c;
5500				ivec3 a;
5501				uvec2 b;
5502				ivec3 c = a - b;
5503			}
5504		""
5505	end
5506	case sub_ivec3_uvec2_uvec2
5507		expect compile_fail
5508		version 300 es
5509
5510		both ""
5511			#version 300 es
5512			precision mediump float;
5513			precision mediump int;
5514
5515			 ${DECLARATIONS}
5516
5517			void main()
5518			{
5519				uvec2 c;
5520				ivec3 a;
5521				uvec2 b;
5522				uvec2 c = a - b;
5523			}
5524		""
5525	end
5526	case sub_ivec3_uvec3_ivec3
5527		expect compile_fail
5528		version 300 es
5529
5530		both ""
5531			#version 300 es
5532			precision mediump float;
5533			precision mediump int;
5534
5535			${DECLARATIONS}
5536
5537			void main()
5538			{
5539				ivec3 c;
5540				ivec3 a;
5541				uvec3 b;
5542				ivec3 c = a - b;
5543			}
5544		""
5545	end
5546	case sub_ivec3_uvec3_uvec3
5547		expect compile_fail
5548		version 300 es
5549
5550		both ""
5551			#version 300 es
5552			precision mediump float;
5553			precision mediump int;
5554
5555			 ${DECLARATIONS}
5556
5557			void main()
5558			{
5559				uvec3 c;
5560				ivec3 a;
5561				uvec3 b;
5562				uvec3 c = a - b;
5563			}
5564		""
5565	end
5566	case sub_ivec3_uvec4_ivec3
5567		expect compile_fail
5568		version 300 es
5569
5570		both ""
5571			#version 300 es
5572			precision mediump float;
5573			precision mediump int;
5574
5575			${DECLARATIONS}
5576
5577			void main()
5578			{
5579				ivec3 c;
5580				ivec3 a;
5581				uvec4 b;
5582				ivec3 c = a - b;
5583			}
5584		""
5585	end
5586	case sub_ivec3_uvec4_uvec4
5587		expect compile_fail
5588		version 300 es
5589
5590		both ""
5591			#version 300 es
5592			precision mediump float;
5593			precision mediump int;
5594
5595			 ${DECLARATIONS}
5596
5597			void main()
5598			{
5599				uvec4 c;
5600				ivec3 a;
5601				uvec4 b;
5602				uvec4 c = a - b;
5603			}
5604		""
5605	end
5606	case sub_ivec4_uint_ivec4
5607		expect compile_fail
5608		version 300 es
5609
5610		both ""
5611			#version 300 es
5612			precision mediump float;
5613			precision mediump int;
5614
5615			${DECLARATIONS}
5616
5617			void main()
5618			{
5619				ivec4 c;
5620				ivec4 a;
5621				uint b;
5622				ivec4 c = a - b;
5623			}
5624		""
5625	end
5626	case sub_ivec4_uint_uint
5627		expect compile_fail
5628		version 300 es
5629
5630		both ""
5631			#version 300 es
5632			precision mediump float;
5633			precision mediump int;
5634
5635			 ${DECLARATIONS}
5636
5637			void main()
5638			{
5639				uint c;
5640				ivec4 a;
5641				uint b;
5642				uint c = a - b;
5643			}
5644		""
5645	end
5646	case sub_ivec4_uvec2_ivec4
5647		expect compile_fail
5648		version 300 es
5649
5650		both ""
5651			#version 300 es
5652			precision mediump float;
5653			precision mediump int;
5654
5655			${DECLARATIONS}
5656
5657			void main()
5658			{
5659				ivec4 c;
5660				ivec4 a;
5661				uvec2 b;
5662				ivec4 c = a - b;
5663			}
5664		""
5665	end
5666	case sub_ivec4_uvec2_uvec2
5667		expect compile_fail
5668		version 300 es
5669
5670		both ""
5671			#version 300 es
5672			precision mediump float;
5673			precision mediump int;
5674
5675			 ${DECLARATIONS}
5676
5677			void main()
5678			{
5679				uvec2 c;
5680				ivec4 a;
5681				uvec2 b;
5682				uvec2 c = a - b;
5683			}
5684		""
5685	end
5686	case sub_ivec4_uvec3_ivec4
5687		expect compile_fail
5688		version 300 es
5689
5690		both ""
5691			#version 300 es
5692			precision mediump float;
5693			precision mediump int;
5694
5695			${DECLARATIONS}
5696
5697			void main()
5698			{
5699				ivec4 c;
5700				ivec4 a;
5701				uvec3 b;
5702				ivec4 c = a - b;
5703			}
5704		""
5705	end
5706	case sub_ivec4_uvec3_uvec3
5707		expect compile_fail
5708		version 300 es
5709
5710		both ""
5711			#version 300 es
5712			precision mediump float;
5713			precision mediump int;
5714
5715			 ${DECLARATIONS}
5716
5717			void main()
5718			{
5719				uvec3 c;
5720				ivec4 a;
5721				uvec3 b;
5722				uvec3 c = a - b;
5723			}
5724		""
5725	end
5726	case sub_ivec4_uvec4_ivec4
5727		expect compile_fail
5728		version 300 es
5729
5730		both ""
5731			#version 300 es
5732			precision mediump float;
5733			precision mediump int;
5734
5735			${DECLARATIONS}
5736
5737			void main()
5738			{
5739				ivec4 c;
5740				ivec4 a;
5741				uvec4 b;
5742				ivec4 c = a - b;
5743			}
5744		""
5745	end
5746	case sub_ivec4_uvec4_uvec4
5747		expect compile_fail
5748		version 300 es
5749
5750		both ""
5751			#version 300 es
5752			precision mediump float;
5753			precision mediump int;
5754
5755			 ${DECLARATIONS}
5756
5757			void main()
5758			{
5759				uvec4 c;
5760				ivec4 a;
5761				uvec4 b;
5762				uvec4 c = a - b;
5763			}
5764		""
5765	end
5766	case div_float_int_float
5767		expect compile_fail
5768		version 300 es
5769
5770		both ""
5771			#version 300 es
5772			precision mediump float;
5773			precision mediump int;
5774
5775			${DECLARATIONS}
5776
5777			void main()
5778			{
5779				float c;
5780				float a;
5781				int b;
5782				float c = a / b;
5783			}
5784		""
5785	end
5786	case div_float_int_int
5787		expect compile_fail
5788		version 300 es
5789
5790		both ""
5791			#version 300 es
5792			precision mediump float;
5793			precision mediump int;
5794
5795			 ${DECLARATIONS}
5796
5797			void main()
5798			{
5799				int c;
5800				float a;
5801				int b;
5802				int c = a / b;
5803			}
5804		""
5805	end
5806	case div_float_ivec2_float
5807		expect compile_fail
5808		version 300 es
5809
5810		both ""
5811			#version 300 es
5812			precision mediump float;
5813			precision mediump int;
5814
5815			${DECLARATIONS}
5816
5817			void main()
5818			{
5819				float c;
5820				float a;
5821				ivec2 b;
5822				float c = a / b;
5823			}
5824		""
5825	end
5826	case div_float_ivec2_ivec2
5827		expect compile_fail
5828		version 300 es
5829
5830		both ""
5831			#version 300 es
5832			precision mediump float;
5833			precision mediump int;
5834
5835			 ${DECLARATIONS}
5836
5837			void main()
5838			{
5839				ivec2 c;
5840				float a;
5841				ivec2 b;
5842				ivec2 c = a / b;
5843			}
5844		""
5845	end
5846	case div_float_ivec3_float
5847		expect compile_fail
5848		version 300 es
5849
5850		both ""
5851			#version 300 es
5852			precision mediump float;
5853			precision mediump int;
5854
5855			${DECLARATIONS}
5856
5857			void main()
5858			{
5859				float c;
5860				float a;
5861				ivec3 b;
5862				float c = a / b;
5863			}
5864		""
5865	end
5866	case div_float_ivec3_ivec3
5867		expect compile_fail
5868		version 300 es
5869
5870		both ""
5871			#version 300 es
5872			precision mediump float;
5873			precision mediump int;
5874
5875			 ${DECLARATIONS}
5876
5877			void main()
5878			{
5879				ivec3 c;
5880				float a;
5881				ivec3 b;
5882				ivec3 c = a / b;
5883			}
5884		""
5885	end
5886	case div_float_ivec4_float
5887		expect compile_fail
5888		version 300 es
5889
5890		both ""
5891			#version 300 es
5892			precision mediump float;
5893			precision mediump int;
5894
5895			${DECLARATIONS}
5896
5897			void main()
5898			{
5899				float c;
5900				float a;
5901				ivec4 b;
5902				float c = a / b;
5903			}
5904		""
5905	end
5906	case div_float_ivec4_ivec4
5907		expect compile_fail
5908		version 300 es
5909
5910		both ""
5911			#version 300 es
5912			precision mediump float;
5913			precision mediump int;
5914
5915			 ${DECLARATIONS}
5916
5917			void main()
5918			{
5919				ivec4 c;
5920				float a;
5921				ivec4 b;
5922				ivec4 c = a / b;
5923			}
5924		""
5925	end
5926	case div_vec2_int_vec2
5927		expect compile_fail
5928		version 300 es
5929
5930		both ""
5931			#version 300 es
5932			precision mediump float;
5933			precision mediump int;
5934
5935			${DECLARATIONS}
5936
5937			void main()
5938			{
5939				vec2 c;
5940				vec2 a;
5941				int b;
5942				vec2 c = a / b;
5943			}
5944		""
5945	end
5946	case div_vec2_int_int
5947		expect compile_fail
5948		version 300 es
5949
5950		both ""
5951			#version 300 es
5952			precision mediump float;
5953			precision mediump int;
5954
5955			 ${DECLARATIONS}
5956
5957			void main()
5958			{
5959				int c;
5960				vec2 a;
5961				int b;
5962				int c = a / b;
5963			}
5964		""
5965	end
5966	case div_vec2_ivec2_vec2
5967		expect compile_fail
5968		version 300 es
5969
5970		both ""
5971			#version 300 es
5972			precision mediump float;
5973			precision mediump int;
5974
5975			${DECLARATIONS}
5976
5977			void main()
5978			{
5979				vec2 c;
5980				vec2 a;
5981				ivec2 b;
5982				vec2 c = a / b;
5983			}
5984		""
5985	end
5986	case div_vec2_ivec2_ivec2
5987		expect compile_fail
5988		version 300 es
5989
5990		both ""
5991			#version 300 es
5992			precision mediump float;
5993			precision mediump int;
5994
5995			 ${DECLARATIONS}
5996
5997			void main()
5998			{
5999				ivec2 c;
6000				vec2 a;
6001				ivec2 b;
6002				ivec2 c = a / b;
6003			}
6004		""
6005	end
6006	case div_vec2_ivec3_vec2
6007		expect compile_fail
6008		version 300 es
6009
6010		both ""
6011			#version 300 es
6012			precision mediump float;
6013			precision mediump int;
6014
6015			${DECLARATIONS}
6016
6017			void main()
6018			{
6019				vec2 c;
6020				vec2 a;
6021				ivec3 b;
6022				vec2 c = a / b;
6023			}
6024		""
6025	end
6026	case div_vec2_ivec3_ivec3
6027		expect compile_fail
6028		version 300 es
6029
6030		both ""
6031			#version 300 es
6032			precision mediump float;
6033			precision mediump int;
6034
6035			 ${DECLARATIONS}
6036
6037			void main()
6038			{
6039				ivec3 c;
6040				vec2 a;
6041				ivec3 b;
6042				ivec3 c = a / b;
6043			}
6044		""
6045	end
6046	case div_vec2_ivec4_vec2
6047		expect compile_fail
6048		version 300 es
6049
6050		both ""
6051			#version 300 es
6052			precision mediump float;
6053			precision mediump int;
6054
6055			${DECLARATIONS}
6056
6057			void main()
6058			{
6059				vec2 c;
6060				vec2 a;
6061				ivec4 b;
6062				vec2 c = a / b;
6063			}
6064		""
6065	end
6066	case div_vec2_ivec4_ivec4
6067		expect compile_fail
6068		version 300 es
6069
6070		both ""
6071			#version 300 es
6072			precision mediump float;
6073			precision mediump int;
6074
6075			 ${DECLARATIONS}
6076
6077			void main()
6078			{
6079				ivec4 c;
6080				vec2 a;
6081				ivec4 b;
6082				ivec4 c = a / b;
6083			}
6084		""
6085	end
6086	case div_vec3_int_vec3
6087		expect compile_fail
6088		version 300 es
6089
6090		both ""
6091			#version 300 es
6092			precision mediump float;
6093			precision mediump int;
6094
6095			${DECLARATIONS}
6096
6097			void main()
6098			{
6099				vec3 c;
6100				vec3 a;
6101				int b;
6102				vec3 c = a / b;
6103			}
6104		""
6105	end
6106	case div_vec3_int_int
6107		expect compile_fail
6108		version 300 es
6109
6110		both ""
6111			#version 300 es
6112			precision mediump float;
6113			precision mediump int;
6114
6115			 ${DECLARATIONS}
6116
6117			void main()
6118			{
6119				int c;
6120				vec3 a;
6121				int b;
6122				int c = a / b;
6123			}
6124		""
6125	end
6126	case div_vec3_ivec2_vec3
6127		expect compile_fail
6128		version 300 es
6129
6130		both ""
6131			#version 300 es
6132			precision mediump float;
6133			precision mediump int;
6134
6135			${DECLARATIONS}
6136
6137			void main()
6138			{
6139				vec3 c;
6140				vec3 a;
6141				ivec2 b;
6142				vec3 c = a / b;
6143			}
6144		""
6145	end
6146	case div_vec3_ivec2_ivec2
6147		expect compile_fail
6148		version 300 es
6149
6150		both ""
6151			#version 300 es
6152			precision mediump float;
6153			precision mediump int;
6154
6155			 ${DECLARATIONS}
6156
6157			void main()
6158			{
6159				ivec2 c;
6160				vec3 a;
6161				ivec2 b;
6162				ivec2 c = a / b;
6163			}
6164		""
6165	end
6166	case div_vec3_ivec3_vec3
6167		expect compile_fail
6168		version 300 es
6169
6170		both ""
6171			#version 300 es
6172			precision mediump float;
6173			precision mediump int;
6174
6175			${DECLARATIONS}
6176
6177			void main()
6178			{
6179				vec3 c;
6180				vec3 a;
6181				ivec3 b;
6182				vec3 c = a / b;
6183			}
6184		""
6185	end
6186	case div_vec3_ivec3_ivec3
6187		expect compile_fail
6188		version 300 es
6189
6190		both ""
6191			#version 300 es
6192			precision mediump float;
6193			precision mediump int;
6194
6195			 ${DECLARATIONS}
6196
6197			void main()
6198			{
6199				ivec3 c;
6200				vec3 a;
6201				ivec3 b;
6202				ivec3 c = a / b;
6203			}
6204		""
6205	end
6206	case div_vec3_ivec4_vec3
6207		expect compile_fail
6208		version 300 es
6209
6210		both ""
6211			#version 300 es
6212			precision mediump float;
6213			precision mediump int;
6214
6215			${DECLARATIONS}
6216
6217			void main()
6218			{
6219				vec3 c;
6220				vec3 a;
6221				ivec4 b;
6222				vec3 c = a / b;
6223			}
6224		""
6225	end
6226	case div_vec3_ivec4_ivec4
6227		expect compile_fail
6228		version 300 es
6229
6230		both ""
6231			#version 300 es
6232			precision mediump float;
6233			precision mediump int;
6234
6235			 ${DECLARATIONS}
6236
6237			void main()
6238			{
6239				ivec4 c;
6240				vec3 a;
6241				ivec4 b;
6242				ivec4 c = a / b;
6243			}
6244		""
6245	end
6246	case div_vec4_int_vec4
6247		expect compile_fail
6248		version 300 es
6249
6250		both ""
6251			#version 300 es
6252			precision mediump float;
6253			precision mediump int;
6254
6255			${DECLARATIONS}
6256
6257			void main()
6258			{
6259				vec4 c;
6260				vec4 a;
6261				int b;
6262				vec4 c = a / b;
6263			}
6264		""
6265	end
6266	case div_vec4_int_int
6267		expect compile_fail
6268		version 300 es
6269
6270		both ""
6271			#version 300 es
6272			precision mediump float;
6273			precision mediump int;
6274
6275			 ${DECLARATIONS}
6276
6277			void main()
6278			{
6279				int c;
6280				vec4 a;
6281				int b;
6282				int c = a / b;
6283			}
6284		""
6285	end
6286	case div_vec4_ivec2_vec4
6287		expect compile_fail
6288		version 300 es
6289
6290		both ""
6291			#version 300 es
6292			precision mediump float;
6293			precision mediump int;
6294
6295			${DECLARATIONS}
6296
6297			void main()
6298			{
6299				vec4 c;
6300				vec4 a;
6301				ivec2 b;
6302				vec4 c = a / b;
6303			}
6304		""
6305	end
6306	case div_vec4_ivec2_ivec2
6307		expect compile_fail
6308		version 300 es
6309
6310		both ""
6311			#version 300 es
6312			precision mediump float;
6313			precision mediump int;
6314
6315			 ${DECLARATIONS}
6316
6317			void main()
6318			{
6319				ivec2 c;
6320				vec4 a;
6321				ivec2 b;
6322				ivec2 c = a / b;
6323			}
6324		""
6325	end
6326	case div_vec4_ivec3_vec4
6327		expect compile_fail
6328		version 300 es
6329
6330		both ""
6331			#version 300 es
6332			precision mediump float;
6333			precision mediump int;
6334
6335			${DECLARATIONS}
6336
6337			void main()
6338			{
6339				vec4 c;
6340				vec4 a;
6341				ivec3 b;
6342				vec4 c = a / b;
6343			}
6344		""
6345	end
6346	case div_vec4_ivec3_ivec3
6347		expect compile_fail
6348		version 300 es
6349
6350		both ""
6351			#version 300 es
6352			precision mediump float;
6353			precision mediump int;
6354
6355			 ${DECLARATIONS}
6356
6357			void main()
6358			{
6359				ivec3 c;
6360				vec4 a;
6361				ivec3 b;
6362				ivec3 c = a / b;
6363			}
6364		""
6365	end
6366	case div_vec4_ivec4_vec4
6367		expect compile_fail
6368		version 300 es
6369
6370		both ""
6371			#version 300 es
6372			precision mediump float;
6373			precision mediump int;
6374
6375			${DECLARATIONS}
6376
6377			void main()
6378			{
6379				vec4 c;
6380				vec4 a;
6381				ivec4 b;
6382				vec4 c = a / b;
6383			}
6384		""
6385	end
6386	case div_vec4_ivec4_ivec4
6387		expect compile_fail
6388		version 300 es
6389
6390		both ""
6391			#version 300 es
6392			precision mediump float;
6393			precision mediump int;
6394
6395			 ${DECLARATIONS}
6396
6397			void main()
6398			{
6399				ivec4 c;
6400				vec4 a;
6401				ivec4 b;
6402				ivec4 c = a / b;
6403			}
6404		""
6405	end
6406	case div_float_uint_float
6407		expect compile_fail
6408		version 300 es
6409
6410		both ""
6411			#version 300 es
6412			precision mediump float;
6413			precision mediump int;
6414
6415			${DECLARATIONS}
6416
6417			void main()
6418			{
6419				float c;
6420				float a;
6421				uint b;
6422				float c = a / b;
6423			}
6424		""
6425	end
6426	case div_float_uint_uint
6427		expect compile_fail
6428		version 300 es
6429
6430		both ""
6431			#version 300 es
6432			precision mediump float;
6433			precision mediump int;
6434
6435			 ${DECLARATIONS}
6436
6437			void main()
6438			{
6439				uint c;
6440				float a;
6441				uint b;
6442				uint c = a / b;
6443			}
6444		""
6445	end
6446	case div_float_uvec2_float
6447		expect compile_fail
6448		version 300 es
6449
6450		both ""
6451			#version 300 es
6452			precision mediump float;
6453			precision mediump int;
6454
6455			${DECLARATIONS}
6456
6457			void main()
6458			{
6459				float c;
6460				float a;
6461				uvec2 b;
6462				float c = a / b;
6463			}
6464		""
6465	end
6466	case div_float_uvec2_uvec2
6467		expect compile_fail
6468		version 300 es
6469
6470		both ""
6471			#version 300 es
6472			precision mediump float;
6473			precision mediump int;
6474
6475			 ${DECLARATIONS}
6476
6477			void main()
6478			{
6479				uvec2 c;
6480				float a;
6481				uvec2 b;
6482				uvec2 c = a / b;
6483			}
6484		""
6485	end
6486	case div_float_uvec3_float
6487		expect compile_fail
6488		version 300 es
6489
6490		both ""
6491			#version 300 es
6492			precision mediump float;
6493			precision mediump int;
6494
6495			${DECLARATIONS}
6496
6497			void main()
6498			{
6499				float c;
6500				float a;
6501				uvec3 b;
6502				float c = a / b;
6503			}
6504		""
6505	end
6506	case div_float_uvec3_uvec3
6507		expect compile_fail
6508		version 300 es
6509
6510		both ""
6511			#version 300 es
6512			precision mediump float;
6513			precision mediump int;
6514
6515			 ${DECLARATIONS}
6516
6517			void main()
6518			{
6519				uvec3 c;
6520				float a;
6521				uvec3 b;
6522				uvec3 c = a / b;
6523			}
6524		""
6525	end
6526	case div_float_uvec4_float
6527		expect compile_fail
6528		version 300 es
6529
6530		both ""
6531			#version 300 es
6532			precision mediump float;
6533			precision mediump int;
6534
6535			${DECLARATIONS}
6536
6537			void main()
6538			{
6539				float c;
6540				float a;
6541				uvec4 b;
6542				float c = a / b;
6543			}
6544		""
6545	end
6546	case div_float_uvec4_uvec4
6547		expect compile_fail
6548		version 300 es
6549
6550		both ""
6551			#version 300 es
6552			precision mediump float;
6553			precision mediump int;
6554
6555			 ${DECLARATIONS}
6556
6557			void main()
6558			{
6559				uvec4 c;
6560				float a;
6561				uvec4 b;
6562				uvec4 c = a / b;
6563			}
6564		""
6565	end
6566	case div_vec2_uint_vec2
6567		expect compile_fail
6568		version 300 es
6569
6570		both ""
6571			#version 300 es
6572			precision mediump float;
6573			precision mediump int;
6574
6575			${DECLARATIONS}
6576
6577			void main()
6578			{
6579				vec2 c;
6580				vec2 a;
6581				uint b;
6582				vec2 c = a / b;
6583			}
6584		""
6585	end
6586	case div_vec2_uint_uint
6587		expect compile_fail
6588		version 300 es
6589
6590		both ""
6591			#version 300 es
6592			precision mediump float;
6593			precision mediump int;
6594
6595			 ${DECLARATIONS}
6596
6597			void main()
6598			{
6599				uint c;
6600				vec2 a;
6601				uint b;
6602				uint c = a / b;
6603			}
6604		""
6605	end
6606	case div_vec2_uvec2_vec2
6607		expect compile_fail
6608		version 300 es
6609
6610		both ""
6611			#version 300 es
6612			precision mediump float;
6613			precision mediump int;
6614
6615			${DECLARATIONS}
6616
6617			void main()
6618			{
6619				vec2 c;
6620				vec2 a;
6621				uvec2 b;
6622				vec2 c = a / b;
6623			}
6624		""
6625	end
6626	case div_vec2_uvec2_uvec2
6627		expect compile_fail
6628		version 300 es
6629
6630		both ""
6631			#version 300 es
6632			precision mediump float;
6633			precision mediump int;
6634
6635			 ${DECLARATIONS}
6636
6637			void main()
6638			{
6639				uvec2 c;
6640				vec2 a;
6641				uvec2 b;
6642				uvec2 c = a / b;
6643			}
6644		""
6645	end
6646	case div_vec2_uvec3_vec2
6647		expect compile_fail
6648		version 300 es
6649
6650		both ""
6651			#version 300 es
6652			precision mediump float;
6653			precision mediump int;
6654
6655			${DECLARATIONS}
6656
6657			void main()
6658			{
6659				vec2 c;
6660				vec2 a;
6661				uvec3 b;
6662				vec2 c = a / b;
6663			}
6664		""
6665	end
6666	case div_vec2_uvec3_uvec3
6667		expect compile_fail
6668		version 300 es
6669
6670		both ""
6671			#version 300 es
6672			precision mediump float;
6673			precision mediump int;
6674
6675			 ${DECLARATIONS}
6676
6677			void main()
6678			{
6679				uvec3 c;
6680				vec2 a;
6681				uvec3 b;
6682				uvec3 c = a / b;
6683			}
6684		""
6685	end
6686	case div_vec2_uvec4_vec2
6687		expect compile_fail
6688		version 300 es
6689
6690		both ""
6691			#version 300 es
6692			precision mediump float;
6693			precision mediump int;
6694
6695			${DECLARATIONS}
6696
6697			void main()
6698			{
6699				vec2 c;
6700				vec2 a;
6701				uvec4 b;
6702				vec2 c = a / b;
6703			}
6704		""
6705	end
6706	case div_vec2_uvec4_uvec4
6707		expect compile_fail
6708		version 300 es
6709
6710		both ""
6711			#version 300 es
6712			precision mediump float;
6713			precision mediump int;
6714
6715			 ${DECLARATIONS}
6716
6717			void main()
6718			{
6719				uvec4 c;
6720				vec2 a;
6721				uvec4 b;
6722				uvec4 c = a / b;
6723			}
6724		""
6725	end
6726	case div_vec3_uint_vec3
6727		expect compile_fail
6728		version 300 es
6729
6730		both ""
6731			#version 300 es
6732			precision mediump float;
6733			precision mediump int;
6734
6735			${DECLARATIONS}
6736
6737			void main()
6738			{
6739				vec3 c;
6740				vec3 a;
6741				uint b;
6742				vec3 c = a / b;
6743			}
6744		""
6745	end
6746	case div_vec3_uint_uint
6747		expect compile_fail
6748		version 300 es
6749
6750		both ""
6751			#version 300 es
6752			precision mediump float;
6753			precision mediump int;
6754
6755			 ${DECLARATIONS}
6756
6757			void main()
6758			{
6759				uint c;
6760				vec3 a;
6761				uint b;
6762				uint c = a / b;
6763			}
6764		""
6765	end
6766	case div_vec3_uvec2_vec3
6767		expect compile_fail
6768		version 300 es
6769
6770		both ""
6771			#version 300 es
6772			precision mediump float;
6773			precision mediump int;
6774
6775			${DECLARATIONS}
6776
6777			void main()
6778			{
6779				vec3 c;
6780				vec3 a;
6781				uvec2 b;
6782				vec3 c = a / b;
6783			}
6784		""
6785	end
6786	case div_vec3_uvec2_uvec2
6787		expect compile_fail
6788		version 300 es
6789
6790		both ""
6791			#version 300 es
6792			precision mediump float;
6793			precision mediump int;
6794
6795			 ${DECLARATIONS}
6796
6797			void main()
6798			{
6799				uvec2 c;
6800				vec3 a;
6801				uvec2 b;
6802				uvec2 c = a / b;
6803			}
6804		""
6805	end
6806	case div_vec3_uvec3_vec3
6807		expect compile_fail
6808		version 300 es
6809
6810		both ""
6811			#version 300 es
6812			precision mediump float;
6813			precision mediump int;
6814
6815			${DECLARATIONS}
6816
6817			void main()
6818			{
6819				vec3 c;
6820				vec3 a;
6821				uvec3 b;
6822				vec3 c = a / b;
6823			}
6824		""
6825	end
6826	case div_vec3_uvec3_uvec3
6827		expect compile_fail
6828		version 300 es
6829
6830		both ""
6831			#version 300 es
6832			precision mediump float;
6833			precision mediump int;
6834
6835			 ${DECLARATIONS}
6836
6837			void main()
6838			{
6839				uvec3 c;
6840				vec3 a;
6841				uvec3 b;
6842				uvec3 c = a / b;
6843			}
6844		""
6845	end
6846	case div_vec3_uvec4_vec3
6847		expect compile_fail
6848		version 300 es
6849
6850		both ""
6851			#version 300 es
6852			precision mediump float;
6853			precision mediump int;
6854
6855			${DECLARATIONS}
6856
6857			void main()
6858			{
6859				vec3 c;
6860				vec3 a;
6861				uvec4 b;
6862				vec3 c = a / b;
6863			}
6864		""
6865	end
6866	case div_vec3_uvec4_uvec4
6867		expect compile_fail
6868		version 300 es
6869
6870		both ""
6871			#version 300 es
6872			precision mediump float;
6873			precision mediump int;
6874
6875			 ${DECLARATIONS}
6876
6877			void main()
6878			{
6879				uvec4 c;
6880				vec3 a;
6881				uvec4 b;
6882				uvec4 c = a / b;
6883			}
6884		""
6885	end
6886	case div_vec4_uint_vec4
6887		expect compile_fail
6888		version 300 es
6889
6890		both ""
6891			#version 300 es
6892			precision mediump float;
6893			precision mediump int;
6894
6895			${DECLARATIONS}
6896
6897			void main()
6898			{
6899				vec4 c;
6900				vec4 a;
6901				uint b;
6902				vec4 c = a / b;
6903			}
6904		""
6905	end
6906	case div_vec4_uint_uint
6907		expect compile_fail
6908		version 300 es
6909
6910		both ""
6911			#version 300 es
6912			precision mediump float;
6913			precision mediump int;
6914
6915			 ${DECLARATIONS}
6916
6917			void main()
6918			{
6919				uint c;
6920				vec4 a;
6921				uint b;
6922				uint c = a / b;
6923			}
6924		""
6925	end
6926	case div_vec4_uvec2_vec4
6927		expect compile_fail
6928		version 300 es
6929
6930		both ""
6931			#version 300 es
6932			precision mediump float;
6933			precision mediump int;
6934
6935			${DECLARATIONS}
6936
6937			void main()
6938			{
6939				vec4 c;
6940				vec4 a;
6941				uvec2 b;
6942				vec4 c = a / b;
6943			}
6944		""
6945	end
6946	case div_vec4_uvec2_uvec2
6947		expect compile_fail
6948		version 300 es
6949
6950		both ""
6951			#version 300 es
6952			precision mediump float;
6953			precision mediump int;
6954
6955			 ${DECLARATIONS}
6956
6957			void main()
6958			{
6959				uvec2 c;
6960				vec4 a;
6961				uvec2 b;
6962				uvec2 c = a / b;
6963			}
6964		""
6965	end
6966	case div_vec4_uvec3_vec4
6967		expect compile_fail
6968		version 300 es
6969
6970		both ""
6971			#version 300 es
6972			precision mediump float;
6973			precision mediump int;
6974
6975			${DECLARATIONS}
6976
6977			void main()
6978			{
6979				vec4 c;
6980				vec4 a;
6981				uvec3 b;
6982				vec4 c = a / b;
6983			}
6984		""
6985	end
6986	case div_vec4_uvec3_uvec3
6987		expect compile_fail
6988		version 300 es
6989
6990		both ""
6991			#version 300 es
6992			precision mediump float;
6993			precision mediump int;
6994
6995			 ${DECLARATIONS}
6996
6997			void main()
6998			{
6999				uvec3 c;
7000				vec4 a;
7001				uvec3 b;
7002				uvec3 c = a / b;
7003			}
7004		""
7005	end
7006	case div_vec4_uvec4_vec4
7007		expect compile_fail
7008		version 300 es
7009
7010		both ""
7011			#version 300 es
7012			precision mediump float;
7013			precision mediump int;
7014
7015			${DECLARATIONS}
7016
7017			void main()
7018			{
7019				vec4 c;
7020				vec4 a;
7021				uvec4 b;
7022				vec4 c = a / b;
7023			}
7024		""
7025	end
7026	case div_vec4_uvec4_uvec4
7027		expect compile_fail
7028		version 300 es
7029
7030		both ""
7031			#version 300 es
7032			precision mediump float;
7033			precision mediump int;
7034
7035			 ${DECLARATIONS}
7036
7037			void main()
7038			{
7039				uvec4 c;
7040				vec4 a;
7041				uvec4 b;
7042				uvec4 c = a / b;
7043			}
7044		""
7045	end
7046	case div_int_uint_int
7047		expect compile_fail
7048		version 300 es
7049
7050		both ""
7051			#version 300 es
7052			precision mediump float;
7053			precision mediump int;
7054
7055			${DECLARATIONS}
7056
7057			void main()
7058			{
7059				int c;
7060				int a;
7061				uint b;
7062				int c = a / b;
7063			}
7064		""
7065	end
7066	case div_int_uint_uint
7067		expect compile_fail
7068		version 300 es
7069
7070		both ""
7071			#version 300 es
7072			precision mediump float;
7073			precision mediump int;
7074
7075			 ${DECLARATIONS}
7076
7077			void main()
7078			{
7079				uint c;
7080				int a;
7081				uint b;
7082				uint c = a / b;
7083			}
7084		""
7085	end
7086	case div_int_uvec2_int
7087		expect compile_fail
7088		version 300 es
7089
7090		both ""
7091			#version 300 es
7092			precision mediump float;
7093			precision mediump int;
7094
7095			${DECLARATIONS}
7096
7097			void main()
7098			{
7099				int c;
7100				int a;
7101				uvec2 b;
7102				int c = a / b;
7103			}
7104		""
7105	end
7106	case div_int_uvec2_uvec2
7107		expect compile_fail
7108		version 300 es
7109
7110		both ""
7111			#version 300 es
7112			precision mediump float;
7113			precision mediump int;
7114
7115			 ${DECLARATIONS}
7116
7117			void main()
7118			{
7119				uvec2 c;
7120				int a;
7121				uvec2 b;
7122				uvec2 c = a / b;
7123			}
7124		""
7125	end
7126	case div_int_uvec3_int
7127		expect compile_fail
7128		version 300 es
7129
7130		both ""
7131			#version 300 es
7132			precision mediump float;
7133			precision mediump int;
7134
7135			${DECLARATIONS}
7136
7137			void main()
7138			{
7139				int c;
7140				int a;
7141				uvec3 b;
7142				int c = a / b;
7143			}
7144		""
7145	end
7146	case div_int_uvec3_uvec3
7147		expect compile_fail
7148		version 300 es
7149
7150		both ""
7151			#version 300 es
7152			precision mediump float;
7153			precision mediump int;
7154
7155			 ${DECLARATIONS}
7156
7157			void main()
7158			{
7159				uvec3 c;
7160				int a;
7161				uvec3 b;
7162				uvec3 c = a / b;
7163			}
7164		""
7165	end
7166	case div_int_uvec4_int
7167		expect compile_fail
7168		version 300 es
7169
7170		both ""
7171			#version 300 es
7172			precision mediump float;
7173			precision mediump int;
7174
7175			${DECLARATIONS}
7176
7177			void main()
7178			{
7179				int c;
7180				int a;
7181				uvec4 b;
7182				int c = a / b;
7183			}
7184		""
7185	end
7186	case div_int_uvec4_uvec4
7187		expect compile_fail
7188		version 300 es
7189
7190		both ""
7191			#version 300 es
7192			precision mediump float;
7193			precision mediump int;
7194
7195			 ${DECLARATIONS}
7196
7197			void main()
7198			{
7199				uvec4 c;
7200				int a;
7201				uvec4 b;
7202				uvec4 c = a / b;
7203			}
7204		""
7205	end
7206	case div_ivec2_uint_ivec2
7207		expect compile_fail
7208		version 300 es
7209
7210		both ""
7211			#version 300 es
7212			precision mediump float;
7213			precision mediump int;
7214
7215			${DECLARATIONS}
7216
7217			void main()
7218			{
7219				ivec2 c;
7220				ivec2 a;
7221				uint b;
7222				ivec2 c = a / b;
7223			}
7224		""
7225	end
7226	case div_ivec2_uint_uint
7227		expect compile_fail
7228		version 300 es
7229
7230		both ""
7231			#version 300 es
7232			precision mediump float;
7233			precision mediump int;
7234
7235			 ${DECLARATIONS}
7236
7237			void main()
7238			{
7239				uint c;
7240				ivec2 a;
7241				uint b;
7242				uint c = a / b;
7243			}
7244		""
7245	end
7246	case div_ivec2_uvec2_ivec2
7247		expect compile_fail
7248		version 300 es
7249
7250		both ""
7251			#version 300 es
7252			precision mediump float;
7253			precision mediump int;
7254
7255			${DECLARATIONS}
7256
7257			void main()
7258			{
7259				ivec2 c;
7260				ivec2 a;
7261				uvec2 b;
7262				ivec2 c = a / b;
7263			}
7264		""
7265	end
7266	case div_ivec2_uvec2_uvec2
7267		expect compile_fail
7268		version 300 es
7269
7270		both ""
7271			#version 300 es
7272			precision mediump float;
7273			precision mediump int;
7274
7275			 ${DECLARATIONS}
7276
7277			void main()
7278			{
7279				uvec2 c;
7280				ivec2 a;
7281				uvec2 b;
7282				uvec2 c = a / b;
7283			}
7284		""
7285	end
7286	case div_ivec2_uvec3_ivec2
7287		expect compile_fail
7288		version 300 es
7289
7290		both ""
7291			#version 300 es
7292			precision mediump float;
7293			precision mediump int;
7294
7295			${DECLARATIONS}
7296
7297			void main()
7298			{
7299				ivec2 c;
7300				ivec2 a;
7301				uvec3 b;
7302				ivec2 c = a / b;
7303			}
7304		""
7305	end
7306	case div_ivec2_uvec3_uvec3
7307		expect compile_fail
7308		version 300 es
7309
7310		both ""
7311			#version 300 es
7312			precision mediump float;
7313			precision mediump int;
7314
7315			 ${DECLARATIONS}
7316
7317			void main()
7318			{
7319				uvec3 c;
7320				ivec2 a;
7321				uvec3 b;
7322				uvec3 c = a / b;
7323			}
7324		""
7325	end
7326	case div_ivec2_uvec4_ivec2
7327		expect compile_fail
7328		version 300 es
7329
7330		both ""
7331			#version 300 es
7332			precision mediump float;
7333			precision mediump int;
7334
7335			${DECLARATIONS}
7336
7337			void main()
7338			{
7339				ivec2 c;
7340				ivec2 a;
7341				uvec4 b;
7342				ivec2 c = a / b;
7343			}
7344		""
7345	end
7346	case div_ivec2_uvec4_uvec4
7347		expect compile_fail
7348		version 300 es
7349
7350		both ""
7351			#version 300 es
7352			precision mediump float;
7353			precision mediump int;
7354
7355			 ${DECLARATIONS}
7356
7357			void main()
7358			{
7359				uvec4 c;
7360				ivec2 a;
7361				uvec4 b;
7362				uvec4 c = a / b;
7363			}
7364		""
7365	end
7366	case div_ivec3_uint_ivec3
7367		expect compile_fail
7368		version 300 es
7369
7370		both ""
7371			#version 300 es
7372			precision mediump float;
7373			precision mediump int;
7374
7375			${DECLARATIONS}
7376
7377			void main()
7378			{
7379				ivec3 c;
7380				ivec3 a;
7381				uint b;
7382				ivec3 c = a / b;
7383			}
7384		""
7385	end
7386	case div_ivec3_uint_uint
7387		expect compile_fail
7388		version 300 es
7389
7390		both ""
7391			#version 300 es
7392			precision mediump float;
7393			precision mediump int;
7394
7395			 ${DECLARATIONS}
7396
7397			void main()
7398			{
7399				uint c;
7400				ivec3 a;
7401				uint b;
7402				uint c = a / b;
7403			}
7404		""
7405	end
7406	case div_ivec3_uvec2_ivec3
7407		expect compile_fail
7408		version 300 es
7409
7410		both ""
7411			#version 300 es
7412			precision mediump float;
7413			precision mediump int;
7414
7415			${DECLARATIONS}
7416
7417			void main()
7418			{
7419				ivec3 c;
7420				ivec3 a;
7421				uvec2 b;
7422				ivec3 c = a / b;
7423			}
7424		""
7425	end
7426	case div_ivec3_uvec2_uvec2
7427		expect compile_fail
7428		version 300 es
7429
7430		both ""
7431			#version 300 es
7432			precision mediump float;
7433			precision mediump int;
7434
7435			 ${DECLARATIONS}
7436
7437			void main()
7438			{
7439				uvec2 c;
7440				ivec3 a;
7441				uvec2 b;
7442				uvec2 c = a / b;
7443			}
7444		""
7445	end
7446	case div_ivec3_uvec3_ivec3
7447		expect compile_fail
7448		version 300 es
7449
7450		both ""
7451			#version 300 es
7452			precision mediump float;
7453			precision mediump int;
7454
7455			${DECLARATIONS}
7456
7457			void main()
7458			{
7459				ivec3 c;
7460				ivec3 a;
7461				uvec3 b;
7462				ivec3 c = a / b;
7463			}
7464		""
7465	end
7466	case div_ivec3_uvec3_uvec3
7467		expect compile_fail
7468		version 300 es
7469
7470		both ""
7471			#version 300 es
7472			precision mediump float;
7473			precision mediump int;
7474
7475			 ${DECLARATIONS}
7476
7477			void main()
7478			{
7479				uvec3 c;
7480				ivec3 a;
7481				uvec3 b;
7482				uvec3 c = a / b;
7483			}
7484		""
7485	end
7486	case div_ivec3_uvec4_ivec3
7487		expect compile_fail
7488		version 300 es
7489
7490		both ""
7491			#version 300 es
7492			precision mediump float;
7493			precision mediump int;
7494
7495			${DECLARATIONS}
7496
7497			void main()
7498			{
7499				ivec3 c;
7500				ivec3 a;
7501				uvec4 b;
7502				ivec3 c = a / b;
7503			}
7504		""
7505	end
7506	case div_ivec3_uvec4_uvec4
7507		expect compile_fail
7508		version 300 es
7509
7510		both ""
7511			#version 300 es
7512			precision mediump float;
7513			precision mediump int;
7514
7515			 ${DECLARATIONS}
7516
7517			void main()
7518			{
7519				uvec4 c;
7520				ivec3 a;
7521				uvec4 b;
7522				uvec4 c = a / b;
7523			}
7524		""
7525	end
7526	case div_ivec4_uint_ivec4
7527		expect compile_fail
7528		version 300 es
7529
7530		both ""
7531			#version 300 es
7532			precision mediump float;
7533			precision mediump int;
7534
7535			${DECLARATIONS}
7536
7537			void main()
7538			{
7539				ivec4 c;
7540				ivec4 a;
7541				uint b;
7542				ivec4 c = a / b;
7543			}
7544		""
7545	end
7546	case div_ivec4_uint_uint
7547		expect compile_fail
7548		version 300 es
7549
7550		both ""
7551			#version 300 es
7552			precision mediump float;
7553			precision mediump int;
7554
7555			 ${DECLARATIONS}
7556
7557			void main()
7558			{
7559				uint c;
7560				ivec4 a;
7561				uint b;
7562				uint c = a / b;
7563			}
7564		""
7565	end
7566	case div_ivec4_uvec2_ivec4
7567		expect compile_fail
7568		version 300 es
7569
7570		both ""
7571			#version 300 es
7572			precision mediump float;
7573			precision mediump int;
7574
7575			${DECLARATIONS}
7576
7577			void main()
7578			{
7579				ivec4 c;
7580				ivec4 a;
7581				uvec2 b;
7582				ivec4 c = a / b;
7583			}
7584		""
7585	end
7586	case div_ivec4_uvec2_uvec2
7587		expect compile_fail
7588		version 300 es
7589
7590		both ""
7591			#version 300 es
7592			precision mediump float;
7593			precision mediump int;
7594
7595			 ${DECLARATIONS}
7596
7597			void main()
7598			{
7599				uvec2 c;
7600				ivec4 a;
7601				uvec2 b;
7602				uvec2 c = a / b;
7603			}
7604		""
7605	end
7606	case div_ivec4_uvec3_ivec4
7607		expect compile_fail
7608		version 300 es
7609
7610		both ""
7611			#version 300 es
7612			precision mediump float;
7613			precision mediump int;
7614
7615			${DECLARATIONS}
7616
7617			void main()
7618			{
7619				ivec4 c;
7620				ivec4 a;
7621				uvec3 b;
7622				ivec4 c = a / b;
7623			}
7624		""
7625	end
7626	case div_ivec4_uvec3_uvec3
7627		expect compile_fail
7628		version 300 es
7629
7630		both ""
7631			#version 300 es
7632			precision mediump float;
7633			precision mediump int;
7634
7635			 ${DECLARATIONS}
7636
7637			void main()
7638			{
7639				uvec3 c;
7640				ivec4 a;
7641				uvec3 b;
7642				uvec3 c = a / b;
7643			}
7644		""
7645	end
7646	case div_ivec4_uvec4_ivec4
7647		expect compile_fail
7648		version 300 es
7649
7650		both ""
7651			#version 300 es
7652			precision mediump float;
7653			precision mediump int;
7654
7655			${DECLARATIONS}
7656
7657			void main()
7658			{
7659				ivec4 c;
7660				ivec4 a;
7661				uvec4 b;
7662				ivec4 c = a / b;
7663			}
7664		""
7665	end
7666	case div_ivec4_uvec4_uvec4
7667		expect compile_fail
7668		version 300 es
7669
7670		both ""
7671			#version 300 es
7672			precision mediump float;
7673			precision mediump int;
7674
7675			 ${DECLARATIONS}
7676
7677			void main()
7678			{
7679				uvec4 c;
7680				ivec4 a;
7681				uvec4 b;
7682				uvec4 c = a / b;
7683			}
7684		""
7685	end
7686
7687end # invalid_implicit_conversions
7688