1617a3babSopenharmony_ci#version 100 2617a3babSopenharmony_ci 3617a3babSopenharmony_cifloat gu[]; // ERROR 4617a3babSopenharmony_cifloat g4[4]; 5617a3babSopenharmony_cifloat g5[5]; 6617a3babSopenharmony_ci 7617a3babSopenharmony_ciuniform int a; 8617a3babSopenharmony_ci 9617a3babSopenharmony_cifloat[4] foo(float[5] a) // ERROR // ERROR 10617a3babSopenharmony_ci{ 11617a3babSopenharmony_ci return float[](a[0], a[1], a[2], a[3]); // ERROR 12617a3babSopenharmony_ci} 13617a3babSopenharmony_ci 14617a3babSopenharmony_civoid bar(float[5]) {} 15617a3babSopenharmony_ci 16617a3babSopenharmony_civoid main() 17617a3babSopenharmony_ci{ 18617a3babSopenharmony_ci { 19617a3babSopenharmony_ci float gu[2]; // okay, new scope 20617a3babSopenharmony_ci 21617a3babSopenharmony_ci gu[2] = 4.0; // ERROR, overflow 22617a3babSopenharmony_ci } 23617a3babSopenharmony_ci 24617a3babSopenharmony_ci g4 = foo(g5); // ERROR 25617a3babSopenharmony_ci g5 = g4; // ERROR 26617a3babSopenharmony_ci gu = g4; // ERROR 27617a3babSopenharmony_ci 28617a3babSopenharmony_ci foo(gu); // ERROR 29617a3babSopenharmony_ci bar(g5); 30617a3babSopenharmony_ci 31617a3babSopenharmony_ci if (float[4](1.0, 2.0, 3.0, 4.0) == g4) // ERROR 32617a3babSopenharmony_ci gu[0] = 2.0; 33617a3babSopenharmony_ci 34617a3babSopenharmony_ci float u[5]; 35617a3babSopenharmony_ci u[5] = 5.0; // ERROR 36617a3babSopenharmony_ci foo(u); // okay 37617a3babSopenharmony_ci 38617a3babSopenharmony_ci gl_FragData[1000] = vec4(1.0); // ERROR 39617a3babSopenharmony_ci gl_FragData[-1] = vec4(1.0); // ERROR 40617a3babSopenharmony_ci gl_FragData[3] = vec4(1.0); 41617a3babSopenharmony_ci} 42617a3babSopenharmony_ci 43617a3babSopenharmony_cistruct SA { 44617a3babSopenharmony_ci vec3 v3; 45617a3babSopenharmony_ci vec2 v2[4]; 46617a3babSopenharmony_ci}; 47617a3babSopenharmony_ci 48617a3babSopenharmony_cistruct SB { 49617a3babSopenharmony_ci vec4 v4; 50617a3babSopenharmony_ci SA sa; 51617a3babSopenharmony_ci}; 52617a3babSopenharmony_ci 53617a3babSopenharmony_ciSB bar9() 54617a3babSopenharmony_ci{ 55617a3babSopenharmony_ci SB s; 56617a3babSopenharmony_ci return s; // ERROR 57617a3babSopenharmony_ci} 58617a3babSopenharmony_ci 59617a3babSopenharmony_civoid bar10(SB s) // okay 60617a3babSopenharmony_ci{ 61617a3babSopenharmony_ci} 62617a3babSopenharmony_ci 63617a3babSopenharmony_civoid bar11() 64617a3babSopenharmony_ci{ 65617a3babSopenharmony_ci SB s1, s2; 66617a3babSopenharmony_ci s1 = s2; // ERROR 67617a3babSopenharmony_ci bar10(s1); 68617a3babSopenharmony_ci s2 = bar9(); // ERROR 69617a3babSopenharmony_ci SB initSb = s1; // ERROR 70617a3babSopenharmony_ci} 71