Types: Fix #1290: Rationalize and correct "mixed" style array dimensioning.
authorJohn Kessenich <cepheus@frii.com>
Mon, 26 Mar 2018 06:38:53 +0000 (00:38 -0600)
committerJohn Kessenich <cepheus@frii.com>
Mon, 26 Mar 2018 06:38:53 +0000 (00:38 -0600)
commit859b0342b86bcc15f7fe65c31eb4d3f268909150
tree59f4c7a0bd5232111cb3b9f812d6a8cce3ebb94d
parent1c3ab274b1f0d6a225afab7ce89bea176670fb61
Types: Fix #1290: Rationalize and correct "mixed" style array dimensioning.

There a couple functional problems, which when reduced down also led to
some good simplifications and rationalization.  So, this commit:
 - corrects "mixed" functionality: int[A] f[B] -> f[B][A]
 - correct multi-identifier decls: int[A] f[B], g[C] -> f and g are independently sized.
 - increases symmetry between different places in the code that do this
 - makes fewer ways to do the same thing; several methods are just gone now
 - makes more clear when something is copied or shared
17 files changed:
SPIRV/GlslangToSpv.cpp
Test/baseResults/120.vert.out
Test/baseResults/300.frag.out
Test/baseResults/mixedArrayDecls.frag.out [new file with mode: 0755]
Test/mixedArrayDecls.frag [new file with mode: 0644]
glslang/Include/Types.h
glslang/Include/arrays.h
glslang/MachineIndependent/Initialize.cpp
glslang/MachineIndependent/ParseHelper.cpp
glslang/MachineIndependent/ParseHelper.h
glslang/MachineIndependent/glslang.y
glslang/MachineIndependent/glslang_tab.cpp
glslang/MachineIndependent/glslang_tab.cpp.h
gtests/AST.FromFile.cpp
hlsl/hlslGrammar.cpp
hlsl/hlslParseHelper.cpp
hlsl/hlslParseHelper.h