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 keywords "Usage of keywords as identifiers."
5
6	case const
7		expect compile_fail
8		values {}
9		version 300 es
10
11		both ""
12			#version 300 es
13			precision mediump float;
14			${DECLARATIONS}
15
16			void main()
17			{
18				${SETUP}
19				float const = 1.0;
20				${OUTPUT}
21			}
22		""
23	end
24	case uniform
25		expect compile_fail
26		values {}
27		version 300 es
28
29		both ""
30			#version 300 es
31			precision mediump float;
32			${DECLARATIONS}
33
34			void main()
35			{
36				${SETUP}
37				float uniform = 1.0;
38				${OUTPUT}
39			}
40		""
41	end
42	case layout
43		expect compile_fail
44		values {}
45		version 300 es
46
47		both ""
48			#version 300 es
49			precision mediump float;
50			${DECLARATIONS}
51
52			void main()
53			{
54				${SETUP}
55				float layout = 1.0;
56				${OUTPUT}
57			}
58		""
59	end
60	case centroid
61		expect compile_fail
62		values {}
63		version 300 es
64
65		both ""
66			#version 300 es
67			precision mediump float;
68			${DECLARATIONS}
69
70			void main()
71			{
72				${SETUP}
73				float centroid = 1.0;
74				${OUTPUT}
75			}
76		""
77	end
78	case flat
79		expect compile_fail
80		values {}
81		version 300 es
82
83		both ""
84			#version 300 es
85			precision mediump float;
86			${DECLARATIONS}
87
88			void main()
89			{
90				${SETUP}
91				float flat = 1.0;
92				${OUTPUT}
93			}
94		""
95	end
96	case smooth
97		expect compile_fail
98		values {}
99		version 300 es
100
101		both ""
102			#version 300 es
103			precision mediump float;
104			${DECLARATIONS}
105
106			void main()
107			{
108				${SETUP}
109				float smooth = 1.0;
110				${OUTPUT}
111			}
112		""
113	end
114	case break
115		expect compile_fail
116		values {}
117		version 300 es
118
119		both ""
120			#version 300 es
121			precision mediump float;
122			${DECLARATIONS}
123
124			void main()
125			{
126				${SETUP}
127				float break = 1.0;
128				${OUTPUT}
129			}
130		""
131	end
132	case continue
133		expect compile_fail
134		values {}
135		version 300 es
136
137		both ""
138			#version 300 es
139			precision mediump float;
140			${DECLARATIONS}
141
142			void main()
143			{
144				${SETUP}
145				float continue = 1.0;
146				${OUTPUT}
147			}
148		""
149	end
150	case do
151		expect compile_fail
152		values {}
153		version 300 es
154
155		both ""
156			#version 300 es
157			precision mediump float;
158			${DECLARATIONS}
159
160			void main()
161			{
162				${SETUP}
163				float do = 1.0;
164				${OUTPUT}
165			}
166		""
167	end
168	case for
169		expect compile_fail
170		values {}
171		version 300 es
172
173		both ""
174			#version 300 es
175			precision mediump float;
176			${DECLARATIONS}
177
178			void main()
179			{
180				${SETUP}
181				float for = 1.0;
182				${OUTPUT}
183			}
184		""
185	end
186	case while
187		expect compile_fail
188		values {}
189		version 300 es
190
191		both ""
192			#version 300 es
193			precision mediump float;
194			${DECLARATIONS}
195
196			void main()
197			{
198				${SETUP}
199				float while = 1.0;
200				${OUTPUT}
201			}
202		""
203	end
204	case switch
205		expect compile_fail
206		values {}
207		version 300 es
208
209		both ""
210			#version 300 es
211			precision mediump float;
212			${DECLARATIONS}
213
214			void main()
215			{
216				${SETUP}
217				float switch = 1.0;
218				${OUTPUT}
219			}
220		""
221	end
222	case case
223		expect compile_fail
224		values {}
225		version 300 es
226
227		both ""
228			#version 300 es
229			precision mediump float;
230			${DECLARATIONS}
231
232			void main()
233			{
234				${SETUP}
235				float case = 1.0;
236				${OUTPUT}
237			}
238		""
239	end
240	case default
241		expect compile_fail
242		values {}
243		version 300 es
244
245		both ""
246			#version 300 es
247			precision mediump float;
248			${DECLARATIONS}
249
250			void main()
251			{
252				${SETUP}
253				float default = 1.0;
254				${OUTPUT}
255			}
256		""
257	end
258	case if
259		expect compile_fail
260		values {}
261		version 300 es
262
263		both ""
264			#version 300 es
265			precision mediump float;
266			${DECLARATIONS}
267
268			void main()
269			{
270				${SETUP}
271				float if = 1.0;
272				${OUTPUT}
273			}
274		""
275	end
276	case else
277		expect compile_fail
278		values {}
279		version 300 es
280
281		both ""
282			#version 300 es
283			precision mediump float;
284			${DECLARATIONS}
285
286			void main()
287			{
288				${SETUP}
289				float else = 1.0;
290				${OUTPUT}
291			}
292		""
293	end
294	case in
295		expect compile_fail
296		values {}
297		version 300 es
298
299		both ""
300			#version 300 es
301			precision mediump float;
302			${DECLARATIONS}
303
304			void main()
305			{
306				${SETUP}
307				float in = 1.0;
308				${OUTPUT}
309			}
310		""
311	end
312	case out
313		expect compile_fail
314		values {}
315		version 300 es
316
317		both ""
318			#version 300 es
319			precision mediump float;
320			${DECLARATIONS}
321
322			void main()
323			{
324				${SETUP}
325				float out = 1.0;
326				${OUTPUT}
327			}
328		""
329	end
330	case inout
331		expect compile_fail
332		values {}
333		version 300 es
334
335		both ""
336			#version 300 es
337			precision mediump float;
338			${DECLARATIONS}
339
340			void main()
341			{
342				${SETUP}
343				float inout = 1.0;
344				${OUTPUT}
345			}
346		""
347	end
348	case float
349		expect compile_fail
350		values {}
351		version 300 es
352
353		both ""
354			#version 300 es
355			precision mediump float;
356			${DECLARATIONS}
357
358			void main()
359			{
360				${SETUP}
361				float float = 1.0;
362				${OUTPUT}
363			}
364		""
365	end
366	case int
367		expect compile_fail
368		values {}
369		version 300 es
370
371		both ""
372			#version 300 es
373			precision mediump float;
374			${DECLARATIONS}
375
376			void main()
377			{
378				${SETUP}
379				float int = 1.0;
380				${OUTPUT}
381			}
382		""
383	end
384	case void
385		expect compile_fail
386		values {}
387		version 300 es
388
389		both ""
390			#version 300 es
391			precision mediump float;
392			${DECLARATIONS}
393
394			void main()
395			{
396				${SETUP}
397				float void = 1.0;
398				${OUTPUT}
399			}
400		""
401	end
402	case bool
403		expect compile_fail
404		values {}
405		version 300 es
406
407		both ""
408			#version 300 es
409			precision mediump float;
410			${DECLARATIONS}
411
412			void main()
413			{
414				${SETUP}
415				float bool = 1.0;
416				${OUTPUT}
417			}
418		""
419	end
420	case true
421		expect compile_fail
422		values {}
423		version 300 es
424
425		both ""
426			#version 300 es
427			precision mediump float;
428			${DECLARATIONS}
429
430			void main()
431			{
432				${SETUP}
433				float true = 1.0;
434				${OUTPUT}
435			}
436		""
437	end
438	case false
439		expect compile_fail
440		values {}
441		version 300 es
442
443		both ""
444			#version 300 es
445			precision mediump float;
446			${DECLARATIONS}
447
448			void main()
449			{
450				${SETUP}
451				float false = 1.0;
452				${OUTPUT}
453			}
454		""
455	end
456	case invariant
457		expect compile_fail
458		values {}
459		version 300 es
460
461		both ""
462			#version 300 es
463			precision mediump float;
464			${DECLARATIONS}
465
466			void main()
467			{
468				${SETUP}
469				float invariant = 1.0;
470				${OUTPUT}
471			}
472		""
473	end
474	case discard
475		expect compile_fail
476		values {}
477		version 300 es
478
479		both ""
480			#version 300 es
481			precision mediump float;
482			${DECLARATIONS}
483
484			void main()
485			{
486				${SETUP}
487				float discard = 1.0;
488				${OUTPUT}
489			}
490		""
491	end
492	case return
493		expect compile_fail
494		values {}
495		version 300 es
496
497		both ""
498			#version 300 es
499			precision mediump float;
500			${DECLARATIONS}
501
502			void main()
503			{
504				${SETUP}
505				float return = 1.0;
506				${OUTPUT}
507			}
508		""
509	end
510	case mat2
511		expect compile_fail
512		values {}
513		version 300 es
514
515		both ""
516			#version 300 es
517			precision mediump float;
518			${DECLARATIONS}
519
520			void main()
521			{
522				${SETUP}
523				float mat2 = 1.0;
524				${OUTPUT}
525			}
526		""
527	end
528	case mat3
529		expect compile_fail
530		values {}
531		version 300 es
532
533		both ""
534			#version 300 es
535			precision mediump float;
536			${DECLARATIONS}
537
538			void main()
539			{
540				${SETUP}
541				float mat3 = 1.0;
542				${OUTPUT}
543			}
544		""
545	end
546	case mat4
547		expect compile_fail
548		values {}
549		version 300 es
550
551		both ""
552			#version 300 es
553			precision mediump float;
554			${DECLARATIONS}
555
556			void main()
557			{
558				${SETUP}
559				float mat4 = 1.0;
560				${OUTPUT}
561			}
562		""
563	end
564	case mat2x2
565		expect compile_fail
566		values {}
567		version 300 es
568
569		both ""
570			#version 300 es
571			precision mediump float;
572			${DECLARATIONS}
573
574			void main()
575			{
576				${SETUP}
577				float mat2x2 = 1.0;
578				${OUTPUT}
579			}
580		""
581	end
582	case mat2x3
583		expect compile_fail
584		values {}
585		version 300 es
586
587		both ""
588			#version 300 es
589			precision mediump float;
590			${DECLARATIONS}
591
592			void main()
593			{
594				${SETUP}
595				float mat2x3 = 1.0;
596				${OUTPUT}
597			}
598		""
599	end
600	case mat2x4
601		expect compile_fail
602		values {}
603		version 300 es
604
605		both ""
606			#version 300 es
607			precision mediump float;
608			${DECLARATIONS}
609
610			void main()
611			{
612				${SETUP}
613				float mat2x4 = 1.0;
614				${OUTPUT}
615			}
616		""
617	end
618	case mat3x2
619		expect compile_fail
620		values {}
621		version 300 es
622
623		both ""
624			#version 300 es
625			precision mediump float;
626			${DECLARATIONS}
627
628			void main()
629			{
630				${SETUP}
631				float mat3x2 = 1.0;
632				${OUTPUT}
633			}
634		""
635	end
636	case mat3x3
637		expect compile_fail
638		values {}
639		version 300 es
640
641		both ""
642			#version 300 es
643			precision mediump float;
644			${DECLARATIONS}
645
646			void main()
647			{
648				${SETUP}
649				float mat3x3 = 1.0;
650				${OUTPUT}
651			}
652		""
653	end
654	case mat3x4
655		expect compile_fail
656		values {}
657		version 300 es
658
659		both ""
660			#version 300 es
661			precision mediump float;
662			${DECLARATIONS}
663
664			void main()
665			{
666				${SETUP}
667				float mat3x4 = 1.0;
668				${OUTPUT}
669			}
670		""
671	end
672	case mat4x2
673		expect compile_fail
674		values {}
675		version 300 es
676
677		both ""
678			#version 300 es
679			precision mediump float;
680			${DECLARATIONS}
681
682			void main()
683			{
684				${SETUP}
685				float mat4x2 = 1.0;
686				${OUTPUT}
687			}
688		""
689	end
690	case mat4x3
691		expect compile_fail
692		values {}
693		version 300 es
694
695		both ""
696			#version 300 es
697			precision mediump float;
698			${DECLARATIONS}
699
700			void main()
701			{
702				${SETUP}
703				float mat4x3 = 1.0;
704				${OUTPUT}
705			}
706		""
707	end
708	case mat4x4
709		expect compile_fail
710		values {}
711		version 300 es
712
713		both ""
714			#version 300 es
715			precision mediump float;
716			${DECLARATIONS}
717
718			void main()
719			{
720				${SETUP}
721				float mat4x4 = 1.0;
722				${OUTPUT}
723			}
724		""
725	end
726	case vec2
727		expect compile_fail
728		values {}
729		version 300 es
730
731		both ""
732			#version 300 es
733			precision mediump float;
734			${DECLARATIONS}
735
736			void main()
737			{
738				${SETUP}
739				float vec2 = 1.0;
740				${OUTPUT}
741			}
742		""
743	end
744	case vec3
745		expect compile_fail
746		values {}
747		version 300 es
748
749		both ""
750			#version 300 es
751			precision mediump float;
752			${DECLARATIONS}
753
754			void main()
755			{
756				${SETUP}
757				float vec3 = 1.0;
758				${OUTPUT}
759			}
760		""
761	end
762	case vec4
763		expect compile_fail
764		values {}
765		version 300 es
766
767		both ""
768			#version 300 es
769			precision mediump float;
770			${DECLARATIONS}
771
772			void main()
773			{
774				${SETUP}
775				float vec4 = 1.0;
776				${OUTPUT}
777			}
778		""
779	end
780	case ivec2
781		expect compile_fail
782		values {}
783		version 300 es
784
785		both ""
786			#version 300 es
787			precision mediump float;
788			${DECLARATIONS}
789
790			void main()
791			{
792				${SETUP}
793				float ivec2 = 1.0;
794				${OUTPUT}
795			}
796		""
797	end
798	case ivec3
799		expect compile_fail
800		values {}
801		version 300 es
802
803		both ""
804			#version 300 es
805			precision mediump float;
806			${DECLARATIONS}
807
808			void main()
809			{
810				${SETUP}
811				float ivec3 = 1.0;
812				${OUTPUT}
813			}
814		""
815	end
816	case ivec4
817		expect compile_fail
818		values {}
819		version 300 es
820
821		both ""
822			#version 300 es
823			precision mediump float;
824			${DECLARATIONS}
825
826			void main()
827			{
828				${SETUP}
829				float ivec4 = 1.0;
830				${OUTPUT}
831			}
832		""
833	end
834	case bvec2
835		expect compile_fail
836		values {}
837		version 300 es
838
839		both ""
840			#version 300 es
841			precision mediump float;
842			${DECLARATIONS}
843
844			void main()
845			{
846				${SETUP}
847				float bvec2 = 1.0;
848				${OUTPUT}
849			}
850		""
851	end
852	case bvec3
853		expect compile_fail
854		values {}
855		version 300 es
856
857		both ""
858			#version 300 es
859			precision mediump float;
860			${DECLARATIONS}
861
862			void main()
863			{
864				${SETUP}
865				float bvec3 = 1.0;
866				${OUTPUT}
867			}
868		""
869	end
870	case bvec4
871		expect compile_fail
872		values {}
873		version 300 es
874
875		both ""
876			#version 300 es
877			precision mediump float;
878			${DECLARATIONS}
879
880			void main()
881			{
882				${SETUP}
883				float bvec4 = 1.0;
884				${OUTPUT}
885			}
886		""
887	end
888	case uint
889		expect compile_fail
890		values {}
891		version 300 es
892
893		both ""
894			#version 300 es
895			precision mediump float;
896			${DECLARATIONS}
897
898			void main()
899			{
900				${SETUP}
901				float uint = 1.0;
902				${OUTPUT}
903			}
904		""
905	end
906	case uvec2
907		expect compile_fail
908		values {}
909		version 300 es
910
911		both ""
912			#version 300 es
913			precision mediump float;
914			${DECLARATIONS}
915
916			void main()
917			{
918				${SETUP}
919				float uvec2 = 1.0;
920				${OUTPUT}
921			}
922		""
923	end
924	case uvec3
925		expect compile_fail
926		values {}
927		version 300 es
928
929		both ""
930			#version 300 es
931			precision mediump float;
932			${DECLARATIONS}
933
934			void main()
935			{
936				${SETUP}
937				float uvec3 = 1.0;
938				${OUTPUT}
939			}
940		""
941	end
942	case uvec4
943		expect compile_fail
944		values {}
945		version 300 es
946
947		both ""
948			#version 300 es
949			precision mediump float;
950			${DECLARATIONS}
951
952			void main()
953			{
954				${SETUP}
955				float uvec4 = 1.0;
956				${OUTPUT}
957			}
958		""
959	end
960	case lowp
961		expect compile_fail
962		values {}
963		version 300 es
964
965		both ""
966			#version 300 es
967			precision mediump float;
968			${DECLARATIONS}
969
970			void main()
971			{
972				${SETUP}
973				float lowp = 1.0;
974				${OUTPUT}
975			}
976		""
977	end
978	case mediump
979		expect compile_fail
980		values {}
981		version 300 es
982
983		both ""
984			#version 300 es
985			precision mediump float;
986			${DECLARATIONS}
987
988			void main()
989			{
990				${SETUP}
991				float mediump = 1.0;
992				${OUTPUT}
993			}
994		""
995	end
996	case highp
997		expect compile_fail
998		values {}
999		version 300 es
1000
1001		both ""
1002			#version 300 es
1003			precision mediump float;
1004			${DECLARATIONS}
1005
1006			void main()
1007			{
1008				${SETUP}
1009				float highp = 1.0;
1010				${OUTPUT}
1011			}
1012		""
1013	end
1014	case precision
1015		expect compile_fail
1016		values {}
1017		version 300 es
1018
1019		both ""
1020			#version 300 es
1021			precision mediump float;
1022			${DECLARATIONS}
1023
1024			void main()
1025			{
1026				${SETUP}
1027				float precision = 1.0;
1028				${OUTPUT}
1029			}
1030		""
1031	end
1032	case sampler2D
1033		expect compile_fail
1034		values {}
1035		version 300 es
1036
1037		both ""
1038			#version 300 es
1039			precision mediump float;
1040			${DECLARATIONS}
1041
1042			void main()
1043			{
1044				${SETUP}
1045				float sampler2D = 1.0;
1046				${OUTPUT}
1047			}
1048		""
1049	end
1050	case sampler3D
1051		expect compile_fail
1052		values {}
1053		version 300 es
1054
1055		both ""
1056			#version 300 es
1057			precision mediump float;
1058			${DECLARATIONS}
1059
1060			void main()
1061			{
1062				${SETUP}
1063				float sampler3D = 1.0;
1064				${OUTPUT}
1065			}
1066		""
1067	end
1068	case samplerCube
1069		expect compile_fail
1070		values {}
1071		version 300 es
1072
1073		both ""
1074			#version 300 es
1075			precision mediump float;
1076			${DECLARATIONS}
1077
1078			void main()
1079			{
1080				${SETUP}
1081				float samplerCube = 1.0;
1082				${OUTPUT}
1083			}
1084		""
1085	end
1086	case sampler2DShadow
1087		expect compile_fail
1088		values {}
1089		version 300 es
1090
1091		both ""
1092			#version 300 es
1093			precision mediump float;
1094			${DECLARATIONS}
1095
1096			void main()
1097			{
1098				${SETUP}
1099				float sampler2DShadow = 1.0;
1100				${OUTPUT}
1101			}
1102		""
1103	end
1104	case samplerCubeShadow
1105		expect compile_fail
1106		values {}
1107		version 300 es
1108
1109		both ""
1110			#version 300 es
1111			precision mediump float;
1112			${DECLARATIONS}
1113
1114			void main()
1115			{
1116				${SETUP}
1117				float samplerCubeShadow = 1.0;
1118				${OUTPUT}
1119			}
1120		""
1121	end
1122	case sampler2DArray
1123		expect compile_fail
1124		values {}
1125		version 300 es
1126
1127		both ""
1128			#version 300 es
1129			precision mediump float;
1130			${DECLARATIONS}
1131
1132			void main()
1133			{
1134				${SETUP}
1135				float sampler2DArray = 1.0;
1136				${OUTPUT}
1137			}
1138		""
1139	end
1140	case sampler2DArrayShadow
1141		expect compile_fail
1142		values {}
1143		version 300 es
1144
1145		both ""
1146			#version 300 es
1147			precision mediump float;
1148			${DECLARATIONS}
1149
1150			void main()
1151			{
1152				${SETUP}
1153				float sampler2DArrayShadow = 1.0;
1154				${OUTPUT}
1155			}
1156		""
1157	end
1158	case isampler2D
1159		expect compile_fail
1160		values {}
1161		version 300 es
1162
1163		both ""
1164			#version 300 es
1165			precision mediump float;
1166			${DECLARATIONS}
1167
1168			void main()
1169			{
1170				${SETUP}
1171				float isampler2D = 1.0;
1172				${OUTPUT}
1173			}
1174		""
1175	end
1176	case isampler3D
1177		expect compile_fail
1178		values {}
1179		version 300 es
1180
1181		both ""
1182			#version 300 es
1183			precision mediump float;
1184			${DECLARATIONS}
1185
1186			void main()
1187			{
1188				${SETUP}
1189				float isampler3D = 1.0;
1190				${OUTPUT}
1191			}
1192		""
1193	end
1194	case isamplerCube
1195		expect compile_fail
1196		values {}
1197		version 300 es
1198
1199		both ""
1200			#version 300 es
1201			precision mediump float;
1202			${DECLARATIONS}
1203
1204			void main()
1205			{
1206				${SETUP}
1207				float isamplerCube = 1.0;
1208				${OUTPUT}
1209			}
1210		""
1211	end
1212	case isampler2DArray
1213		expect compile_fail
1214		values {}
1215		version 300 es
1216
1217		both ""
1218			#version 300 es
1219			precision mediump float;
1220			${DECLARATIONS}
1221
1222			void main()
1223			{
1224				${SETUP}
1225				float isampler2DArray = 1.0;
1226				${OUTPUT}
1227			}
1228		""
1229	end
1230	case usampler2D
1231		expect compile_fail
1232		values {}
1233		version 300 es
1234
1235		both ""
1236			#version 300 es
1237			precision mediump float;
1238			${DECLARATIONS}
1239
1240			void main()
1241			{
1242				${SETUP}
1243				float usampler2D = 1.0;
1244				${OUTPUT}
1245			}
1246		""
1247	end
1248	case usampler3D
1249		expect compile_fail
1250		values {}
1251		version 300 es
1252
1253		both ""
1254			#version 300 es
1255			precision mediump float;
1256			${DECLARATIONS}
1257
1258			void main()
1259			{
1260				${SETUP}
1261				float usampler3D = 1.0;
1262				${OUTPUT}
1263			}
1264		""
1265	end
1266	case usamplerCube
1267		expect compile_fail
1268		values {}
1269		version 300 es
1270
1271		both ""
1272			#version 300 es
1273			precision mediump float;
1274			${DECLARATIONS}
1275
1276			void main()
1277			{
1278				${SETUP}
1279				float usamplerCube = 1.0;
1280				${OUTPUT}
1281			}
1282		""
1283	end
1284	case usampler2DArray
1285		expect compile_fail
1286		values {}
1287		version 300 es
1288
1289		both ""
1290			#version 300 es
1291			precision mediump float;
1292			${DECLARATIONS}
1293
1294			void main()
1295			{
1296				${SETUP}
1297				float usampler2DArray = 1.0;
1298				${OUTPUT}
1299			}
1300		""
1301	end
1302	case struct
1303		expect compile_fail
1304		values {}
1305		version 300 es
1306
1307		both ""
1308			#version 300 es
1309			precision mediump float;
1310			${DECLARATIONS}
1311
1312			void main()
1313			{
1314				${SETUP}
1315				float struct = 1.0;
1316				${OUTPUT}
1317			}
1318		""
1319	end
1320
1321end # keywords
1322group reserved_keywords "Usage of reserved keywords as identifiers."
1323
1324	case attribute
1325		expect compile_fail
1326		values {}
1327		version 300 es
1328
1329		both ""
1330			#version 300 es
1331			precision mediump float;
1332			${DECLARATIONS}
1333
1334			void main()
1335			{
1336				${SETUP}
1337				float attribute = 1.0;
1338				${OUTPUT}
1339			}
1340		""
1341	end
1342	case varying
1343		expect compile_fail
1344		values {}
1345		version 300 es
1346
1347		both ""
1348			#version 300 es
1349			precision mediump float;
1350			${DECLARATIONS}
1351
1352			void main()
1353			{
1354				${SETUP}
1355				float varying = 1.0;
1356				${OUTPUT}
1357			}
1358		""
1359	end
1360	case coherent
1361		expect compile_fail
1362		values {}
1363		version 300 es
1364
1365		both ""
1366			#version 300 es
1367			precision mediump float;
1368			${DECLARATIONS}
1369
1370			void main()
1371			{
1372				${SETUP}
1373				float coherent = 1.0;
1374				${OUTPUT}
1375			}
1376		""
1377	end
1378	case restrict
1379		expect compile_fail
1380		values {}
1381		version 300 es
1382
1383		both ""
1384			#version 300 es
1385			precision mediump float;
1386			${DECLARATIONS}
1387
1388			void main()
1389			{
1390				${SETUP}
1391				float restrict = 1.0;
1392				${OUTPUT}
1393			}
1394		""
1395	end
1396	case readonly
1397		expect compile_fail
1398		values {}
1399		version 300 es
1400
1401		both ""
1402			#version 300 es
1403			precision mediump float;
1404			${DECLARATIONS}
1405
1406			void main()
1407			{
1408				${SETUP}
1409				float readonly = 1.0;
1410				${OUTPUT}
1411			}
1412		""
1413	end
1414	case writeonly
1415		expect compile_fail
1416		values {}
1417		version 300 es
1418
1419		both ""
1420			#version 300 es
1421			precision mediump float;
1422			${DECLARATIONS}
1423
1424			void main()
1425			{
1426				${SETUP}
1427				float writeonly = 1.0;
1428				${OUTPUT}
1429			}
1430		""
1431	end
1432	case resource
1433		expect compile_fail
1434		values {}
1435		version 300 es
1436
1437		both ""
1438			#version 300 es
1439			precision mediump float;
1440			${DECLARATIONS}
1441
1442			void main()
1443			{
1444				${SETUP}
1445				float resource = 1.0;
1446				${OUTPUT}
1447			}
1448		""
1449	end
1450	case atomic_uint
1451		expect compile_fail
1452		values {}
1453		version 300 es
1454
1455		both ""
1456			#version 300 es
1457			precision mediump float;
1458			${DECLARATIONS}
1459
1460			void main()
1461			{
1462				${SETUP}
1463				float atomic_uint = 1.0;
1464				${OUTPUT}
1465			}
1466		""
1467	end
1468	case noperspective
1469		expect compile_fail
1470		values {}
1471		version 300 es
1472
1473		both ""
1474			#version 300 es
1475			precision mediump float;
1476			${DECLARATIONS}
1477
1478			void main()
1479			{
1480				${SETUP}
1481				float noperspective = 1.0;
1482				${OUTPUT}
1483			}
1484		""
1485	end
1486	case patch
1487		expect compile_fail
1488		values {}
1489		version 300 es
1490
1491		both ""
1492			#version 300 es
1493			precision mediump float;
1494			${DECLARATIONS}
1495
1496			void main()
1497			{
1498				${SETUP}
1499				float patch = 1.0;
1500				${OUTPUT}
1501			}
1502		""
1503	end
1504	case sample
1505		expect compile_fail
1506		values {}
1507		version 300 es
1508
1509		both ""
1510			#version 300 es
1511			precision mediump float;
1512			${DECLARATIONS}
1513
1514			void main()
1515			{
1516				${SETUP}
1517				float sample = 1.0;
1518				${OUTPUT}
1519			}
1520		""
1521	end
1522	case subroutine
1523		expect compile_fail
1524		values {}
1525		version 300 es
1526
1527		both ""
1528			#version 300 es
1529			precision mediump float;
1530			${DECLARATIONS}
1531
1532			void main()
1533			{
1534				${SETUP}
1535				float subroutine = 1.0;
1536				${OUTPUT}
1537			}
1538		""
1539	end
1540	case common
1541		expect compile_fail
1542		values {}
1543		version 300 es
1544
1545		both ""
1546			#version 300 es
1547			precision mediump float;
1548			${DECLARATIONS}
1549
1550			void main()
1551			{
1552				${SETUP}
1553				float common = 1.0;
1554				${OUTPUT}
1555			}
1556		""
1557	end
1558	case partition
1559		expect compile_fail
1560		values {}
1561		version 300 es
1562
1563		both ""
1564			#version 300 es
1565			precision mediump float;
1566			${DECLARATIONS}
1567
1568			void main()
1569			{
1570				${SETUP}
1571				float partition = 1.0;
1572				${OUTPUT}
1573			}
1574		""
1575	end
1576	case active
1577		expect compile_fail
1578		values {}
1579		version 300 es
1580
1581		both ""
1582			#version 300 es
1583			precision mediump float;
1584			${DECLARATIONS}
1585
1586			void main()
1587			{
1588				${SETUP}
1589				float active = 1.0;
1590				${OUTPUT}
1591			}
1592		""
1593	end
1594	case asm
1595		expect compile_fail
1596		values {}
1597		version 300 es
1598
1599		both ""
1600			#version 300 es
1601			precision mediump float;
1602			${DECLARATIONS}
1603
1604			void main()
1605			{
1606				${SETUP}
1607				float asm = 1.0;
1608				${OUTPUT}
1609			}
1610		""
1611	end
1612	case class
1613		expect compile_fail
1614		values {}
1615		version 300 es
1616
1617		both ""
1618			#version 300 es
1619			precision mediump float;
1620			${DECLARATIONS}
1621
1622			void main()
1623			{
1624				${SETUP}
1625				float class = 1.0;
1626				${OUTPUT}
1627			}
1628		""
1629	end
1630	case union
1631		expect compile_fail
1632		values {}
1633		version 300 es
1634
1635		both ""
1636			#version 300 es
1637			precision mediump float;
1638			${DECLARATIONS}
1639
1640			void main()
1641			{
1642				${SETUP}
1643				float union = 1.0;
1644				${OUTPUT}
1645			}
1646		""
1647	end
1648	case enum
1649		expect compile_fail
1650		values {}
1651		version 300 es
1652
1653		both ""
1654			#version 300 es
1655			precision mediump float;
1656			${DECLARATIONS}
1657
1658			void main()
1659			{
1660				${SETUP}
1661				float enum = 1.0;
1662				${OUTPUT}
1663			}
1664		""
1665	end
1666	case typedef
1667		expect compile_fail
1668		values {}
1669		version 300 es
1670
1671		both ""
1672			#version 300 es
1673			precision mediump float;
1674			${DECLARATIONS}
1675
1676			void main()
1677			{
1678				${SETUP}
1679				float typedef = 1.0;
1680				${OUTPUT}
1681			}
1682		""
1683	end
1684	case template
1685		expect compile_fail
1686		values {}
1687		version 300 es
1688
1689		both ""
1690			#version 300 es
1691			precision mediump float;
1692			${DECLARATIONS}
1693
1694			void main()
1695			{
1696				${SETUP}
1697				float template = 1.0;
1698				${OUTPUT}
1699			}
1700		""
1701	end
1702	case this
1703		expect compile_fail
1704		values {}
1705		version 300 es
1706
1707		both ""
1708			#version 300 es
1709			precision mediump float;
1710			${DECLARATIONS}
1711
1712			void main()
1713			{
1714				${SETUP}
1715				float this = 1.0;
1716				${OUTPUT}
1717			}
1718		""
1719	end
1720	case goto
1721		expect compile_fail
1722		values {}
1723		version 300 es
1724
1725		both ""
1726			#version 300 es
1727			precision mediump float;
1728			${DECLARATIONS}
1729
1730			void main()
1731			{
1732				${SETUP}
1733				float goto = 1.0;
1734				${OUTPUT}
1735			}
1736		""
1737	end
1738	case inline
1739		expect compile_fail
1740		values {}
1741		version 300 es
1742
1743		both ""
1744			#version 300 es
1745			precision mediump float;
1746			${DECLARATIONS}
1747
1748			void main()
1749			{
1750				${SETUP}
1751				float inline = 1.0;
1752				${OUTPUT}
1753			}
1754		""
1755	end
1756	case noinline
1757		expect compile_fail
1758		values {}
1759		version 300 es
1760
1761		both ""
1762			#version 300 es
1763			precision mediump float;
1764			${DECLARATIONS}
1765
1766			void main()
1767			{
1768				${SETUP}
1769				float noinline = 1.0;
1770				${OUTPUT}
1771			}
1772		""
1773	end
1774	case volatile
1775		expect compile_fail
1776		values {}
1777		version 300 es
1778
1779		both ""
1780			#version 300 es
1781			precision mediump float;
1782			${DECLARATIONS}
1783
1784			void main()
1785			{
1786				${SETUP}
1787				float volatile = 1.0;
1788				${OUTPUT}
1789			}
1790		""
1791	end
1792	case public
1793		expect compile_fail
1794		values {}
1795		version 300 es
1796
1797		both ""
1798			#version 300 es
1799			precision mediump float;
1800			${DECLARATIONS}
1801
1802			void main()
1803			{
1804				${SETUP}
1805				float public = 1.0;
1806				${OUTPUT}
1807			}
1808		""
1809	end
1810	case static
1811		expect compile_fail
1812		values {}
1813		version 300 es
1814
1815		both ""
1816			#version 300 es
1817			precision mediump float;
1818			${DECLARATIONS}
1819
1820			void main()
1821			{
1822				${SETUP}
1823				float static = 1.0;
1824				${OUTPUT}
1825			}
1826		""
1827	end
1828	case extern
1829		expect compile_fail
1830		values {}
1831		version 300 es
1832
1833		both ""
1834			#version 300 es
1835			precision mediump float;
1836			${DECLARATIONS}
1837
1838			void main()
1839			{
1840				${SETUP}
1841				float extern = 1.0;
1842				${OUTPUT}
1843			}
1844		""
1845	end
1846	case external
1847		expect compile_fail
1848		values {}
1849		version 300 es
1850
1851		both ""
1852			#version 300 es
1853			precision mediump float;
1854			${DECLARATIONS}
1855
1856			void main()
1857			{
1858				${SETUP}
1859				float external = 1.0;
1860				${OUTPUT}
1861			}
1862		""
1863	end
1864	case interface
1865		expect compile_fail
1866		values {}
1867		version 300 es
1868
1869		both ""
1870			#version 300 es
1871			precision mediump float;
1872			${DECLARATIONS}
1873
1874			void main()
1875			{
1876				${SETUP}
1877				float interface = 1.0;
1878				${OUTPUT}
1879			}
1880		""
1881	end
1882	case long
1883		expect compile_fail
1884		values {}
1885		version 300 es
1886
1887		both ""
1888			#version 300 es
1889			precision mediump float;
1890			${DECLARATIONS}
1891
1892			void main()
1893			{
1894				${SETUP}
1895				float long = 1.0;
1896				${OUTPUT}
1897			}
1898		""
1899	end
1900	case short
1901		expect compile_fail
1902		values {}
1903		version 300 es
1904
1905		both ""
1906			#version 300 es
1907			precision mediump float;
1908			${DECLARATIONS}
1909
1910			void main()
1911			{
1912				${SETUP}
1913				float short = 1.0;
1914				${OUTPUT}
1915			}
1916		""
1917	end
1918	case double
1919		expect compile_fail
1920		values {}
1921		version 300 es
1922
1923		both ""
1924			#version 300 es
1925			precision mediump float;
1926			${DECLARATIONS}
1927
1928			void main()
1929			{
1930				${SETUP}
1931				float double = 1.0;
1932				${OUTPUT}
1933			}
1934		""
1935	end
1936	case half
1937		expect compile_fail
1938		values {}
1939		version 300 es
1940
1941		both ""
1942			#version 300 es
1943			precision mediump float;
1944			${DECLARATIONS}
1945
1946			void main()
1947			{
1948				${SETUP}
1949				float half = 1.0;
1950				${OUTPUT}
1951			}
1952		""
1953	end
1954	case fixed
1955		expect compile_fail
1956		values {}
1957		version 300 es
1958
1959		both ""
1960			#version 300 es
1961			precision mediump float;
1962			${DECLARATIONS}
1963
1964			void main()
1965			{
1966				${SETUP}
1967				float fixed = 1.0;
1968				${OUTPUT}
1969			}
1970		""
1971	end
1972	case unsigned
1973		expect compile_fail
1974		values {}
1975		version 300 es
1976
1977		both ""
1978			#version 300 es
1979			precision mediump float;
1980			${DECLARATIONS}
1981
1982			void main()
1983			{
1984				${SETUP}
1985				float unsigned = 1.0;
1986				${OUTPUT}
1987			}
1988		""
1989	end
1990	case superp
1991		expect compile_fail
1992		values {}
1993		version 300 es
1994
1995		both ""
1996			#version 300 es
1997			precision mediump float;
1998			${DECLARATIONS}
1999
2000			void main()
2001			{
2002				${SETUP}
2003				float superp = 1.0;
2004				${OUTPUT}
2005			}
2006		""
2007	end
2008	case input
2009		expect compile_fail
2010		values {}
2011		version 300 es
2012
2013		both ""
2014			#version 300 es
2015			precision mediump float;
2016			${DECLARATIONS}
2017
2018			void main()
2019			{
2020				${SETUP}
2021				float input = 1.0;
2022				${OUTPUT}
2023			}
2024		""
2025	end
2026	case output
2027		expect compile_fail
2028		values {}
2029		version 300 es
2030
2031		both ""
2032			#version 300 es
2033			precision mediump float;
2034			${DECLARATIONS}
2035
2036			void main()
2037			{
2038				${SETUP}
2039				float output = 1.0;
2040				${OUTPUT}
2041			}
2042		""
2043	end
2044	case hvec2
2045		expect compile_fail
2046		values {}
2047		version 300 es
2048
2049		both ""
2050			#version 300 es
2051			precision mediump float;
2052			${DECLARATIONS}
2053
2054			void main()
2055			{
2056				${SETUP}
2057				float hvec2 = 1.0;
2058				${OUTPUT}
2059			}
2060		""
2061	end
2062	case hvec3
2063		expect compile_fail
2064		values {}
2065		version 300 es
2066
2067		both ""
2068			#version 300 es
2069			precision mediump float;
2070			${DECLARATIONS}
2071
2072			void main()
2073			{
2074				${SETUP}
2075				float hvec3 = 1.0;
2076				${OUTPUT}
2077			}
2078		""
2079	end
2080	case hvec4
2081		expect compile_fail
2082		values {}
2083		version 300 es
2084
2085		both ""
2086			#version 300 es
2087			precision mediump float;
2088			${DECLARATIONS}
2089
2090			void main()
2091			{
2092				${SETUP}
2093				float hvec4 = 1.0;
2094				${OUTPUT}
2095			}
2096		""
2097	end
2098	case dvec2
2099		expect compile_fail
2100		values {}
2101		version 300 es
2102
2103		both ""
2104			#version 300 es
2105			precision mediump float;
2106			${DECLARATIONS}
2107
2108			void main()
2109			{
2110				${SETUP}
2111				float dvec2 = 1.0;
2112				${OUTPUT}
2113			}
2114		""
2115	end
2116	case dvec3
2117		expect compile_fail
2118		values {}
2119		version 300 es
2120
2121		both ""
2122			#version 300 es
2123			precision mediump float;
2124			${DECLARATIONS}
2125
2126			void main()
2127			{
2128				${SETUP}
2129				float dvec3 = 1.0;
2130				${OUTPUT}
2131			}
2132		""
2133	end
2134	case dvec4
2135		expect compile_fail
2136		values {}
2137		version 300 es
2138
2139		both ""
2140			#version 300 es
2141			precision mediump float;
2142			${DECLARATIONS}
2143
2144			void main()
2145			{
2146				${SETUP}
2147				float dvec4 = 1.0;
2148				${OUTPUT}
2149			}
2150		""
2151	end
2152	case fvec2
2153		expect compile_fail
2154		values {}
2155		version 300 es
2156
2157		both ""
2158			#version 300 es
2159			precision mediump float;
2160			${DECLARATIONS}
2161
2162			void main()
2163			{
2164				${SETUP}
2165				float fvec2 = 1.0;
2166				${OUTPUT}
2167			}
2168		""
2169	end
2170	case fvec3
2171		expect compile_fail
2172		values {}
2173		version 300 es
2174
2175		both ""
2176			#version 300 es
2177			precision mediump float;
2178			${DECLARATIONS}
2179
2180			void main()
2181			{
2182				${SETUP}
2183				float fvec3 = 1.0;
2184				${OUTPUT}
2185			}
2186		""
2187	end
2188	case fvec4
2189		expect compile_fail
2190		values {}
2191		version 300 es
2192
2193		both ""
2194			#version 300 es
2195			precision mediump float;
2196			${DECLARATIONS}
2197
2198			void main()
2199			{
2200				${SETUP}
2201				float fvec4 = 1.0;
2202				${OUTPUT}
2203			}
2204		""
2205	end
2206	case sampler3DRect
2207		expect compile_fail
2208		values {}
2209		version 300 es
2210
2211		both ""
2212			#version 300 es
2213			precision mediump float;
2214			${DECLARATIONS}
2215
2216			void main()
2217			{
2218				${SETUP}
2219				float sampler3DRect = 1.0;
2220				${OUTPUT}
2221			}
2222		""
2223	end
2224	case filter
2225		expect compile_fail
2226		values {}
2227		version 300 es
2228
2229		both ""
2230			#version 300 es
2231			precision mediump float;
2232			${DECLARATIONS}
2233
2234			void main()
2235			{
2236				${SETUP}
2237				float filter = 1.0;
2238				${OUTPUT}
2239			}
2240		""
2241	end
2242	case image1D
2243		expect compile_fail
2244		values {}
2245		version 300 es
2246
2247		both ""
2248			#version 300 es
2249			precision mediump float;
2250			${DECLARATIONS}
2251
2252			void main()
2253			{
2254				${SETUP}
2255				float image1D = 1.0;
2256				${OUTPUT}
2257			}
2258		""
2259	end
2260	case image2D
2261		expect compile_fail
2262		values {}
2263		version 300 es
2264
2265		both ""
2266			#version 300 es
2267			precision mediump float;
2268			${DECLARATIONS}
2269
2270			void main()
2271			{
2272				${SETUP}
2273				float image2D = 1.0;
2274				${OUTPUT}
2275			}
2276		""
2277	end
2278	case image3D
2279		expect compile_fail
2280		values {}
2281		version 300 es
2282
2283		both ""
2284			#version 300 es
2285			precision mediump float;
2286			${DECLARATIONS}
2287
2288			void main()
2289			{
2290				${SETUP}
2291				float image3D = 1.0;
2292				${OUTPUT}
2293			}
2294		""
2295	end
2296	case imageCube
2297		expect compile_fail
2298		values {}
2299		version 300 es
2300
2301		both ""
2302			#version 300 es
2303			precision mediump float;
2304			${DECLARATIONS}
2305
2306			void main()
2307			{
2308				${SETUP}
2309				float imageCube = 1.0;
2310				${OUTPUT}
2311			}
2312		""
2313	end
2314	case iimage1D
2315		expect compile_fail
2316		values {}
2317		version 300 es
2318
2319		both ""
2320			#version 300 es
2321			precision mediump float;
2322			${DECLARATIONS}
2323
2324			void main()
2325			{
2326				${SETUP}
2327				float iimage1D = 1.0;
2328				${OUTPUT}
2329			}
2330		""
2331	end
2332	case iimage2D
2333		expect compile_fail
2334		values {}
2335		version 300 es
2336
2337		both ""
2338			#version 300 es
2339			precision mediump float;
2340			${DECLARATIONS}
2341
2342			void main()
2343			{
2344				${SETUP}
2345				float iimage2D = 1.0;
2346				${OUTPUT}
2347			}
2348		""
2349	end
2350	case iimage3D
2351		expect compile_fail
2352		values {}
2353		version 300 es
2354
2355		both ""
2356			#version 300 es
2357			precision mediump float;
2358			${DECLARATIONS}
2359
2360			void main()
2361			{
2362				${SETUP}
2363				float iimage3D = 1.0;
2364				${OUTPUT}
2365			}
2366		""
2367	end
2368	case iimageCube
2369		expect compile_fail
2370		values {}
2371		version 300 es
2372
2373		both ""
2374			#version 300 es
2375			precision mediump float;
2376			${DECLARATIONS}
2377
2378			void main()
2379			{
2380				${SETUP}
2381				float iimageCube = 1.0;
2382				${OUTPUT}
2383			}
2384		""
2385	end
2386	case uimage1D
2387		expect compile_fail
2388		values {}
2389		version 300 es
2390
2391		both ""
2392			#version 300 es
2393			precision mediump float;
2394			${DECLARATIONS}
2395
2396			void main()
2397			{
2398				${SETUP}
2399				float uimage1D = 1.0;
2400				${OUTPUT}
2401			}
2402		""
2403	end
2404	case uimage2D
2405		expect compile_fail
2406		values {}
2407		version 300 es
2408
2409		both ""
2410			#version 300 es
2411			precision mediump float;
2412			${DECLARATIONS}
2413
2414			void main()
2415			{
2416				${SETUP}
2417				float uimage2D = 1.0;
2418				${OUTPUT}
2419			}
2420		""
2421	end
2422	case uimage3D
2423		expect compile_fail
2424		values {}
2425		version 300 es
2426
2427		both ""
2428			#version 300 es
2429			precision mediump float;
2430			${DECLARATIONS}
2431
2432			void main()
2433			{
2434				${SETUP}
2435				float uimage3D = 1.0;
2436				${OUTPUT}
2437			}
2438		""
2439	end
2440	case uimageCube
2441		expect compile_fail
2442		values {}
2443		version 300 es
2444
2445		both ""
2446			#version 300 es
2447			precision mediump float;
2448			${DECLARATIONS}
2449
2450			void main()
2451			{
2452				${SETUP}
2453				float uimageCube = 1.0;
2454				${OUTPUT}
2455			}
2456		""
2457	end
2458	case image1DArray
2459		expect compile_fail
2460		values {}
2461		version 300 es
2462
2463		both ""
2464			#version 300 es
2465			precision mediump float;
2466			${DECLARATIONS}
2467
2468			void main()
2469			{
2470				${SETUP}
2471				float image1DArray = 1.0;
2472				${OUTPUT}
2473			}
2474		""
2475	end
2476	case image2DArray
2477		expect compile_fail
2478		values {}
2479		version 300 es
2480
2481		both ""
2482			#version 300 es
2483			precision mediump float;
2484			${DECLARATIONS}
2485
2486			void main()
2487			{
2488				${SETUP}
2489				float image2DArray = 1.0;
2490				${OUTPUT}
2491			}
2492		""
2493	end
2494	case iimage1DArray
2495		expect compile_fail
2496		values {}
2497		version 300 es
2498
2499		both ""
2500			#version 300 es
2501			precision mediump float;
2502			${DECLARATIONS}
2503
2504			void main()
2505			{
2506				${SETUP}
2507				float iimage1DArray = 1.0;
2508				${OUTPUT}
2509			}
2510		""
2511	end
2512	case iimage2DArray
2513		expect compile_fail
2514		values {}
2515		version 300 es
2516
2517		both ""
2518			#version 300 es
2519			precision mediump float;
2520			${DECLARATIONS}
2521
2522			void main()
2523			{
2524				${SETUP}
2525				float iimage2DArray = 1.0;
2526				${OUTPUT}
2527			}
2528		""
2529	end
2530	case uimage1DArray
2531		expect compile_fail
2532		values {}
2533		version 300 es
2534
2535		both ""
2536			#version 300 es
2537			precision mediump float;
2538			${DECLARATIONS}
2539
2540			void main()
2541			{
2542				${SETUP}
2543				float uimage1DArray = 1.0;
2544				${OUTPUT}
2545			}
2546		""
2547	end
2548	case uimage2DArray
2549		expect compile_fail
2550		values {}
2551		version 300 es
2552
2553		both ""
2554			#version 300 es
2555			precision mediump float;
2556			${DECLARATIONS}
2557
2558			void main()
2559			{
2560				${SETUP}
2561				float uimage2DArray = 1.0;
2562				${OUTPUT}
2563			}
2564		""
2565	end
2566	case image1DShadow
2567		expect compile_fail
2568		values {}
2569		version 300 es
2570
2571		both ""
2572			#version 300 es
2573			precision mediump float;
2574			${DECLARATIONS}
2575
2576			void main()
2577			{
2578				${SETUP}
2579				float image1DShadow = 1.0;
2580				${OUTPUT}
2581			}
2582		""
2583	end
2584	case image2DShadow
2585		expect compile_fail
2586		values {}
2587		version 300 es
2588
2589		both ""
2590			#version 300 es
2591			precision mediump float;
2592			${DECLARATIONS}
2593
2594			void main()
2595			{
2596				${SETUP}
2597				float image2DShadow = 1.0;
2598				${OUTPUT}
2599			}
2600		""
2601	end
2602	case image1DArrayShadow
2603		expect compile_fail
2604		values {}
2605		version 300 es
2606
2607		both ""
2608			#version 300 es
2609			precision mediump float;
2610			${DECLARATIONS}
2611
2612			void main()
2613			{
2614				${SETUP}
2615				float image1DArrayShadow = 1.0;
2616				${OUTPUT}
2617			}
2618		""
2619	end
2620	case image2DArrayShadow
2621		expect compile_fail
2622		values {}
2623		version 300 es
2624
2625		both ""
2626			#version 300 es
2627			precision mediump float;
2628			${DECLARATIONS}
2629
2630			void main()
2631			{
2632				${SETUP}
2633				float image2DArrayShadow = 1.0;
2634				${OUTPUT}
2635			}
2636		""
2637	end
2638	case imageBuffer
2639		expect compile_fail
2640		values {}
2641		version 300 es
2642
2643		both ""
2644			#version 300 es
2645			precision mediump float;
2646			${DECLARATIONS}
2647
2648			void main()
2649			{
2650				${SETUP}
2651				float imageBuffer = 1.0;
2652				${OUTPUT}
2653			}
2654		""
2655	end
2656	case iimageBuffer
2657		expect compile_fail
2658		values {}
2659		version 300 es
2660
2661		both ""
2662			#version 300 es
2663			precision mediump float;
2664			${DECLARATIONS}
2665
2666			void main()
2667			{
2668				${SETUP}
2669				float iimageBuffer = 1.0;
2670				${OUTPUT}
2671			}
2672		""
2673	end
2674	case uimageBuffer
2675		expect compile_fail
2676		values {}
2677		version 300 es
2678
2679		both ""
2680			#version 300 es
2681			precision mediump float;
2682			${DECLARATIONS}
2683
2684			void main()
2685			{
2686				${SETUP}
2687				float uimageBuffer = 1.0;
2688				${OUTPUT}
2689			}
2690		""
2691	end
2692	case sampler1D
2693		expect compile_fail
2694		values {}
2695		version 300 es
2696
2697		both ""
2698			#version 300 es
2699			precision mediump float;
2700			${DECLARATIONS}
2701
2702			void main()
2703			{
2704				${SETUP}
2705				float sampler1D = 1.0;
2706				${OUTPUT}
2707			}
2708		""
2709	end
2710	case sampler1DShadow
2711		expect compile_fail
2712		values {}
2713		version 300 es
2714
2715		both ""
2716			#version 300 es
2717			precision mediump float;
2718			${DECLARATIONS}
2719
2720			void main()
2721			{
2722				${SETUP}
2723				float sampler1DShadow = 1.0;
2724				${OUTPUT}
2725			}
2726		""
2727	end
2728	case sampler1DArray
2729		expect compile_fail
2730		values {}
2731		version 300 es
2732
2733		both ""
2734			#version 300 es
2735			precision mediump float;
2736			${DECLARATIONS}
2737
2738			void main()
2739			{
2740				${SETUP}
2741				float sampler1DArray = 1.0;
2742				${OUTPUT}
2743			}
2744		""
2745	end
2746	case sampler1DArrayShadow
2747		expect compile_fail
2748		values {}
2749		version 300 es
2750
2751		both ""
2752			#version 300 es
2753			precision mediump float;
2754			${DECLARATIONS}
2755
2756			void main()
2757			{
2758				${SETUP}
2759				float sampler1DArrayShadow = 1.0;
2760				${OUTPUT}
2761			}
2762		""
2763	end
2764	case isampler1D
2765		expect compile_fail
2766		values {}
2767		version 300 es
2768
2769		both ""
2770			#version 300 es
2771			precision mediump float;
2772			${DECLARATIONS}
2773
2774			void main()
2775			{
2776				${SETUP}
2777				float isampler1D = 1.0;
2778				${OUTPUT}
2779			}
2780		""
2781	end
2782	case isampler1DArray
2783		expect compile_fail
2784		values {}
2785		version 300 es
2786
2787		both ""
2788			#version 300 es
2789			precision mediump float;
2790			${DECLARATIONS}
2791
2792			void main()
2793			{
2794				${SETUP}
2795				float isampler1DArray = 1.0;
2796				${OUTPUT}
2797			}
2798		""
2799	end
2800	case usampler1D
2801		expect compile_fail
2802		values {}
2803		version 300 es
2804
2805		both ""
2806			#version 300 es
2807			precision mediump float;
2808			${DECLARATIONS}
2809
2810			void main()
2811			{
2812				${SETUP}
2813				float usampler1D = 1.0;
2814				${OUTPUT}
2815			}
2816		""
2817	end
2818	case usampler1DArray
2819		expect compile_fail
2820		values {}
2821		version 300 es
2822
2823		both ""
2824			#version 300 es
2825			precision mediump float;
2826			${DECLARATIONS}
2827
2828			void main()
2829			{
2830				${SETUP}
2831				float usampler1DArray = 1.0;
2832				${OUTPUT}
2833			}
2834		""
2835	end
2836	case sampler2DRect
2837		expect compile_fail
2838		values {}
2839		version 300 es
2840
2841		both ""
2842			#version 300 es
2843			precision mediump float;
2844			${DECLARATIONS}
2845
2846			void main()
2847			{
2848				${SETUP}
2849				float sampler2DRect = 1.0;
2850				${OUTPUT}
2851			}
2852		""
2853	end
2854	case sampler2DRectShadow
2855		expect compile_fail
2856		values {}
2857		version 300 es
2858
2859		both ""
2860			#version 300 es
2861			precision mediump float;
2862			${DECLARATIONS}
2863
2864			void main()
2865			{
2866				${SETUP}
2867				float sampler2DRectShadow = 1.0;
2868				${OUTPUT}
2869			}
2870		""
2871	end
2872	case isampler2DRect
2873		expect compile_fail
2874		values {}
2875		version 300 es
2876
2877		both ""
2878			#version 300 es
2879			precision mediump float;
2880			${DECLARATIONS}
2881
2882			void main()
2883			{
2884				${SETUP}
2885				float isampler2DRect = 1.0;
2886				${OUTPUT}
2887			}
2888		""
2889	end
2890	case usampler2DRect
2891		expect compile_fail
2892		values {}
2893		version 300 es
2894
2895		both ""
2896			#version 300 es
2897			precision mediump float;
2898			${DECLARATIONS}
2899
2900			void main()
2901			{
2902				${SETUP}
2903				float usampler2DRect = 1.0;
2904				${OUTPUT}
2905			}
2906		""
2907	end
2908	case samplerBuffer
2909		expect compile_fail
2910		values {}
2911		version 300 es
2912
2913		both ""
2914			#version 300 es
2915			precision mediump float;
2916			${DECLARATIONS}
2917
2918			void main()
2919			{
2920				${SETUP}
2921				float samplerBuffer = 1.0;
2922				${OUTPUT}
2923			}
2924		""
2925	end
2926	case isamplerBuffer
2927		expect compile_fail
2928		values {}
2929		version 300 es
2930
2931		both ""
2932			#version 300 es
2933			precision mediump float;
2934			${DECLARATIONS}
2935
2936			void main()
2937			{
2938				${SETUP}
2939				float isamplerBuffer = 1.0;
2940				${OUTPUT}
2941			}
2942		""
2943	end
2944	case usamplerBuffer
2945		expect compile_fail
2946		values {}
2947		version 300 es
2948
2949		both ""
2950			#version 300 es
2951			precision mediump float;
2952			${DECLARATIONS}
2953
2954			void main()
2955			{
2956				${SETUP}
2957				float usamplerBuffer = 1.0;
2958				${OUTPUT}
2959			}
2960		""
2961	end
2962	case sampler2DMS
2963		expect compile_fail
2964		values {}
2965		version 300 es
2966
2967		both ""
2968			#version 300 es
2969			precision mediump float;
2970			${DECLARATIONS}
2971
2972			void main()
2973			{
2974				${SETUP}
2975				float sampler2DMS = 1.0;
2976				${OUTPUT}
2977			}
2978		""
2979	end
2980	case isampler2DMS
2981		expect compile_fail
2982		values {}
2983		version 300 es
2984
2985		both ""
2986			#version 300 es
2987			precision mediump float;
2988			${DECLARATIONS}
2989
2990			void main()
2991			{
2992				${SETUP}
2993				float isampler2DMS = 1.0;
2994				${OUTPUT}
2995			}
2996		""
2997	end
2998	case usampler2DMS
2999		expect compile_fail
3000		values {}
3001		version 300 es
3002
3003		both ""
3004			#version 300 es
3005			precision mediump float;
3006			${DECLARATIONS}
3007
3008			void main()
3009			{
3010				${SETUP}
3011				float usampler2DMS = 1.0;
3012				${OUTPUT}
3013			}
3014		""
3015	end
3016	case sampler2DMSArray
3017		expect compile_fail
3018		values {}
3019		version 300 es
3020
3021		both ""
3022			#version 300 es
3023			precision mediump float;
3024			${DECLARATIONS}
3025
3026			void main()
3027			{
3028				${SETUP}
3029				float sampler2DMSArray = 1.0;
3030				${OUTPUT}
3031			}
3032		""
3033	end
3034	case isampler2DMSArray
3035		expect compile_fail
3036		values {}
3037		version 300 es
3038
3039		both ""
3040			#version 300 es
3041			precision mediump float;
3042			${DECLARATIONS}
3043
3044			void main()
3045			{
3046				${SETUP}
3047				float isampler2DMSArray = 1.0;
3048				${OUTPUT}
3049			}
3050		""
3051	end
3052	case usampler2DMSArray
3053		expect compile_fail
3054		values {}
3055		version 300 es
3056
3057		both ""
3058			#version 300 es
3059			precision mediump float;
3060			${DECLARATIONS}
3061
3062			void main()
3063			{
3064				${SETUP}
3065				float usampler2DMSArray = 1.0;
3066				${OUTPUT}
3067			}
3068		""
3069	end
3070	case sizeof
3071		expect compile_fail
3072		values {}
3073		version 300 es
3074
3075		both ""
3076			#version 300 es
3077			precision mediump float;
3078			${DECLARATIONS}
3079
3080			void main()
3081			{
3082				${SETUP}
3083				float sizeof = 1.0;
3084				${OUTPUT}
3085			}
3086		""
3087	end
3088	case cast
3089		expect compile_fail
3090		values {}
3091		version 300 es
3092
3093		both ""
3094			#version 300 es
3095			precision mediump float;
3096			${DECLARATIONS}
3097
3098			void main()
3099			{
3100				${SETUP}
3101				float cast = 1.0;
3102				${OUTPUT}
3103			}
3104		""
3105	end
3106	case namespace
3107		expect compile_fail
3108		values {}
3109		version 300 es
3110
3111		both ""
3112			#version 300 es
3113			precision mediump float;
3114			${DECLARATIONS}
3115
3116			void main()
3117			{
3118				${SETUP}
3119				float namespace = 1.0;
3120				${OUTPUT}
3121			}
3122		""
3123	end
3124	case using
3125		expect compile_fail
3126		values {}
3127		version 300 es
3128
3129		both ""
3130			#version 300 es
3131			precision mediump float;
3132			${DECLARATIONS}
3133
3134			void main()
3135			{
3136				${SETUP}
3137				float using = 1.0;
3138				${OUTPUT}
3139			}
3140		""
3141	end
3142
3143end # reserved_keywords
3144group invalid_identifiers "Usage of invalid identifiers."
3145
3146	case gl_begin
3147		expect compile_fail
3148		values {}
3149		version 300 es
3150
3151		both ""
3152			#version 300 es
3153			precision mediump float;
3154			${DECLARATIONS}
3155
3156			void main()
3157			{
3158				${SETUP}
3159				float gl_Invalid = 1.0;
3160				${OUTPUT}
3161			}
3162		""
3163	end
3164	case digit
3165		expect compile_fail
3166		values {}
3167		version 300 es
3168
3169		both ""
3170			#version 300 es
3171			precision mediump float;
3172			${DECLARATIONS}
3173
3174			void main()
3175			{
3176				${SETUP}
3177				float 0123 = 1.0;
3178				${OUTPUT}
3179			}
3180		""
3181	end
3182	case digit_begin
3183		expect compile_fail
3184		values {}
3185		version 300 es
3186
3187		both ""
3188			#version 300 es
3189			precision mediump float;
3190			${DECLARATIONS}
3191
3192			void main()
3193			{
3194				${SETUP}
3195				float 0invalid = 1.0;
3196				${OUTPUT}
3197			}
3198		""
3199	end
3200	case max_length
3201		expect compile_fail
3202		values {}
3203		version 300 es
3204
3205		both ""
3206			#version 300 es
3207			precision mediump float;
3208			${DECLARATIONS}
3209
3210			void main()
3211			{
3212				${SETUP}
3213				float abcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdX = 1.0;
3214				${OUTPUT}
3215			}
3216		""
3217	end
3218
3219end # invalid_identifiers
3220