diff --git a/Test/array100.frag b/Test/array100.frag index beedfeca..b77aedf6 100644 --- a/Test/array100.frag +++ b/Test/array100.frag @@ -66,4 +66,5 @@ void bar11() s1 = s2; // ERROR bar10(s1); s2 = bar9(); // ERROR + SB initSb = s1; // ERROR } diff --git a/Test/baseResults/100.frag.out b/Test/baseResults/100.frag.out index 1c08f355..9a5c37e5 100644 --- a/Test/baseResults/100.frag.out +++ b/Test/baseResults/100.frag.out @@ -1,5 +1,6 @@ ERROR: 0:3: '{ } style initializers' : not supported with this profile: es ERROR: 0:3: 'initializer' : not supported for this version or the enabled extensions +ERROR: 0:3: 'array initializer' : not supported for this version or the enabled extensions ERROR: 0:7: 'attribute' : not supported in this stage: fragment ERROR: 0:7: 'float' : type requires declaration of default precision qualifier ERROR: 0:9: '=' : cannot convert from 'const int' to 'mediump float' @@ -60,7 +61,7 @@ ERROR: 0:144: 'a' : redefinition ERROR: 0:149: 'floating-point suffix' : not supported for this version or the enabled extensions ERROR: 0:150: 'floating-point suffix' : not supported for this version or the enabled extensions ERROR: 0:152: '' : syntax error -ERROR: 55 compilation errors. No code generated. +ERROR: 56 compilation errors. No code generated. ERROR: node is still EOpNull! 0:3 Sequence diff --git a/Test/baseResults/array100.frag.out b/Test/baseResults/array100.frag.out index 5302806a..8223f4b4 100644 --- a/Test/baseResults/array100.frag.out +++ b/Test/baseResults/array100.frag.out @@ -19,7 +19,8 @@ ERROR: 0:39: '[' : index out of range '-1' ERROR: 0:53: 'array in function return type' : not supported for this version or the enabled extensions ERROR: 0:66: 'array assignment' : not supported for this version or the enabled extensions ERROR: 0:68: 'array assignment' : not supported for this version or the enabled extensions -ERROR: 21 compilation errors. No code generated. +ERROR: 0:69: 'array initializer' : not supported for this version or the enabled extensions +ERROR: 22 compilation errors. No code generated. ERROR: node is still EOpNull! 0:9 Function Definition: foo(f1[5]; (4-element array of mediump float) @@ -143,6 +144,10 @@ ERROR: node is still EOpNull! 0:68 move second child to first child (structure{v4,sa}) 0:68 's2' (structure{v4,sa}) 0:68 Function Call: bar9( (structure{v4,sa}) +0:69 Sequence +0:69 move second child to first child (structure{v4,sa}) +0:69 'initSb' (structure{v4,sa}) +0:69 's1' (structure{v4,sa}) 0:? Linker Objects 0:? 'gu' (unsized array of mediump float) 0:? 'g4' (4-element array of mediump float) diff --git a/glslang/MachineIndependent/ParseHelper.cpp b/glslang/MachineIndependent/ParseHelper.cpp index f23b37e9..765c8858 100644 --- a/glslang/MachineIndependent/ParseHelper.cpp +++ b/glslang/MachineIndependent/ParseHelper.cpp @@ -2927,6 +2927,7 @@ TIntermNode* TParseContext::executeInitializer(TSourceLoc loc, TString& identifi error(loc, " cannot initialize this type of qualifier ", variable->getType().getStorageQualifierString(), ""); return 0; } + arrayObjectCheck(loc, variable->getType(), "array initializer"); // // If the initializer was from braces { ... }, we convert the whole subtree to a