yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
ffa66d3b
main
1#version 100 2 3float gu [];// ERROR 4float g4 [4 ]; 5float g5 [5 ]; 6 7uniform int a ; 8 9float [ 4 ] foo( float [ 5 ] a) // ERROR // ERROR 10{ 11return float[](a[ 0 ], a[ 1 ], a[ 2 ], a[ 3 ]); // ERROR 12} 13 14void bar( float [ 5 ]) {} 15 16void main() 17{ 18{ 19float gu[ 2 ]; // okay, new scope 20 21gu[ 2 ] = 4.0 ; // ERROR, overflow 22} 23 24g4 = foo(g5); // ERROR 25g5 = g4; // ERROR 26gu = g4; // ERROR 27 28foo(gu); // ERROR 29bar(g5); 30 31if (float[ 4 ]( 1.0 , 2.0 , 3.0 , 4.0 ) == g4) // ERROR 32gu[ 0 ] = 2.0 ; 33 34float u[ 5 ]; 35u[ 5 ] = 5.0 ; // ERROR 36foo(u); // okay 37 38gl_FragData[ 1000 ] = vec4( 1.0 ); // ERROR 39gl_FragData[ -1 ] = vec4( 1.0 ); // ERROR 40gl_FragData[ 3 ] = vec4( 1.0 ); 41} 42 43struct SA { 44vec3 v3 ; 45vec2 v2 [ 4 ]; 46}; 47 48struct SB { 49vec4 v4 ; 50SA sa ; 51}; 52 53SB bar9() 54{ 55SB s; 56return s; // ERROR 57} 58 59void bar10( SB s) // okay 60{ 61} 62 63void bar11() 64{ 65SB s1, s2; 66s1 = s2; // ERROR 67bar10(s1); 68s2 = bar9(); // ERROR 69SB initSb = s1; // ERROR 70}