| #version 100 | |
| float gu[]; // ERROR | |
| float g4[4]; | |
| float g5[5]; | |
| uniform int a; | |
| float[4] foo(float[5] a) // ERROR // ERROR | |
| { | |
| return float[](a[0], a[1], a[2], a[3]); // ERROR | |
| } | |
| void bar(float[5]) {} | |
| void main() | |
| { | |
| { | |
| float gu[2]; // okay, new scope | |
| gu[2] = 4.0; // ERROR, overflow | |
| } | |
| g4 = foo(g5); // ERROR | |
| g5 = g4; // ERROR | |
| gu = g4; // ERROR | |
| foo(gu); // ERROR | |
| bar(g5); | |
| if (float[4](1.0, 2.0, 3.0, 4.0) == g4) // ERROR | |
| gu[0] = 2.0; | |
| float u[5]; | |
| u[5] = 5.0; // ERROR | |
| foo(u); // okay | |
| gl_FragData[1000] = vec4(1.0); // ERROR | |
| gl_FragData[-1] = vec4(1.0); // ERROR | |
| gl_FragData[3] = vec4(1.0); | |
| } | |
| struct SA { | |
| vec3 v3; | |
| vec2 v2[4]; | |
| }; | |
| struct SB { | |
| vec4 v4; | |
| SA sa; | |
| }; | |
| SB bar9() | |
| { | |
| SB s; | |
| return s; // ERROR | |
| } | |
| void bar10(SB s) // okay | |
| { | |
| } | |
| void bar11() | |
| { | |
| SB s1, s2; | |
| s1 = s2; // ERROR | |
| bar10(s1); | |
| s2 = bar9(); // ERROR | |
| SB initSb = s1; // ERROR | |
| } |