glslang: Formally track all built-in variables, right from the beginning, to enable avoiding all textual compares at any subsequent stage in the stack.  (To be used in future check ins.)


git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31224 e7fa87d3-cd2b-0410-9028-fcbf551c1848
diff --git a/Test/baseResults/100.frag.out b/Test/baseResults/100.frag.out
index ae50dcb..7d7aa32 100644
--- a/Test/baseResults/100.frag.out
+++ b/Test/baseResults/100.frag.out
@@ -218,7 +218,7 @@
 0:103        'gl_FragDepth' (temp mediump float)

 0:103        'f13' (invariant global mediump float)

 0:104      move second child to first child (temp highp float)

-0:104        'gl_FragDepthEXT' (gl_FragDepth highp float)

+0:104        'gl_FragDepthEXT' (gl_FragDepth highp float FragDepth)

 0:104        'f13' (invariant global mediump float)

 0:109  Function Definition: foo239( (global void)

 0:109    Function Parameters: 

@@ -227,7 +227,7 @@
 0:111        'gl_FragDepth' (temp mediump float)

 0:111        'f13' (invariant global mediump float)

 0:112      move second child to first child (temp highp float)

-0:112        'gl_FragDepthEXT' (gl_FragDepth highp float)

+0:112        'gl_FragDepthEXT' (gl_FragDepth highp float FragDepth)

 0:112        'f13' (invariant global mediump float)

 0:119  Function Definition: foo245( (global void)

 0:119    Function Parameters: 

@@ -370,7 +370,7 @@
 0:214      'init1' (global mediump int)

 0:214      Test condition and select (temp mediump int)

 0:214        Condition

-0:214        'gl_FrontFacing' (gl_FrontFacing bool)

+0:214        'gl_FrontFacing' (gl_FrontFacing bool Face)

 0:214        true case

 0:214        Constant:

 0:214          1 (const int)

@@ -542,7 +542,7 @@
 0:103        'gl_FragDepth' (temp mediump float)

 0:103        'f13' (invariant global mediump float)

 0:104      move second child to first child (temp highp float)

-0:104        'gl_FragDepthEXT' (gl_FragDepth highp float)

+0:104        'gl_FragDepthEXT' (gl_FragDepth highp float FragDepth)

 0:104        'f13' (invariant global mediump float)

 0:109  Function Definition: foo239( (global void)

 0:109    Function Parameters: 

@@ -551,7 +551,7 @@
 0:111        'gl_FragDepth' (temp mediump float)

 0:111        'f13' (invariant global mediump float)

 0:112      move second child to first child (temp highp float)

-0:112        'gl_FragDepthEXT' (gl_FragDepth highp float)

+0:112        'gl_FragDepthEXT' (gl_FragDepth highp float FragDepth)

 0:112        'f13' (invariant global mediump float)

 0:119  Function Definition: foo245( (global void)

 0:119    Function Parameters: 

@@ -694,7 +694,7 @@
 0:214      'init1' (global mediump int)

 0:214      Test condition and select (temp mediump int)

 0:214        Condition

-0:214        'gl_FrontFacing' (gl_FrontFacing bool)

+0:214        'gl_FrontFacing' (gl_FrontFacing bool Face)

 0:214        true case

 0:214        Constant:

 0:214          1 (const int)

diff --git a/Test/baseResults/100scope.vert.out b/Test/baseResults/100scope.vert.out
index 76749e7..55b4dad 100644
--- a/Test/baseResults/100scope.vert.out
+++ b/Test/baseResults/100scope.vert.out
@@ -66,7 +66,7 @@
 0:47        Constant:

 0:47          3.000000

 0:49      move second child to first child (temp highp 4-component vector of float)

-0:49        'gl_Position' (invariant gl_Position highp 4-component vector of float)

+0:49        'gl_Position' (invariant gl_Position highp 4-component vector of float Position)

 0:49        Construct vec4 (temp highp 4-component vector of float)

 0:49          'f' (temp highp float)

 0:51      Sequence

@@ -179,7 +179,7 @@
 0:47        Constant:

 0:47          3.000000

 0:49      move second child to first child (temp highp 4-component vector of float)

-0:49        'gl_Position' (invariant gl_Position highp 4-component vector of float)

+0:49        'gl_Position' (invariant gl_Position highp 4-component vector of float Position)

 0:49        Construct vec4 (temp highp 4-component vector of float)

 0:49          'f' (temp highp float)

 0:51      Sequence

diff --git a/Test/baseResults/110scope.vert.out b/Test/baseResults/110scope.vert.out
index d2be073..0a3089d 100644
--- a/Test/baseResults/110scope.vert.out
+++ b/Test/baseResults/110scope.vert.out
@@ -58,7 +58,7 @@
 0:47        Constant:

 0:47          3.000000

 0:49      move second child to first child (temp 4-component vector of float)

-0:49        'gl_Position' (gl_Position 4-component vector of float)

+0:49        'gl_Position' (gl_Position 4-component vector of float Position)

 0:49        Construct vec4 (temp 4-component vector of float)

 0:49          'f' (temp float)

 0:51      Sequence

@@ -173,7 +173,7 @@
 0:47        Constant:

 0:47          3.000000

 0:49      move second child to first child (temp 4-component vector of float)

-0:49        'gl_Position' (gl_Position 4-component vector of float)

+0:49        'gl_Position' (gl_Position 4-component vector of float Position)

 0:49        Construct vec4 (temp 4-component vector of float)

 0:49          'f' (temp float)

 0:51      Sequence

diff --git a/Test/baseResults/120.frag.out b/Test/baseResults/120.frag.out
index 804aca1..d33d99d 100644
--- a/Test/baseResults/120.frag.out
+++ b/Test/baseResults/120.frag.out
@@ -14,7 +14,7 @@
 ERROR: 0:63: 'bitwise-or assign' : not supported for this version or the enabled extensions 

 ERROR: 0:63: 'assign' :  cannot convert from 'temp bool' to 'temp float'

 ERROR: 0:79: ':' :  wrong operand types: no operation ':' exists that takes a left-hand operand of type 'temp 4-component vector of float' and a right operand of type 'temp 4X4 matrix of float' (or there is no acceptable conversion)

-ERROR: 0:79: 'assign' :  cannot convert from 'temp 4X4 matrix of float' to 'fragColor 4-component vector of float'

+ERROR: 0:79: 'assign' :  cannot convert from 'temp 4X4 matrix of float' to 'fragColor 4-component vector of float FragColor'

 ERROR: 0:82: 'xr' : illegal - vector component fields not from the same set 

 ERROR: 0:83: 'xyxyx' : illegal vector field selection 

 ERROR: 0:83: 'scalar swizzle' : not supported for this version or the enabled extensions 

@@ -241,18 +241,18 @@
 0:62        'b' (temp bool)

 0:63      'f' (temp float)

 0:65      move second child to first child (temp 4-component vector of float)

-0:65        'gl_FragColor' (fragColor 4-component vector of float)

+0:65        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:65        Function Call: texture2D(s21;vf2; (global 4-component vector of float)

 0:65          's2D' (uniform sampler2D)

 0:65          'centTexCoord' (centroid smooth in 2-component vector of float)

 0:?       Sequence

-0:79        'gl_FragColor' (fragColor 4-component vector of float)

+0:79        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:82      direct index (temp float)

-0:82        'gl_FragColor' (fragColor 4-component vector of float)

+0:82        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:82        Constant:

 0:82          0 (const int)

 0:83      direct index (temp float)

-0:83        'gl_FragColor' (fragColor 4-component vector of float)

+0:83        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:83        Constant:

 0:83          0 (const int)

 0:84      direct index (temp float)

@@ -318,14 +318,14 @@
 0:120      Sequence

 0:120        move second child to first child (temp 4-component vector of float)

 0:120          'v' (temp 4-component vector of float)

-0:120          direct index (smooth temp 4-component vector of float)

-0:120            'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)

+0:120          direct index (smooth temp 4-component vector of float TexCoord)

+0:120            'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)

 0:120            Constant:

 0:120              1 (const int)

 0:121      add second child into first child (temp 4-component vector of float)

 0:121        'v' (temp 4-component vector of float)

-0:121        direct index (smooth temp 4-component vector of float)

-0:121          'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)

+0:121        direct index (smooth temp 4-component vector of float TexCoord)

+0:121          'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)

 0:121          Constant:

 0:121            3 (const int)

 0:139  Function Definition: foo123( (global void)

@@ -603,7 +603,7 @@
 0:?     'imageBuffer' (global float)

 0:?     'uimage2DRect' (global float)

 0:?     'a' (temp int)

-0:?     'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)

+0:?     'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)

 0:?     'm22' (global 2X2 matrix of float)

 0:?     'm23' (global 2X3 matrix of float)

 0:?     'm24' (global 2X4 matrix of float)

@@ -812,18 +812,18 @@
 0:62        'b' (temp bool)

 0:63      'f' (temp float)

 0:65      move second child to first child (temp 4-component vector of float)

-0:65        'gl_FragColor' (fragColor 4-component vector of float)

+0:65        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:65        Function Call: texture2D(s21;vf2; (global 4-component vector of float)

 0:65          's2D' (uniform sampler2D)

 0:65          'centTexCoord' (centroid smooth in 2-component vector of float)

 0:?       Sequence

-0:79        'gl_FragColor' (fragColor 4-component vector of float)

+0:79        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:82      direct index (temp float)

-0:82        'gl_FragColor' (fragColor 4-component vector of float)

+0:82        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:82        Constant:

 0:82          0 (const int)

 0:83      direct index (temp float)

-0:83        'gl_FragColor' (fragColor 4-component vector of float)

+0:83        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:83        Constant:

 0:83          0 (const int)

 0:84      direct index (temp float)

@@ -889,14 +889,14 @@
 0:120      Sequence

 0:120        move second child to first child (temp 4-component vector of float)

 0:120          'v' (temp 4-component vector of float)

-0:120          direct index (smooth temp 4-component vector of float)

-0:120            'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)

+0:120          direct index (smooth temp 4-component vector of float TexCoord)

+0:120            'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)

 0:120            Constant:

 0:120              1 (const int)

 0:121      add second child into first child (temp 4-component vector of float)

 0:121        'v' (temp 4-component vector of float)

-0:121        direct index (smooth temp 4-component vector of float)

-0:121          'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)

+0:121        direct index (smooth temp 4-component vector of float TexCoord)

+0:121          'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)

 0:121          Constant:

 0:121            3 (const int)

 0:139  Function Definition: foo123( (global void)

@@ -1174,7 +1174,7 @@
 0:?     'imageBuffer' (global float)

 0:?     'uimage2DRect' (global float)

 0:?     'a' (temp int)

-0:?     'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)

+0:?     'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)

 0:?     'm22' (global 2X2 matrix of float)

 0:?     'm23' (global 2X3 matrix of float)

 0:?     'm24' (global 2X4 matrix of float)

diff --git a/Test/baseResults/120.vert.out b/Test/baseResults/120.vert.out
index 6cc6fa3..7b58c8b 100644
--- a/Test/baseResults/120.vert.out
+++ b/Test/baseResults/120.vert.out
@@ -90,10 +90,10 @@
 0:17        'centTexCoord' (invariant smooth out 2-component vector of float)

 0:17        'attv2' (in 2-component vector of float)

 0:18      move second child to first child (temp 4-component vector of float)

-0:18        'gl_Position' (invariant gl_Position 4-component vector of float)

+0:18        'gl_Position' (invariant gl_Position 4-component vector of float Position)

 0:18        'attv4' (in 4-component vector of float)

 0:20      move second child to first child (temp 4-component vector of float)

-0:20        'gl_ClipVertex' (gl_ClipVertex 4-component vector of float)

+0:20        'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)

 0:20        'attv4' (in 4-component vector of float)

 0:21      move second child to first child (temp float)

 0:21        Constant:

@@ -101,7 +101,7 @@
 0:21        Constant:

 0:21          0.200000

 0:25      move second child to first child (temp 4-component vector of float)

-0:25        'gl_Position' (invariant gl_Position 4-component vector of float)

+0:25        'gl_Position' (invariant gl_Position 4-component vector of float Position)

 0:25        direct index (temp 4-component vector of float)

 0:25          'b' (temp 12-element array of 4-component vector of float)

 0:25          Constant:

@@ -125,7 +125,7 @@
 0:32          Constant:

 0:32            1 (const int)

 0:43      move second child to first child (temp float)

-0:43        'gl_PointSize' (invariant gl_PointSize float)

+0:43        'gl_PointSize' (invariant gl_PointSize float PointSize)

 0:43        Constant:

 0:43          3.800000

 0:61  Function Definition: overloadB(f1;f1; (global void)

@@ -385,8 +385,8 @@
 0:?       3.400000

 0:?     'concall' (const float)

 0:?       0.295520

-0:?     'gl_TexCoord' (smooth out 35-element array of 4-component vector of float)

-0:?     'gl_TexCoord' (smooth out 35-element array of 4-component vector of float)

+0:?     'gl_TexCoord' (smooth out 35-element array of 4-component vector of float TexCoord)

+0:?     'gl_TexCoord' (smooth out 35-element array of 4-component vector of float TexCoord)

 0:?     'c' (uniform int)

 0:?     'x' (in 2-component vector of int)

 0:?     'v2a' (in 2-component vector of float)

@@ -409,10 +409,10 @@
 0:17        'centTexCoord' (invariant smooth out 2-component vector of float)

 0:17        'attv2' (in 2-component vector of float)

 0:18      move second child to first child (temp 4-component vector of float)

-0:18        'gl_Position' (invariant gl_Position 4-component vector of float)

+0:18        'gl_Position' (invariant gl_Position 4-component vector of float Position)

 0:18        'attv4' (in 4-component vector of float)

 0:20      move second child to first child (temp 4-component vector of float)

-0:20        'gl_ClipVertex' (gl_ClipVertex 4-component vector of float)

+0:20        'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)

 0:20        'attv4' (in 4-component vector of float)

 0:21      move second child to first child (temp float)

 0:21        Constant:

@@ -420,7 +420,7 @@
 0:21        Constant:

 0:21          0.200000

 0:25      move second child to first child (temp 4-component vector of float)

-0:25        'gl_Position' (invariant gl_Position 4-component vector of float)

+0:25        'gl_Position' (invariant gl_Position 4-component vector of float Position)

 0:25        direct index (temp 4-component vector of float)

 0:25          'b' (temp 12-element array of 4-component vector of float)

 0:25          Constant:

@@ -444,7 +444,7 @@
 0:32          Constant:

 0:32            1 (const int)

 0:43      move second child to first child (temp float)

-0:43        'gl_PointSize' (invariant gl_PointSize float)

+0:43        'gl_PointSize' (invariant gl_PointSize float PointSize)

 0:43        Constant:

 0:43          3.800000

 0:61  Function Definition: overloadB(f1;f1; (global void)

@@ -704,8 +704,8 @@
 0:?       3.400000

 0:?     'concall' (const float)

 0:?       0.295520

-0:?     'gl_TexCoord' (smooth out 35-element array of 4-component vector of float)

-0:?     'gl_TexCoord' (smooth out 35-element array of 4-component vector of float)

+0:?     'gl_TexCoord' (smooth out 35-element array of 4-component vector of float TexCoord)

+0:?     'gl_TexCoord' (smooth out 35-element array of 4-component vector of float TexCoord)

 0:?     'c' (uniform int)

 0:?     'x' (in 2-component vector of int)

 0:?     'v2a' (in 2-component vector of float)

diff --git a/Test/baseResults/130.frag.out b/Test/baseResults/130.frag.out
index 8558579..d03268d 100644
--- a/Test/baseResults/130.frag.out
+++ b/Test/baseResults/130.frag.out
@@ -48,8 +48,8 @@
 0:18      Sequence

 0:18        move second child to first child (temp float)

 0:18          'clip' (temp float)

-0:18          direct index (smooth temp float)

-0:18            'gl_ClipDistance' (smooth in implicitly-sized array of float)

+0:18          direct index (smooth temp float ClipDistance)

+0:18            'gl_ClipDistance' (smooth in implicitly-sized array of float ClipDistance)

 0:18            Constant:

 0:18              3 (const int)

 0:23  Function Definition: foo( (global void)

@@ -381,10 +381,10 @@
 0:?     'fflat' (flat in float)

 0:?     'fsmooth' (smooth in float)

 0:?     'fnop' (noperspective in float)

-0:?     'gl_ClipDistance' (smooth in implicitly-sized array of float)

+0:?     'gl_ClipDistance' (smooth in implicitly-sized array of float ClipDistance)

 0:?     'sampC' (uniform samplerCube)

-0:?     'gl_Color' (smooth in 4-component vector of float)

-0:?     'gl_Color' (flat in 4-component vector of float)

+0:?     'gl_Color' (smooth in 4-component vector of float Color)

+0:?     'gl_Color' (flat in 4-component vector of float Color)

 0:?     'samp2D' (uniform sampler2D)

 0:?     'samp2DS' (uniform sampler2DShadow)

 0:?     'samp2DR' (uniform sampler2DRect)

@@ -424,8 +424,8 @@
 0:18      Sequence

 0:18        move second child to first child (temp float)

 0:18          'clip' (temp float)

-0:18          direct index (smooth temp float)

-0:18            'gl_ClipDistance' (smooth in 4-element array of float)

+0:18          direct index (smooth temp float ClipDistance)

+0:18            'gl_ClipDistance' (smooth in 4-element array of float ClipDistance)

 0:18            Constant:

 0:18              3 (const int)

 0:23  Function Definition: foo( (global void)

@@ -757,10 +757,10 @@
 0:?     'fflat' (flat in float)

 0:?     'fsmooth' (smooth in float)

 0:?     'fnop' (noperspective in float)

-0:?     'gl_ClipDistance' (smooth in 4-element array of float)

+0:?     'gl_ClipDistance' (smooth in 4-element array of float ClipDistance)

 0:?     'sampC' (uniform samplerCube)

-0:?     'gl_Color' (smooth in 4-component vector of float)

-0:?     'gl_Color' (flat in 4-component vector of float)

+0:?     'gl_Color' (smooth in 4-component vector of float Color)

+0:?     'gl_Color' (flat in 4-component vector of float Color)

 0:?     'samp2D' (uniform sampler2D)

 0:?     'samp2DS' (uniform sampler2DShadow)

 0:?     'samp2DR' (uniform sampler2DRect)

diff --git a/Test/baseResults/130.vert.out b/Test/baseResults/130.vert.out
index f402fe0..74ed634 100644
--- a/Test/baseResults/130.vert.out
+++ b/Test/baseResults/130.vert.out
@@ -112,10 +112,10 @@
 0:45      Sequence

 0:45        move second child to first child (temp int)

 0:45          'id' (temp int)

-0:45          'gl_VertexID' (gl_VertexId int)

+0:45          'gl_VertexID' (gl_VertexId int VertexId)

 0:46      move second child to first child (temp float)

-0:46        direct index (smooth temp float)

-0:46          'gl_ClipDistance' (smooth out implicitly-sized array of float)

+0:46        direct index (smooth temp float ClipDistance)

+0:46          'gl_ClipDistance' (smooth out implicitly-sized array of float ClipDistance)

 0:46          Constant:

 0:46            1 (const int)

 0:46        Constant:

@@ -124,8 +124,8 @@
 0:57    Function Parameters: 

 0:?     Sequence

 0:61      'id' (temp int)

-0:63      'gl_ClipVertex' (gl_ClipVertex 4-component vector of float)

-0:64      'gl_Color' (in 4-component vector of float)

+0:63      'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)

+0:64      'gl_Color' (in 4-component vector of float Color)

 0:65      direct index (temp structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})

 0:65        'gl_LightSource' (uniform 32-element array of structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})

 0:65        Constant:

@@ -134,9 +134,9 @@
 0:66        'gl_DepthRange' (uniform structure{global float near, global float far, global float diff})

 0:66        Constant:

 0:66          1 (const int)

-0:67      'gl_TexCoord' (smooth out implicitly-sized array of 4-component vector of float)

-0:68      'gl_FogFragCoord' (smooth out float)

-0:69      'gl_FrontColor' (smooth out 4-component vector of float)

+0:67      'gl_TexCoord' (smooth out implicitly-sized array of 4-component vector of float TexCoord)

+0:68      'gl_FogFragCoord' (smooth out float FogFragCoord)

+0:69      'gl_FrontColor' (smooth out 4-component vector of float FrontColor)

 0:?   Linker Objects

 0:?     'c' (uniform int)

 0:?     'us2D' (uniform usampler2D)

@@ -147,10 +147,10 @@
 0:?     'c3D' (in 3-component vector of float)

 0:?     'c4D' (smooth temp 4-component vector of float)

 0:?     'v4' (uniform 4-component vector of float)

-0:?     'gl_ClipDistance' (smooth out implicitly-sized array of float)

-0:?     'gl_TexCoord' (smooth out implicitly-sized array of 4-component vector of float)

+0:?     'gl_ClipDistance' (smooth out implicitly-sized array of float ClipDistance)

+0:?     'gl_TexCoord' (smooth out implicitly-sized array of 4-component vector of float TexCoord)

 0:?     'abc' (global int)

-0:?     'gl_VertexID' (gl_VertexId int)

+0:?     'gl_VertexID' (gl_VertexId int VertexId)

 

 

 Linked vertex stage:

@@ -261,10 +261,10 @@
 0:45      Sequence

 0:45        move second child to first child (temp int)

 0:45          'id' (temp int)

-0:45          'gl_VertexID' (gl_VertexId int)

+0:45          'gl_VertexID' (gl_VertexId int VertexId)

 0:46      move second child to first child (temp float)

-0:46        direct index (smooth temp float)

-0:46          'gl_ClipDistance' (smooth out 2-element array of float)

+0:46        direct index (smooth temp float ClipDistance)

+0:46          'gl_ClipDistance' (smooth out 2-element array of float ClipDistance)

 0:46          Constant:

 0:46            1 (const int)

 0:46        Constant:

@@ -273,8 +273,8 @@
 0:57    Function Parameters: 

 0:?     Sequence

 0:61      'id' (temp int)

-0:63      'gl_ClipVertex' (gl_ClipVertex 4-component vector of float)

-0:64      'gl_Color' (in 4-component vector of float)

+0:63      'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)

+0:64      'gl_Color' (in 4-component vector of float Color)

 0:65      direct index (temp structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})

 0:65        'gl_LightSource' (uniform 32-element array of structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})

 0:65        Constant:

@@ -283,9 +283,9 @@
 0:66        'gl_DepthRange' (uniform structure{global float near, global float far, global float diff})

 0:66        Constant:

 0:66          1 (const int)

-0:67      'gl_TexCoord' (smooth out 1-element array of 4-component vector of float)

-0:68      'gl_FogFragCoord' (smooth out float)

-0:69      'gl_FrontColor' (smooth out 4-component vector of float)

+0:67      'gl_TexCoord' (smooth out 1-element array of 4-component vector of float TexCoord)

+0:68      'gl_FogFragCoord' (smooth out float FogFragCoord)

+0:69      'gl_FrontColor' (smooth out 4-component vector of float FrontColor)

 0:?   Linker Objects

 0:?     'c' (uniform int)

 0:?     'us2D' (uniform usampler2D)

@@ -296,8 +296,8 @@
 0:?     'c3D' (in 3-component vector of float)

 0:?     'c4D' (smooth temp 4-component vector of float)

 0:?     'v4' (uniform 4-component vector of float)

-0:?     'gl_ClipDistance' (smooth out 2-element array of float)

-0:?     'gl_TexCoord' (smooth out 1-element array of 4-component vector of float)

+0:?     'gl_ClipDistance' (smooth out 2-element array of float ClipDistance)

+0:?     'gl_TexCoord' (smooth out 1-element array of 4-component vector of float TexCoord)

 0:?     'abc' (global int)

-0:?     'gl_VertexID' (gl_VertexId int)

+0:?     'gl_VertexID' (gl_VertexId int VertexId)

 

diff --git a/Test/baseResults/140.frag.out b/Test/baseResults/140.frag.out
index d158f6e..8af2967 100644
--- a/Test/baseResults/140.frag.out
+++ b/Test/baseResults/140.frag.out
@@ -21,8 +21,8 @@
 0:12      Sequence

 0:12        move second child to first child (temp float)

 0:12          'clip' (temp float)

-0:12          direct index (smooth temp float)

-0:12            'gl_ClipDistance' (smooth in 5-element array of float)

+0:12          direct index (smooth temp float ClipDistance)

+0:12            'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)

 0:12            Constant:

 0:12              2 (const int)

 0:22  Sequence

@@ -80,7 +80,7 @@
 0:47      'i1' (global float)

 0:47      Test condition and select (temp float)

 0:47        Condition

-0:47        'gl_FrontFacing' (gl_FrontFacing bool)

+0:47        'gl_FrontFacing' (gl_FrontFacing bool Face)

 0:47        true case

 0:47        Constant:

 0:47          -2.000000

@@ -103,8 +103,8 @@
 0:?     'v' (smooth in 4-component vector of float)

 0:?     'i' (smooth in 4-component vector of float)

 0:?     'o' (out 4-component vector of float)

-0:?     'gl_ClipDistance' (smooth in 5-element array of float)

-0:?     'gl_ClipDistance' (smooth in 5-element array of float)

+0:?     'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)

+0:?     'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)

 0:?     's' (smooth in structure{global float f})

 0:?     'patch' (global float)

 0:?     'vl' (layout(location=3 ) smooth in 4-component vector of float)

@@ -128,8 +128,8 @@
 0:12      Sequence

 0:12        move second child to first child (temp float)

 0:12          'clip' (temp float)

-0:12          direct index (smooth temp float)

-0:12            'gl_ClipDistance' (smooth in 5-element array of float)

+0:12          direct index (smooth temp float ClipDistance)

+0:12            'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)

 0:12            Constant:

 0:12              2 (const int)

 0:22  Sequence

@@ -187,7 +187,7 @@
 0:47      'i1' (global float)

 0:47      Test condition and select (temp float)

 0:47        Condition

-0:47        'gl_FrontFacing' (gl_FrontFacing bool)

+0:47        'gl_FrontFacing' (gl_FrontFacing bool Face)

 0:47        true case

 0:47        Constant:

 0:47          -2.000000

@@ -210,8 +210,8 @@
 0:?     'v' (smooth in 4-component vector of float)

 0:?     'i' (smooth in 4-component vector of float)

 0:?     'o' (out 4-component vector of float)

-0:?     'gl_ClipDistance' (smooth in 5-element array of float)

-0:?     'gl_ClipDistance' (smooth in 5-element array of float)

+0:?     'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)

+0:?     'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)

 0:?     's' (smooth in structure{global float f})

 0:?     'patch' (global float)

 0:?     'vl' (layout(location=3 ) smooth in 4-component vector of float)

diff --git a/Test/baseResults/140.vert.out b/Test/baseResults/140.vert.out
index 0e1994e..5f5287a 100644
--- a/Test/baseResults/140.vert.out
+++ b/Test/baseResults/140.vert.out
@@ -22,7 +22,7 @@
 0:11      Sequence

 0:11        move second child to first child (temp int)

 0:11          'id' (temp int)

-0:11          'gl_InstanceID' (gl_InstanceId int)

+0:11          'gl_InstanceID' (gl_InstanceId int InstanceId)

 0:12      add second child into first child (temp int)

 0:12        'id' (temp int)

 0:12        anonMem: direct index for structure (layout(column_major std140 offset=0 ) uniform int)

@@ -38,8 +38,8 @@
 0:13              8 (const int)

 0:13          Constant:

 0:13            3 (const int)

-0:14      'gl_ClipVertex' (gl_ClipVertex 4-component vector of float)

-0:15      'gl_Color' (in 4-component vector of float)

+0:14      'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)

+0:15      'gl_Color' (in 4-component vector of float Color)

 0:16      direct index (temp structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})

 0:16        'gl_LightSource' (uniform 32-element array of structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})

 0:16        Constant:

@@ -48,9 +48,9 @@
 0:17        'gl_DepthRange' (uniform structure{global float near, global float far, global float diff})

 0:17        Constant:

 0:17          1 (const int)

-0:18      'gl_TexCoord' (smooth out implicitly-sized array of 4-component vector of float)

-0:19      'gl_FogFragCoord' (smooth out float)

-0:20      'gl_FrontColor' (smooth out 4-component vector of float)

+0:18      'gl_TexCoord' (smooth out implicitly-sized array of 4-component vector of float TexCoord)

+0:19      'gl_FogFragCoord' (smooth out float FogFragCoord)

+0:20      'gl_FrontColor' (smooth out 4-component vector of float FrontColor)

 0:48  Function Definition: foo( (global void)

 0:48    Function Parameters: 

 0:50    Sequence

@@ -119,24 +119,24 @@
 0:?   Linker Objects

 0:?     'sbuf' (uniform isamplerBuffer)

 0:?     'anon@0' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform int anonMem})

-0:?     'gl_TexCoord' (smooth out implicitly-sized array of 4-component vector of float)

+0:?     'gl_TexCoord' (smooth out implicitly-sized array of 4-component vector of float TexCoord)

 0:?     'gl_Position' (smooth out 4-component vector of float)

 0:?     'locBad' (layout(location=9 ) in 4-component vector of float)

 0:?     'loc' (layout(location=9 ) in 4-component vector of float)

-0:?     'gl_PointSize' (gl_PointSize float)

-0:?     'gl_PointSize' (gl_PointSize float)

-0:?     'gl_ClipVertex' (gl_ClipVertex 4-component vector of float)

-0:?     'gl_ClipVertex' (gl_ClipVertex 4-component vector of float)

-0:?     'gl_FogFragCoord' (smooth out float)

-0:?     'gl_FogFragCoord' (smooth out float)

+0:?     'gl_PointSize' (gl_PointSize float PointSize)

+0:?     'gl_PointSize' (gl_PointSize float PointSize)

+0:?     'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)

+0:?     'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)

+0:?     'gl_FogFragCoord' (smooth out float FogFragCoord)

+0:?     'gl_FogFragCoord' (smooth out float FogFragCoord)

 0:?     's2dr' (uniform sampler2DRect)

 0:?     's2drs' (uniform sampler2DRectShadow)

 0:?     'itloc2' (in 2-component vector of int)

 0:?     'tloc2' (in 2-component vector of float)

 0:?     'tloc3' (in 3-component vector of float)

 0:?     'tloc4' (in 4-component vector of float)

-0:?     'gl_VertexID' (gl_VertexId int)

-0:?     'gl_InstanceID' (gl_InstanceId int)

+0:?     'gl_VertexID' (gl_VertexId int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId int InstanceId)

 

 

 Linked vertex stage:

@@ -152,7 +152,7 @@
 0:11      Sequence

 0:11        move second child to first child (temp int)

 0:11          'id' (temp int)

-0:11          'gl_InstanceID' (gl_InstanceId int)

+0:11          'gl_InstanceID' (gl_InstanceId int InstanceId)

 0:12      add second child into first child (temp int)

 0:12        'id' (temp int)

 0:12        anonMem: direct index for structure (layout(column_major std140 offset=0 ) uniform int)

@@ -168,8 +168,8 @@
 0:13              8 (const int)

 0:13          Constant:

 0:13            3 (const int)

-0:14      'gl_ClipVertex' (gl_ClipVertex 4-component vector of float)

-0:15      'gl_Color' (in 4-component vector of float)

+0:14      'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)

+0:15      'gl_Color' (in 4-component vector of float Color)

 0:16      direct index (temp structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})

 0:16        'gl_LightSource' (uniform 32-element array of structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})

 0:16        Constant:

@@ -178,9 +178,9 @@
 0:17        'gl_DepthRange' (uniform structure{global float near, global float far, global float diff})

 0:17        Constant:

 0:17          1 (const int)

-0:18      'gl_TexCoord' (smooth out 1-element array of 4-component vector of float)

-0:19      'gl_FogFragCoord' (smooth out float)

-0:20      'gl_FrontColor' (smooth out 4-component vector of float)

+0:18      'gl_TexCoord' (smooth out 1-element array of 4-component vector of float TexCoord)

+0:19      'gl_FogFragCoord' (smooth out float FogFragCoord)

+0:20      'gl_FrontColor' (smooth out 4-component vector of float FrontColor)

 0:48  Function Definition: foo( (global void)

 0:48    Function Parameters: 

 0:50    Sequence

@@ -249,22 +249,22 @@
 0:?   Linker Objects

 0:?     'sbuf' (uniform isamplerBuffer)

 0:?     'anon@0' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform int anonMem})

-0:?     'gl_TexCoord' (smooth out 1-element array of 4-component vector of float)

+0:?     'gl_TexCoord' (smooth out 1-element array of 4-component vector of float TexCoord)

 0:?     'gl_Position' (smooth out 4-component vector of float)

 0:?     'locBad' (layout(location=9 ) in 4-component vector of float)

 0:?     'loc' (layout(location=9 ) in 4-component vector of float)

-0:?     'gl_PointSize' (gl_PointSize float)

-0:?     'gl_PointSize' (gl_PointSize float)

-0:?     'gl_ClipVertex' (gl_ClipVertex 4-component vector of float)

-0:?     'gl_ClipVertex' (gl_ClipVertex 4-component vector of float)

-0:?     'gl_FogFragCoord' (smooth out float)

-0:?     'gl_FogFragCoord' (smooth out float)

+0:?     'gl_PointSize' (gl_PointSize float PointSize)

+0:?     'gl_PointSize' (gl_PointSize float PointSize)

+0:?     'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)

+0:?     'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)

+0:?     'gl_FogFragCoord' (smooth out float FogFragCoord)

+0:?     'gl_FogFragCoord' (smooth out float FogFragCoord)

 0:?     's2dr' (uniform sampler2DRect)

 0:?     's2drs' (uniform sampler2DRectShadow)

 0:?     'itloc2' (in 2-component vector of int)

 0:?     'tloc2' (in 2-component vector of float)

 0:?     'tloc3' (in 3-component vector of float)

 0:?     'tloc4' (in 4-component vector of float)

-0:?     'gl_VertexID' (gl_VertexId int)

-0:?     'gl_InstanceID' (gl_InstanceId int)

+0:?     'gl_VertexID' (gl_VertexId int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId int InstanceId)

 

diff --git a/Test/baseResults/150.frag.out b/Test/baseResults/150.frag.out
index c3d4fcd..f285c7a 100644
--- a/Test/baseResults/150.frag.out
+++ b/Test/baseResults/150.frag.out
@@ -16,7 +16,7 @@
 0:11      Sequence

 0:11        move second child to first child (temp 4-component vector of float)

 0:11          'c' (temp 4-component vector of float)

-0:11          'gl_FragCoord' (gl_FragCoord 4-component vector of float)

+0:11          'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)

 0:18  Sequence

 0:18    move second child to first child (temp float)

 0:18      'patch' (global float)

@@ -102,8 +102,8 @@
 0:44            'p3' (flat in 3-component vector of int)

 0:44            'samp' (flat in int)

 0:?   Linker Objects

-0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float)

-0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float)

+0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)

+0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)

 0:?     'foo' (smooth in 4-component vector of float)

 0:?     's' (smooth in structure{global float f})

 0:?     'patch' (global float)

@@ -131,7 +131,7 @@
 0:11      Sequence

 0:11        move second child to first child (temp 4-component vector of float)

 0:11          'c' (temp 4-component vector of float)

-0:11          'gl_FragCoord' (gl_FragCoord 4-component vector of float)

+0:11          'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)

 0:18  Sequence

 0:18    move second child to first child (temp float)

 0:18      'patch' (global float)

@@ -217,8 +217,8 @@
 0:44            'p3' (flat in 3-component vector of int)

 0:44            'samp' (flat in int)

 0:?   Linker Objects

-0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float)

-0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float)

+0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)

+0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)

 0:?     'foo' (smooth in 4-component vector of float)

 0:?     's' (smooth in structure{global float f})

 0:?     'patch' (global float)

diff --git a/Test/baseResults/150.geom.out b/Test/baseResults/150.geom.out
index 728e283..1599317 100644
--- a/Test/baseResults/150.geom.out
+++ b/Test/baseResults/150.geom.out
@@ -66,17 +66,17 @@
 0:32          Constant:

 0:32            0 (const int)

 0:33      move second child to first child (temp float)

-0:33        direct index (layout(stream=0 ) temp float)

-0:33          gl_ClipDistance: direct index for structure (layout(stream=0 ) out implicitly-sized array of float)

-0:33            'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float gl_Position, layout(stream=0 ) gl_PointSize float gl_PointSize, layout(stream=0 ) out implicitly-sized array of float gl_ClipDistance})

+0:33        direct index (layout(stream=0 ) temp float ClipDistance)

+0:33          gl_ClipDistance: direct index for structure (layout(stream=0 ) out implicitly-sized array of float ClipDistance)

+0:33            'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:33            Constant:

 0:33              2 (const uint)

 0:33          Constant:

 0:33            3 (const int)

-0:33        direct index (temp float)

-0:33          gl_ClipDistance: direct index for structure (in implicitly-sized array of float)

-0:33            direct index (temp block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})

-0:33              'gl_in' (in 4-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})

+0:33        direct index (temp float ClipDistance)

+0:33          gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance)

+0:33            direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})

+0:33              'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:33              Constant:

 0:33                1 (const int)

 0:33            Constant:

@@ -84,34 +84,34 @@
 0:33          Constant:

 0:33            2 (const int)

 0:34      move second child to first child (temp 4-component vector of float)

-0:34        gl_Position: direct index for structure (layout(stream=0 ) gl_Position 4-component vector of float)

-0:34          'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float gl_Position, layout(stream=0 ) gl_PointSize float gl_PointSize, layout(stream=0 ) out implicitly-sized array of float gl_ClipDistance})

+0:34        gl_Position: direct index for structure (layout(stream=0 ) gl_Position 4-component vector of float Position)

+0:34          'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:34          Constant:

 0:34            0 (const uint)

-0:34        gl_Position: direct index for structure (in 4-component vector of float)

-0:34          direct index (temp block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})

-0:34            'gl_in' (in 4-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})

+0:34        gl_Position: direct index for structure (in 4-component vector of float Position)

+0:34          direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})

+0:34            'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:34            Constant:

 0:34              0 (const int)

 0:34          Constant:

 0:34            0 (const int)

 0:35      move second child to first child (temp float)

-0:35        gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize float)

-0:35          'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float gl_Position, layout(stream=0 ) gl_PointSize float gl_PointSize, layout(stream=0 ) out implicitly-sized array of float gl_ClipDistance})

+0:35        gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize float PointSize)

+0:35          'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:35          Constant:

 0:35            1 (const uint)

-0:35        gl_PointSize: direct index for structure (in float)

-0:35          direct index (temp block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})

-0:35            'gl_in' (in 4-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})

+0:35        gl_PointSize: direct index for structure (in float PointSize)

+0:35          direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})

+0:35            'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:35            Constant:

 0:35              3 (const int)

 0:35          Constant:

 0:35            1 (const int)

 0:36      move second child to first child (temp int)

-0:36        'gl_PrimitiveID' (layout(stream=0 ) out int)

+0:36        'gl_PrimitiveID' (layout(stream=0 ) out int PrimitiveID)

 0:36        'gl_PrimitiveIDIn' (in int)

 0:37      move second child to first child (temp int)

-0:37        'gl_Layer' (layout(stream=0 ) out int)

+0:37        'gl_Layer' (layout(stream=0 ) out int Layer)

 0:37        Constant:

 0:37          2 (const int)

 0:67  Function Definition: foo(i1; (global void)

@@ -137,22 +137,22 @@
 0:127    Function Parameters: 

 0:129    Sequence

 0:129      move second child to first child (temp int)

-0:129        'gl_ViewportIndex' (layout(stream=0 ) out int)

+0:129        'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex)

 0:129        Constant:

 0:129          15 (const int)

 0:134  Function Definition: fooe2( (global void)

 0:134    Function Parameters: 

 0:136    Sequence

 0:136      move second child to first child (temp int)

-0:136        'gl_ViewportIndex' (layout(stream=0 ) out int)

+0:136        'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex)

 0:136        Constant:

 0:136          15 (const int)

 0:?   Linker Objects

 0:?     'fromV' (in 4-element array of block{in 3-component vector of float color})

 0:?     'toF' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})

 0:?     'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})

-0:?     'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float gl_Position, layout(stream=0 ) gl_PointSize float gl_PointSize, layout(stream=0 ) out implicitly-sized array of float gl_ClipDistance})

-0:?     'gl_in' (in 4-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})

+0:?     'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out implicitly-sized array of float ClipDistance gl_ClipDistance})

+0:?     'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:?     'ov0' (layout(stream=0 ) out 4-component vector of float)

 0:?     'ov4' (layout(stream=4 ) out 4-component vector of float)

 0:?     'o1v0' (layout(stream=0 ) out 4-component vector of float)

@@ -207,17 +207,17 @@
 0:32          Constant:

 0:32            0 (const int)

 0:33      move second child to first child (temp float)

-0:33        direct index (layout(stream=0 ) temp float)

-0:33          gl_ClipDistance: direct index for structure (layout(stream=0 ) out 4-element array of float)

-0:33            'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float gl_Position, layout(stream=0 ) gl_PointSize float gl_PointSize, layout(stream=0 ) out 4-element array of float gl_ClipDistance})

+0:33        direct index (layout(stream=0 ) temp float ClipDistance)

+0:33          gl_ClipDistance: direct index for structure (layout(stream=0 ) out 4-element array of float ClipDistance)

+0:33            'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out 4-element array of float ClipDistance gl_ClipDistance})

 0:33            Constant:

 0:33              2 (const uint)

 0:33          Constant:

 0:33            3 (const int)

-0:33        direct index (temp float)

-0:33          gl_ClipDistance: direct index for structure (in 1-element array of float)

-0:33            direct index (temp block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})

-0:33              'gl_in' (in 4-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})

+0:33        direct index (temp float ClipDistance)

+0:33          gl_ClipDistance: direct index for structure (in 1-element array of float ClipDistance)

+0:33            direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})

+0:33              'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})

 0:33              Constant:

 0:33                1 (const int)

 0:33            Constant:

@@ -225,34 +225,34 @@
 0:33          Constant:

 0:33            2 (const int)

 0:34      move second child to first child (temp 4-component vector of float)

-0:34        gl_Position: direct index for structure (layout(stream=0 ) gl_Position 4-component vector of float)

-0:34          'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float gl_Position, layout(stream=0 ) gl_PointSize float gl_PointSize, layout(stream=0 ) out 4-element array of float gl_ClipDistance})

+0:34        gl_Position: direct index for structure (layout(stream=0 ) gl_Position 4-component vector of float Position)

+0:34          'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out 4-element array of float ClipDistance gl_ClipDistance})

 0:34          Constant:

 0:34            0 (const uint)

-0:34        gl_Position: direct index for structure (in 4-component vector of float)

-0:34          direct index (temp block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})

-0:34            'gl_in' (in 4-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})

+0:34        gl_Position: direct index for structure (in 4-component vector of float Position)

+0:34          direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})

+0:34            'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})

 0:34            Constant:

 0:34              0 (const int)

 0:34          Constant:

 0:34            0 (const int)

 0:35      move second child to first child (temp float)

-0:35        gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize float)

-0:35          'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float gl_Position, layout(stream=0 ) gl_PointSize float gl_PointSize, layout(stream=0 ) out 4-element array of float gl_ClipDistance})

+0:35        gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize float PointSize)

+0:35          'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out 4-element array of float ClipDistance gl_ClipDistance})

 0:35          Constant:

 0:35            1 (const uint)

-0:35        gl_PointSize: direct index for structure (in float)

-0:35          direct index (temp block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})

-0:35            'gl_in' (in 4-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})

+0:35        gl_PointSize: direct index for structure (in float PointSize)

+0:35          direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})

+0:35            'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})

 0:35            Constant:

 0:35              3 (const int)

 0:35          Constant:

 0:35            1 (const int)

 0:36      move second child to first child (temp int)

-0:36        'gl_PrimitiveID' (layout(stream=0 ) out int)

+0:36        'gl_PrimitiveID' (layout(stream=0 ) out int PrimitiveID)

 0:36        'gl_PrimitiveIDIn' (in int)

 0:37      move second child to first child (temp int)

-0:37        'gl_Layer' (layout(stream=0 ) out int)

+0:37        'gl_Layer' (layout(stream=0 ) out int Layer)

 0:37        Constant:

 0:37          2 (const int)

 0:67  Function Definition: foo(i1; (global void)

@@ -278,22 +278,22 @@
 0:127    Function Parameters: 

 0:129    Sequence

 0:129      move second child to first child (temp int)

-0:129        'gl_ViewportIndex' (layout(stream=0 ) out int)

+0:129        'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex)

 0:129        Constant:

 0:129          15 (const int)

 0:134  Function Definition: fooe2( (global void)

 0:134    Function Parameters: 

 0:136    Sequence

 0:136      move second child to first child (temp int)

-0:136        'gl_ViewportIndex' (layout(stream=0 ) out int)

+0:136        'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex)

 0:136        Constant:

 0:136          15 (const int)

 0:?   Linker Objects

 0:?     'fromV' (in 4-element array of block{in 3-component vector of float color})

 0:?     'toF' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})

 0:?     'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})

-0:?     'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float gl_Position, layout(stream=0 ) gl_PointSize float gl_PointSize, layout(stream=0 ) out 4-element array of float gl_ClipDistance})

-0:?     'gl_in' (in 4-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})

+0:?     'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out 4-element array of float ClipDistance gl_ClipDistance})

+0:?     'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})

 0:?     'ov0' (layout(stream=0 ) out 4-component vector of float)

 0:?     'ov4' (layout(stream=4 ) out 4-component vector of float)

 0:?     'o1v0' (layout(stream=0 ) out 4-component vector of float)

diff --git a/Test/baseResults/150.tesc.out b/Test/baseResults/150.tesc.out
index 3ff57e6..5daa97d 100644
--- a/Test/baseResults/150.tesc.out
+++ b/Test/baseResults/150.tesc.out
@@ -49,38 +49,38 @@
 0:24      Sequence

 0:24        move second child to first child (temp int)

 0:24          'pvi' (temp int)

-0:24          'gl_PatchVerticesIn' (in int)

+0:24          'gl_PatchVerticesIn' (in int PatchVertices)

 0:25      Sequence

 0:25        move second child to first child (temp int)

 0:25          'pid' (temp int)

-0:25          'gl_PrimitiveID' (in int)

+0:25          'gl_PrimitiveID' (in int PrimitiveID)

 0:26      Sequence

 0:26        move second child to first child (temp int)

 0:26          'iid' (temp int)

-0:26          'gl_InvocationID' (in int)

+0:26          'gl_InvocationID' (in int InvocationID)

 0:28      move second child to first child (temp 4-component vector of float)

-0:28        gl_Position: direct index for structure (out 4-component vector of float)

-0:28          direct index (temp block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

-0:28            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

+0:28        gl_Position: direct index for structure (out 4-component vector of float Position)

+0:28          direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

+0:28            'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:28            Constant:

 0:28              1 (const int)

 0:28          Constant:

 0:28            0 (const int)

 0:28        'p' (temp 4-component vector of float)

 0:29      move second child to first child (temp float)

-0:29        gl_PointSize: direct index for structure (out float)

-0:29          direct index (temp block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

-0:29            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

+0:29        gl_PointSize: direct index for structure (out float PointSize)

+0:29          direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

+0:29            'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:29            Constant:

 0:29              1 (const int)

 0:29          Constant:

 0:29            1 (const int)

 0:29        'ps' (temp float)

 0:30      move second child to first child (temp float)

-0:30        direct index (temp float)

-0:30          gl_ClipDistance: direct index for structure (out implicitly-sized array of float)

-0:30            direct index (temp block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

-0:30              'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

+0:30        direct index (temp float ClipDistance)

+0:30          gl_ClipDistance: direct index for structure (out implicitly-sized array of float ClipDistance)

+0:30            direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

+0:30              'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:30              Constant:

 0:30                1 (const int)

 0:30            Constant:

@@ -89,21 +89,21 @@
 0:30            1 (const int)

 0:30        'cd' (temp float)

 0:32      move second child to first child (temp float)

-0:32        direct index (patch temp float)

-0:32          'gl_TessLevelOuter' (patch out 4-element array of float)

+0:32        direct index (patch temp float TessLevelOuter)

+0:32          'gl_TessLevelOuter' (patch out 4-element array of float TessLevelOuter)

 0:32          Constant:

 0:32            3 (const int)

 0:32        Constant:

 0:32          3.200000

 0:33      move second child to first child (temp float)

-0:33        direct index (patch temp float)

-0:33          'gl_TessLevelInner' (patch out 2-element array of float)

+0:33        direct index (patch temp float TessLevelInner)

+0:33          'gl_TessLevelInner' (patch out 2-element array of float TessLevelInner)

 0:33          Constant:

 0:33            1 (const int)

 0:33        Constant:

 0:33          1.300000

 0:?   Linker Objects

-0:?     'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

+0:?     'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:?     'outa' (global 4-element array of int)

 0:?     'patchOut' (patch out 4-component vector of float)

 

@@ -165,45 +165,45 @@
 0:26      Sequence

 0:26        move second child to first child (temp int)

 0:26          'pvi' (temp int)

-0:26          'gl_PatchVerticesIn' (in int)

+0:26          'gl_PatchVerticesIn' (in int PatchVertices)

 0:27      Sequence

 0:27        move second child to first child (temp int)

 0:27          'pid' (temp int)

-0:27          'gl_PrimitiveID' (in int)

+0:27          'gl_PrimitiveID' (in int PrimitiveID)

 0:28      Sequence

 0:28        move second child to first child (temp 3-component vector of float)

 0:28          'tc' (temp 3-component vector of float)

-0:28          'gl_TessCoord' (in 3-component vector of float)

+0:28          'gl_TessCoord' (in 3-component vector of float TessCoord)

 0:29      Sequence

 0:29        move second child to first child (temp float)

 0:29          'tlo' (temp float)

-0:29          direct index (patch temp float)

-0:29            'gl_TessLevelOuter' (patch in 4-element array of float)

+0:29          direct index (patch temp float TessLevelOuter)

+0:29            'gl_TessLevelOuter' (patch in 4-element array of float TessLevelOuter)

 0:29            Constant:

 0:29              3 (const int)

 0:30      Sequence

 0:30        move second child to first child (temp float)

 0:30          'tli' (temp float)

-0:30          direct index (patch temp float)

-0:30            'gl_TessLevelInner' (patch in 2-element array of float)

+0:30          direct index (patch temp float TessLevelInner)

+0:30            'gl_TessLevelInner' (patch in 2-element array of float TessLevelInner)

 0:30            Constant:

 0:30              1 (const int)

 0:32      move second child to first child (temp 4-component vector of float)

-0:32        gl_Position: direct index for structure (gl_Position 4-component vector of float)

-0:32          'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

+0:32        gl_Position: direct index for structure (gl_Position 4-component vector of float Position)

+0:32          'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:32          Constant:

 0:32            0 (const uint)

 0:32        'p' (temp 4-component vector of float)

 0:33      move second child to first child (temp float)

-0:33        gl_PointSize: direct index for structure (gl_PointSize float)

-0:33          'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

+0:33        gl_PointSize: direct index for structure (gl_PointSize float PointSize)

+0:33          'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:33          Constant:

 0:33            1 (const uint)

 0:33        'ps' (temp float)

 0:34      move second child to first child (temp float)

-0:34        direct index (temp float)

-0:34          gl_ClipDistance: direct index for structure (out implicitly-sized array of float)

-0:34            'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

+0:34        direct index (temp float ClipDistance)

+0:34          gl_ClipDistance: direct index for structure (out implicitly-sized array of float ClipDistance)

+0:34            'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:34            Constant:

 0:34              2 (const uint)

 0:34          Constant:

@@ -211,7 +211,7 @@
 0:34        'cd' (temp float)

 0:?   Linker Objects

 0:?     'patchIn' (patch in 4-component vector of float)

-0:?     'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

+0:?     'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

 

 400.tesc

 Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.

@@ -285,38 +285,38 @@
 0:27      Sequence

 0:27        move second child to first child (temp int)

 0:27          'pvi' (temp int)

-0:27          'gl_PatchVerticesIn' (in int)

+0:27          'gl_PatchVerticesIn' (in int PatchVertices)

 0:28      Sequence

 0:28        move second child to first child (temp int)

 0:28          'pid' (temp int)

-0:28          'gl_PrimitiveID' (in int)

+0:28          'gl_PrimitiveID' (in int PrimitiveID)

 0:29      Sequence

 0:29        move second child to first child (temp int)

 0:29          'iid' (temp int)

-0:29          'gl_InvocationID' (in int)

+0:29          'gl_InvocationID' (in int InvocationID)

 0:31      move second child to first child (temp 4-component vector of float)

-0:31        gl_Position: direct index for structure (out 4-component vector of float)

-0:31          direct index (temp block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

-0:31            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

+0:31        gl_Position: direct index for structure (out 4-component vector of float Position)

+0:31          direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

+0:31            'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:31            Constant:

 0:31              1 (const int)

 0:31          Constant:

 0:31            0 (const int)

 0:31        'p' (temp 4-component vector of float)

 0:32      move second child to first child (temp float)

-0:32        gl_PointSize: direct index for structure (out float)

-0:32          direct index (temp block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

-0:32            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

+0:32        gl_PointSize: direct index for structure (out float PointSize)

+0:32          direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

+0:32            'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:32            Constant:

 0:32              1 (const int)

 0:32          Constant:

 0:32            1 (const int)

 0:32        'ps' (temp float)

 0:33      move second child to first child (temp float)

-0:33        direct index (temp float)

-0:33          gl_ClipDistance: direct index for structure (out implicitly-sized array of float)

-0:33            direct index (temp block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

-0:33              'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

+0:33        direct index (temp float ClipDistance)

+0:33          gl_ClipDistance: direct index for structure (out implicitly-sized array of float ClipDistance)

+0:33            direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

+0:33              'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:33              Constant:

 0:33                1 (const int)

 0:33            Constant:

@@ -325,15 +325,15 @@
 0:33            1 (const int)

 0:33        'cd' (temp float)

 0:35      move second child to first child (temp float)

-0:35        direct index (patch temp float)

-0:35          'gl_TessLevelOuter' (patch out 4-element array of float)

+0:35        direct index (patch temp float TessLevelOuter)

+0:35          'gl_TessLevelOuter' (patch out 4-element array of float TessLevelOuter)

 0:35          Constant:

 0:35            3 (const int)

 0:35        Constant:

 0:35          3.200000

 0:36      move second child to first child (temp float)

-0:36        direct index (patch temp float)

-0:36          'gl_TessLevelInner' (patch out 2-element array of float)

+0:36        direct index (patch temp float TessLevelInner)

+0:36          'gl_TessLevelInner' (patch out 2-element array of float TessLevelInner)

 0:36          Constant:

 0:36            1 (const int)

 0:36        Constant:

@@ -386,9 +386,9 @@
 0:67  Function Definition: foo( (global void)

 0:67    Function Parameters: 

 0:69    Sequence

-0:69      gl_PointSize: direct index for structure (out float)

-0:69        direct index (temp block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

-0:69          'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

+0:69      gl_PointSize: direct index for structure (out float PointSize)

+0:69        direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

+0:69          'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:69          Constant:

 0:69            4 (const int)

 0:69        Constant:

@@ -413,7 +413,7 @@
 0:97          'd' (temp double)

 0:97          'd' (temp double)

 0:?   Linker Objects

-0:?     'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

+0:?     'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:?     'outa' (global 4-element array of int)

 0:?     'patchIn' (patch in 4-component vector of float)

 0:?     'patchOut' (patch out 4-component vector of float)

@@ -518,45 +518,45 @@
 0:36      Sequence

 0:36        move second child to first child (temp int)

 0:36          'pvi' (temp int)

-0:36          'gl_PatchVerticesIn' (in int)

+0:36          'gl_PatchVerticesIn' (in int PatchVertices)

 0:37      Sequence

 0:37        move second child to first child (temp int)

 0:37          'pid' (temp int)

-0:37          'gl_PrimitiveID' (in int)

+0:37          'gl_PrimitiveID' (in int PrimitiveID)

 0:38      Sequence

 0:38        move second child to first child (temp 3-component vector of float)

 0:38          'tc' (temp 3-component vector of float)

-0:38          'gl_TessCoord' (in 3-component vector of float)

+0:38          'gl_TessCoord' (in 3-component vector of float TessCoord)

 0:39      Sequence

 0:39        move second child to first child (temp float)

 0:39          'tlo' (temp float)

-0:39          direct index (patch temp float)

-0:39            'gl_TessLevelOuter' (patch in 4-element array of float)

+0:39          direct index (patch temp float TessLevelOuter)

+0:39            'gl_TessLevelOuter' (patch in 4-element array of float TessLevelOuter)

 0:39            Constant:

 0:39              3 (const int)

 0:40      Sequence

 0:40        move second child to first child (temp float)

 0:40          'tli' (temp float)

-0:40          direct index (patch temp float)

-0:40            'gl_TessLevelInner' (patch in 2-element array of float)

+0:40          direct index (patch temp float TessLevelInner)

+0:40            'gl_TessLevelInner' (patch in 2-element array of float TessLevelInner)

 0:40            Constant:

 0:40              1 (const int)

 0:42      move second child to first child (temp 4-component vector of float)

-0:42        gl_Position: direct index for structure (gl_Position 4-component vector of float)

-0:42          'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

+0:42        gl_Position: direct index for structure (gl_Position 4-component vector of float Position)

+0:42          'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:42          Constant:

 0:42            0 (const uint)

 0:42        'p' (temp 4-component vector of float)

 0:43      move second child to first child (temp float)

-0:43        gl_PointSize: direct index for structure (gl_PointSize float)

-0:43          'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

+0:43        gl_PointSize: direct index for structure (gl_PointSize float PointSize)

+0:43          'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:43          Constant:

 0:43            1 (const uint)

 0:43        'ps' (temp float)

 0:44      move second child to first child (temp float)

-0:44        direct index (temp float)

-0:44          gl_ClipDistance: direct index for structure (out implicitly-sized array of float)

-0:44            'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

+0:44        direct index (temp float ClipDistance)

+0:44          gl_ClipDistance: direct index for structure (out implicitly-sized array of float ClipDistance)

+0:44            'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:44            Constant:

 0:44              2 (const uint)

 0:44          Constant:

@@ -565,7 +565,7 @@
 0:?   Linker Objects

 0:?     'patchIn' (patch in 4-component vector of float)

 0:?     'patchOut' (patch out 4-component vector of float)

-0:?     'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

+0:?     'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:?     'badp1' (smooth patch in 4-component vector of float)

 0:?     'badp2' (flat patch in 4-component vector of float)

 0:?     'badp3' (noperspective patch in 4-component vector of float)

@@ -598,7 +598,7 @@
 0:8  Function Definition: main( (global void)

 0:8    Function Parameters: 

 0:?   Linker Objects

-0:?     'gl_out' (out implicitly-sized array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

+0:?     'gl_out' (out implicitly-sized array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:?     'outa' (global 1-element array of int)

 0:?     'patchOut' (patch out 4-component vector of float)

 

@@ -608,7 +608,7 @@
 ERROR: 0:11: 'vertices' : inconsistent output number of vertices for array size of a

 ERROR: 0:12: 'vertices' : inconsistent output number of vertices for array size of outb

 ERROR: 0:26: 'gl_PointSize' : no such field in structure 

-ERROR: 0:26: 'assign' :  cannot convert from 'temp float' to 'temp block{out 4-component vector of float gl_Position}'

+ERROR: 0:26: 'assign' :  cannot convert from 'temp float' to 'temp block{out 4-component vector of float Position gl_Position}'

 ERROR: 0:29: 'out' : type must be an array: outf

 ERROR: 6 compilation errors.  No code generated.

 

@@ -656,26 +656,26 @@
 0:21      Sequence

 0:21        move second child to first child (temp int)

 0:21          'pvi' (temp int)

-0:21          'gl_PatchVerticesIn' (in int)

+0:21          'gl_PatchVerticesIn' (in int PatchVertices)

 0:22      Sequence

 0:22        move second child to first child (temp int)

 0:22          'pid' (temp int)

-0:22          'gl_PrimitiveID' (in int)

+0:22          'gl_PrimitiveID' (in int PrimitiveID)

 0:23      Sequence

 0:23        move second child to first child (temp int)

 0:23          'iid' (temp int)

-0:23          'gl_InvocationID' (in int)

+0:23          'gl_InvocationID' (in int InvocationID)

 0:25      move second child to first child (temp 4-component vector of float)

-0:25        gl_Position: direct index for structure (out 4-component vector of float)

-0:25          direct index (temp block{out 4-component vector of float gl_Position})

-0:25            'gl_out' (out 3-element array of block{out 4-component vector of float gl_Position})

+0:25        gl_Position: direct index for structure (out 4-component vector of float Position)

+0:25          direct index (temp block{out 4-component vector of float Position gl_Position})

+0:25            'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})

 0:25            Constant:

 0:25              1 (const int)

 0:25          Constant:

 0:25            0 (const int)

 0:25        'p' (temp 4-component vector of float)

-0:26      direct index (temp block{out 4-component vector of float gl_Position})

-0:26        'gl_out' (out 3-element array of block{out 4-component vector of float gl_Position})

+0:26      direct index (temp block{out 4-component vector of float Position gl_Position})

+0:26        'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})

 0:26        Constant:

 0:26          1 (const int)

 0:34  Function Definition: foo( (global void)

@@ -714,7 +714,7 @@
 0:37                0 (const int)

 0:36        true case is null

 0:?   Linker Objects

-0:?     'gl_out' (out 3-element array of block{out 4-component vector of float gl_Position})

+0:?     'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})

 0:?     'a' (out 3-element array of int)

 0:?     'outb' (out 5-element array of int)

 0:?     'outc' (out 4-element array of int)

@@ -896,7 +896,7 @@
 ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:

     main(

 ERROR: Linking tessellation control stage: Types must match:

-    gl_out: "out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}" versus "out implicitly-sized array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}"

+    gl_out: "out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}" versus "out implicitly-sized array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}"

 ERROR: Linking tessellation control stage: Types must match:

     outa: "global 4-element array of int" versus "global 1-element array of int"

 ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:

@@ -908,7 +908,7 @@
 ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:

     main(

 ERROR: Linking tessellation control stage: Types must match:

-    gl_out: "out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}" versus "out 3-element array of block{out 4-component vector of float gl_Position}"

+    gl_out: "out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}" versus "out 3-element array of block{out 4-component vector of float Position gl_Position}"

 

 Linked tessellation evaluation stage:

 

@@ -972,38 +972,38 @@
 0:24      Sequence

 0:24        move second child to first child (temp int)

 0:24          'pvi' (temp int)

-0:24          'gl_PatchVerticesIn' (in int)

+0:24          'gl_PatchVerticesIn' (in int PatchVertices)

 0:25      Sequence

 0:25        move second child to first child (temp int)

 0:25          'pid' (temp int)

-0:25          'gl_PrimitiveID' (in int)

+0:25          'gl_PrimitiveID' (in int PrimitiveID)

 0:26      Sequence

 0:26        move second child to first child (temp int)

 0:26          'iid' (temp int)

-0:26          'gl_InvocationID' (in int)

+0:26          'gl_InvocationID' (in int InvocationID)

 0:28      move second child to first child (temp 4-component vector of float)

-0:28        gl_Position: direct index for structure (out 4-component vector of float)

-0:28          direct index (temp block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})

-0:28            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})

+0:28        gl_Position: direct index for structure (out 4-component vector of float Position)

+0:28          direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})

+0:28            'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})

 0:28            Constant:

 0:28              1 (const int)

 0:28          Constant:

 0:28            0 (const int)

 0:28        'p' (temp 4-component vector of float)

 0:29      move second child to first child (temp float)

-0:29        gl_PointSize: direct index for structure (out float)

-0:29          direct index (temp block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})

-0:29            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})

+0:29        gl_PointSize: direct index for structure (out float PointSize)

+0:29          direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})

+0:29            'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})

 0:29            Constant:

 0:29              1 (const int)

 0:29          Constant:

 0:29            1 (const int)

 0:29        'ps' (temp float)

 0:30      move second child to first child (temp float)

-0:30        direct index (temp float)

-0:30          gl_ClipDistance: direct index for structure (out 1-element array of float)

-0:30            direct index (temp block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})

-0:30              'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})

+0:30        direct index (temp float ClipDistance)

+0:30          gl_ClipDistance: direct index for structure (out 1-element array of float ClipDistance)

+0:30            direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})

+0:30              'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})

 0:30              Constant:

 0:30                1 (const int)

 0:30            Constant:

@@ -1012,15 +1012,15 @@
 0:30            1 (const int)

 0:30        'cd' (temp float)

 0:32      move second child to first child (temp float)

-0:32        direct index (patch temp float)

-0:32          'gl_TessLevelOuter' (patch out 4-element array of float)

+0:32        direct index (patch temp float TessLevelOuter)

+0:32          'gl_TessLevelOuter' (patch out 4-element array of float TessLevelOuter)

 0:32          Constant:

 0:32            3 (const int)

 0:32        Constant:

 0:32          3.200000

 0:33      move second child to first child (temp float)

-0:33        direct index (patch temp float)

-0:33          'gl_TessLevelInner' (patch out 2-element array of float)

+0:33        direct index (patch temp float TessLevelInner)

+0:33          'gl_TessLevelInner' (patch out 2-element array of float TessLevelInner)

 0:33          Constant:

 0:33            1 (const int)

 0:33        Constant:

@@ -1070,38 +1070,38 @@
 0:27      Sequence

 0:27        move second child to first child (temp int)

 0:27          'pvi' (temp int)

-0:27          'gl_PatchVerticesIn' (in int)

+0:27          'gl_PatchVerticesIn' (in int PatchVertices)

 0:28      Sequence

 0:28        move second child to first child (temp int)

 0:28          'pid' (temp int)

-0:28          'gl_PrimitiveID' (in int)

+0:28          'gl_PrimitiveID' (in int PrimitiveID)

 0:29      Sequence

 0:29        move second child to first child (temp int)

 0:29          'iid' (temp int)

-0:29          'gl_InvocationID' (in int)

+0:29          'gl_InvocationID' (in int InvocationID)

 0:31      move second child to first child (temp 4-component vector of float)

-0:31        gl_Position: direct index for structure (out 4-component vector of float)

-0:31          direct index (temp block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})

-0:31            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})

+0:31        gl_Position: direct index for structure (out 4-component vector of float Position)

+0:31          direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})

+0:31            'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})

 0:31            Constant:

 0:31              1 (const int)

 0:31          Constant:

 0:31            0 (const int)

 0:31        'p' (temp 4-component vector of float)

 0:32      move second child to first child (temp float)

-0:32        gl_PointSize: direct index for structure (out float)

-0:32          direct index (temp block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})

-0:32            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})

+0:32        gl_PointSize: direct index for structure (out float PointSize)

+0:32          direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})

+0:32            'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})

 0:32            Constant:

 0:32              1 (const int)

 0:32          Constant:

 0:32            1 (const int)

 0:32        'ps' (temp float)

 0:33      move second child to first child (temp float)

-0:33        direct index (temp float)

-0:33          gl_ClipDistance: direct index for structure (out 1-element array of float)

-0:33            direct index (temp block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})

-0:33              'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})

+0:33        direct index (temp float ClipDistance)

+0:33          gl_ClipDistance: direct index for structure (out 1-element array of float ClipDistance)

+0:33            direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})

+0:33              'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})

 0:33              Constant:

 0:33                1 (const int)

 0:33            Constant:

@@ -1110,15 +1110,15 @@
 0:33            1 (const int)

 0:33        'cd' (temp float)

 0:35      move second child to first child (temp float)

-0:35        direct index (patch temp float)

-0:35          'gl_TessLevelOuter' (patch out 4-element array of float)

+0:35        direct index (patch temp float TessLevelOuter)

+0:35          'gl_TessLevelOuter' (patch out 4-element array of float TessLevelOuter)

 0:35          Constant:

 0:35            3 (const int)

 0:35        Constant:

 0:35          3.200000

 0:36      move second child to first child (temp float)

-0:36        direct index (patch temp float)

-0:36          'gl_TessLevelInner' (patch out 2-element array of float)

+0:36        direct index (patch temp float TessLevelInner)

+0:36          'gl_TessLevelInner' (patch out 2-element array of float TessLevelInner)

 0:36          Constant:

 0:36            1 (const int)

 0:36        Constant:

@@ -1171,9 +1171,9 @@
 0:67  Function Definition: foo( (global void)

 0:67    Function Parameters: 

 0:69    Sequence

-0:69      gl_PointSize: direct index for structure (out float)

-0:69        direct index (temp block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})

-0:69          'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})

+0:69      gl_PointSize: direct index for structure (out float PointSize)

+0:69        direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})

+0:69          'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})

 0:69          Constant:

 0:69            4 (const int)

 0:69        Constant:

@@ -1238,26 +1238,26 @@
 0:21      Sequence

 0:21        move second child to first child (temp int)

 0:21          'pvi' (temp int)

-0:21          'gl_PatchVerticesIn' (in int)

+0:21          'gl_PatchVerticesIn' (in int PatchVertices)

 0:22      Sequence

 0:22        move second child to first child (temp int)

 0:22          'pid' (temp int)

-0:22          'gl_PrimitiveID' (in int)

+0:22          'gl_PrimitiveID' (in int PrimitiveID)

 0:23      Sequence

 0:23        move second child to first child (temp int)

 0:23          'iid' (temp int)

-0:23          'gl_InvocationID' (in int)

+0:23          'gl_InvocationID' (in int InvocationID)

 0:25      move second child to first child (temp 4-component vector of float)

-0:25        gl_Position: direct index for structure (out 4-component vector of float)

-0:25          direct index (temp block{out 4-component vector of float gl_Position})

-0:25            'gl_out' (out 3-element array of block{out 4-component vector of float gl_Position})

+0:25        gl_Position: direct index for structure (out 4-component vector of float Position)

+0:25          direct index (temp block{out 4-component vector of float Position gl_Position})

+0:25            'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})

 0:25            Constant:

 0:25              1 (const int)

 0:25          Constant:

 0:25            0 (const int)

 0:25        'p' (temp 4-component vector of float)

-0:26      direct index (temp block{out 4-component vector of float gl_Position})

-0:26        'gl_out' (out 3-element array of block{out 4-component vector of float gl_Position})

+0:26      direct index (temp block{out 4-component vector of float Position gl_Position})

+0:26        'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})

 0:26        Constant:

 0:26          1 (const int)

 0:34  Function Definition: foo( (global void)

@@ -1296,7 +1296,7 @@
 0:37                0 (const int)

 0:36        true case is null

 0:?   Linker Objects

-0:?     'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})

+0:?     'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})

 0:?     'outa' (global 4-element array of int)

 0:?     'patchOut' (patch out 4-component vector of float)

 0:?     'patchIn' (patch in 4-component vector of float)

@@ -1372,45 +1372,45 @@
 0:26      Sequence

 0:26        move second child to first child (temp int)

 0:26          'pvi' (temp int)

-0:26          'gl_PatchVerticesIn' (in int)

+0:26          'gl_PatchVerticesIn' (in int PatchVertices)

 0:27      Sequence

 0:27        move second child to first child (temp int)

 0:27          'pid' (temp int)

-0:27          'gl_PrimitiveID' (in int)

+0:27          'gl_PrimitiveID' (in int PrimitiveID)

 0:28      Sequence

 0:28        move second child to first child (temp 3-component vector of float)

 0:28          'tc' (temp 3-component vector of float)

-0:28          'gl_TessCoord' (in 3-component vector of float)

+0:28          'gl_TessCoord' (in 3-component vector of float TessCoord)

 0:29      Sequence

 0:29        move second child to first child (temp float)

 0:29          'tlo' (temp float)

-0:29          direct index (patch temp float)

-0:29            'gl_TessLevelOuter' (patch in 4-element array of float)

+0:29          direct index (patch temp float TessLevelOuter)

+0:29            'gl_TessLevelOuter' (patch in 4-element array of float TessLevelOuter)

 0:29            Constant:

 0:29              3 (const int)

 0:30      Sequence

 0:30        move second child to first child (temp float)

 0:30          'tli' (temp float)

-0:30          direct index (patch temp float)

-0:30            'gl_TessLevelInner' (patch in 2-element array of float)

+0:30          direct index (patch temp float TessLevelInner)

+0:30            'gl_TessLevelInner' (patch in 2-element array of float TessLevelInner)

 0:30            Constant:

 0:30              1 (const int)

 0:32      move second child to first child (temp 4-component vector of float)

-0:32        gl_Position: direct index for structure (gl_Position 4-component vector of float)

-0:32          'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 3-element array of float gl_ClipDistance})

+0:32        gl_Position: direct index for structure (gl_Position 4-component vector of float Position)

+0:32          'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})

 0:32          Constant:

 0:32            0 (const uint)

 0:32        'p' (temp 4-component vector of float)

 0:33      move second child to first child (temp float)

-0:33        gl_PointSize: direct index for structure (gl_PointSize float)

-0:33          'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 3-element array of float gl_ClipDistance})

+0:33        gl_PointSize: direct index for structure (gl_PointSize float PointSize)

+0:33          'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})

 0:33          Constant:

 0:33            1 (const uint)

 0:33        'ps' (temp float)

 0:34      move second child to first child (temp float)

-0:34        direct index (temp float)

-0:34          gl_ClipDistance: direct index for structure (out 3-element array of float)

-0:34            'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 3-element array of float gl_ClipDistance})

+0:34        direct index (temp float ClipDistance)

+0:34          gl_ClipDistance: direct index for structure (out 3-element array of float ClipDistance)

+0:34            'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})

 0:34            Constant:

 0:34              2 (const uint)

 0:34          Constant:

@@ -1462,45 +1462,45 @@
 0:36      Sequence

 0:36        move second child to first child (temp int)

 0:36          'pvi' (temp int)

-0:36          'gl_PatchVerticesIn' (in int)

+0:36          'gl_PatchVerticesIn' (in int PatchVertices)

 0:37      Sequence

 0:37        move second child to first child (temp int)

 0:37          'pid' (temp int)

-0:37          'gl_PrimitiveID' (in int)

+0:37          'gl_PrimitiveID' (in int PrimitiveID)

 0:38      Sequence

 0:38        move second child to first child (temp 3-component vector of float)

 0:38          'tc' (temp 3-component vector of float)

-0:38          'gl_TessCoord' (in 3-component vector of float)

+0:38          'gl_TessCoord' (in 3-component vector of float TessCoord)

 0:39      Sequence

 0:39        move second child to first child (temp float)

 0:39          'tlo' (temp float)

-0:39          direct index (patch temp float)

-0:39            'gl_TessLevelOuter' (patch in 4-element array of float)

+0:39          direct index (patch temp float TessLevelOuter)

+0:39            'gl_TessLevelOuter' (patch in 4-element array of float TessLevelOuter)

 0:39            Constant:

 0:39              3 (const int)

 0:40      Sequence

 0:40        move second child to first child (temp float)

 0:40          'tli' (temp float)

-0:40          direct index (patch temp float)

-0:40            'gl_TessLevelInner' (patch in 2-element array of float)

+0:40          direct index (patch temp float TessLevelInner)

+0:40            'gl_TessLevelInner' (patch in 2-element array of float TessLevelInner)

 0:40            Constant:

 0:40              1 (const int)

 0:42      move second child to first child (temp 4-component vector of float)

-0:42        gl_Position: direct index for structure (gl_Position 4-component vector of float)

-0:42          'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 3-element array of float gl_ClipDistance})

+0:42        gl_Position: direct index for structure (gl_Position 4-component vector of float Position)

+0:42          'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})

 0:42          Constant:

 0:42            0 (const uint)

 0:42        'p' (temp 4-component vector of float)

 0:43      move second child to first child (temp float)

-0:43        gl_PointSize: direct index for structure (gl_PointSize float)

-0:43          'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 3-element array of float gl_ClipDistance})

+0:43        gl_PointSize: direct index for structure (gl_PointSize float PointSize)

+0:43          'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})

 0:43          Constant:

 0:43            1 (const uint)

 0:43        'ps' (temp float)

 0:44      move second child to first child (temp float)

-0:44        direct index (temp float)

-0:44          gl_ClipDistance: direct index for structure (out 3-element array of float)

-0:44            'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 3-element array of float gl_ClipDistance})

+0:44        direct index (temp float ClipDistance)

+0:44          gl_ClipDistance: direct index for structure (out 3-element array of float ClipDistance)

+0:44            'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})

 0:44            Constant:

 0:44              2 (const uint)

 0:44          Constant:

@@ -1582,7 +1582,7 @@
 0:76        true case is null

 0:?   Linker Objects

 0:?     'patchIn' (patch in 4-component vector of float)

-0:?     'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 3-element array of float gl_ClipDistance})

+0:?     'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})

 0:?     'patchOut' (patch out 4-component vector of float)

 0:?     'badp1' (smooth patch in 4-component vector of float)

 0:?     'badp2' (flat patch in 4-component vector of float)

diff --git a/Test/baseResults/150.vert.out b/Test/baseResults/150.vert.out
index ff1150c..1650102 100644
--- a/Test/baseResults/150.vert.out
+++ b/Test/baseResults/150.vert.out
@@ -10,21 +10,21 @@
 0:9    Function Parameters: 

 0:11    Sequence

 0:11      move second child to first child (temp 4-component vector of float)

-0:11        gl_Position: direct index for structure (invariant gl_Position 4-component vector of float)

-0:11          'anon@0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})

+0:11        gl_Position: direct index for structure (invariant gl_Position 4-component vector of float Position)

+0:11          'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})

 0:11          Constant:

 0:11            0 (const uint)

 0:11        'iv4' (in 4-component vector of float)

 0:12      move second child to first child (temp float)

-0:12        gl_PointSize: direct index for structure (gl_PointSize float)

-0:12          'anon@0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})

+0:12        gl_PointSize: direct index for structure (gl_PointSize float PointSize)

+0:12          'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})

 0:12          Constant:

 0:12            1 (const uint)

 0:12        'ps' (uniform float)

 0:13      move second child to first child (temp float)

-0:13        direct index (temp float)

-0:13          gl_ClipDistance: direct index for structure (out 4-element array of float)

-0:13            'anon@0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})

+0:13        direct index (temp float ClipDistance)

+0:13          gl_ClipDistance: direct index for structure (out 4-element array of float ClipDistance)

+0:13            'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})

 0:13            Constant:

 0:13              2 (const uint)

 0:13          Constant:

@@ -34,8 +34,8 @@
 0:13          Constant:

 0:13            0 (const int)

 0:14      move second child to first child (temp 4-component vector of float)

-0:14        gl_ClipVertex: direct index for structure (gl_ClipVertex 4-component vector of float)

-0:14          'anon@0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})

+0:14        gl_ClipVertex: direct index for structure (gl_ClipVertex 4-component vector of float ClipVertex)

+0:14          'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})

 0:14          Constant:

 0:14            3 (const uint)

 0:14        'iv4' (in 4-component vector of float)

@@ -43,8 +43,8 @@
 0:?     'iv4' (in 4-component vector of float)

 0:?     'ps' (uniform float)

 0:?     'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform implicitly-sized array of int a})

-0:?     'gl_VertexID' (gl_VertexId int)

-0:?     'gl_InstanceID' (gl_InstanceId int)

+0:?     'gl_VertexID' (gl_VertexId int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId int InstanceId)

 

 

 Linked vertex stage:

@@ -57,21 +57,21 @@
 0:9    Function Parameters: 

 0:11    Sequence

 0:11      move second child to first child (temp 4-component vector of float)

-0:11        gl_Position: direct index for structure (invariant gl_Position 4-component vector of float)

-0:11          'anon@0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out 1-element array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})

+0:11        gl_Position: direct index for structure (invariant gl_Position 4-component vector of float Position)

+0:11          'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})

 0:11          Constant:

 0:11            0 (const uint)

 0:11        'iv4' (in 4-component vector of float)

 0:12      move second child to first child (temp float)

-0:12        gl_PointSize: direct index for structure (gl_PointSize float)

-0:12          'anon@0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out 1-element array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})

+0:12        gl_PointSize: direct index for structure (gl_PointSize float PointSize)

+0:12          'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})

 0:12          Constant:

 0:12            1 (const uint)

 0:12        'ps' (uniform float)

 0:13      move second child to first child (temp float)

-0:13        direct index (temp float)

-0:13          gl_ClipDistance: direct index for structure (out 4-element array of float)

-0:13            'anon@0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out 1-element array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})

+0:13        direct index (temp float ClipDistance)

+0:13          gl_ClipDistance: direct index for structure (out 4-element array of float ClipDistance)

+0:13            'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})

 0:13            Constant:

 0:13              2 (const uint)

 0:13          Constant:

@@ -81,8 +81,8 @@
 0:13          Constant:

 0:13            0 (const int)

 0:14      move second child to first child (temp 4-component vector of float)

-0:14        gl_ClipVertex: direct index for structure (gl_ClipVertex 4-component vector of float)

-0:14          'anon@0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out 1-element array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})

+0:14        gl_ClipVertex: direct index for structure (gl_ClipVertex 4-component vector of float ClipVertex)

+0:14          'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})

 0:14          Constant:

 0:14            3 (const uint)

 0:14        'iv4' (in 4-component vector of float)

@@ -90,6 +90,6 @@
 0:?     'iv4' (in 4-component vector of float)

 0:?     'ps' (uniform float)

 0:?     'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform 1-element array of int a})

-0:?     'gl_VertexID' (gl_VertexId int)

-0:?     'gl_InstanceID' (gl_InstanceId int)

+0:?     'gl_VertexID' (gl_VertexId int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId int InstanceId)

 

diff --git a/Test/baseResults/300.frag.out b/Test/baseResults/300.frag.out
index 1c0d0fa..73939d0 100644
--- a/Test/baseResults/300.frag.out
+++ b/Test/baseResults/300.frag.out
@@ -200,11 +200,11 @@
 0:88      add second child into first child (temp highp float)

 0:88        'f' (temp lowp float)

 0:88        direct index (temp highp float)

-0:88          'gl_FragCoord' (gl_FragCoord highp 4-component vector of float)

+0:88          'gl_FragCoord' (gl_FragCoord highp 4-component vector of float FragCoord)

 0:88          Constant:

 0:88            1 (const int)

 0:89      move second child to first child (temp highp float)

-0:89        'gl_FragDepth' (gl_FragDepth highp float)

+0:89        'gl_FragDepth' (gl_FragDepth highp float FragDepth)

 0:89        'f' (temp lowp float)

 0:91      move second child to first child (temp lowp 3-component vector of float)

 0:91        'sc' (out lowp 3-component vector of float)

@@ -556,11 +556,11 @@
 0:88      add second child into first child (temp highp float)

 0:88        'f' (temp lowp float)

 0:88        direct index (temp highp float)

-0:88          'gl_FragCoord' (gl_FragCoord highp 4-component vector of float)

+0:88          'gl_FragCoord' (gl_FragCoord highp 4-component vector of float FragCoord)

 0:88          Constant:

 0:88            1 (const int)

 0:89      move second child to first child (temp highp float)

-0:89        'gl_FragDepth' (gl_FragDepth highp float)

+0:89        'gl_FragDepth' (gl_FragDepth highp float FragDepth)

 0:89        'f' (temp lowp float)

 0:91      move second child to first child (temp lowp 3-component vector of float)

 0:91        'sc' (out lowp 3-component vector of float)

diff --git a/Test/baseResults/300.vert.out b/Test/baseResults/300.vert.out
index 5397b85..a34dc0b 100644
--- a/Test/baseResults/300.vert.out
+++ b/Test/baseResults/300.vert.out
@@ -51,8 +51,8 @@
 0:29        move second child to first child (temp highp int)

 0:29          'id' (temp highp int)

 0:29          add (temp highp int)

-0:29            'gl_VertexID' (gl_VertexId highp int)

-0:29            'gl_InstanceID' (gl_InstanceId highp int)

+0:29            'gl_VertexID' (gl_VertexId highp int VertexId)

+0:29            'gl_InstanceID' (gl_InstanceId highp int InstanceId)

 0:31      Sequence

 0:31        move second child to first child (temp highp int)

 0:31          'c0' (temp highp int)

@@ -130,13 +130,13 @@
 0:47            'v2' (smooth out highp 2-component vector of float)

 0:47            'v3' (in highp 3-component vector of float)

 0:49      move second child to first child (temp highp 4-component vector of float)

-0:49        'gl_Position' (gl_Position highp 4-component vector of float)

+0:49        'gl_Position' (gl_Position highp 4-component vector of float Position)

 0:49        direct index (temp highp 4-component vector of float)

 0:49          'm44' (uniform highp 4X4 matrix of float)

 0:49          Constant:

 0:49            2 (const int)

 0:50      move second child to first child (temp highp float)

-0:50        'gl_PointSize' (gl_PointSize highp float)

+0:50        'gl_PointSize' (gl_PointSize highp float PointSize)

 0:50        direct index (temp highp float)

 0:50          'v2' (smooth out highp 2-component vector of float)

 0:50          Constant:

@@ -293,8 +293,8 @@
 0:?     'ssss' (smooth out structure{global highp float f})

 0:?     'Binst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp int a})

 0:?     'Bfoo' (global highp int)

-0:?     'gl_VertexID' (gl_VertexId highp int)

-0:?     'gl_InstanceID' (gl_InstanceId highp int)

+0:?     'gl_VertexID' (gl_VertexId highp int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId highp int InstanceId)

 

 

 Linked vertex stage:

@@ -309,8 +309,8 @@
 0:29        move second child to first child (temp highp int)

 0:29          'id' (temp highp int)

 0:29          add (temp highp int)

-0:29            'gl_VertexID' (gl_VertexId highp int)

-0:29            'gl_InstanceID' (gl_InstanceId highp int)

+0:29            'gl_VertexID' (gl_VertexId highp int VertexId)

+0:29            'gl_InstanceID' (gl_InstanceId highp int InstanceId)

 0:31      Sequence

 0:31        move second child to first child (temp highp int)

 0:31          'c0' (temp highp int)

@@ -388,13 +388,13 @@
 0:47            'v2' (smooth out highp 2-component vector of float)

 0:47            'v3' (in highp 3-component vector of float)

 0:49      move second child to first child (temp highp 4-component vector of float)

-0:49        'gl_Position' (gl_Position highp 4-component vector of float)

+0:49        'gl_Position' (gl_Position highp 4-component vector of float Position)

 0:49        direct index (temp highp 4-component vector of float)

 0:49          'm44' (uniform highp 4X4 matrix of float)

 0:49          Constant:

 0:49            2 (const int)

 0:50      move second child to first child (temp highp float)

-0:50        'gl_PointSize' (gl_PointSize highp float)

+0:50        'gl_PointSize' (gl_PointSize highp float PointSize)

 0:50        direct index (temp highp float)

 0:50          'v2' (smooth out highp 2-component vector of float)

 0:50          Constant:

@@ -551,6 +551,6 @@
 0:?     'ssss' (smooth out structure{global highp float f})

 0:?     'Binst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp int a})

 0:?     'Bfoo' (global highp int)

-0:?     'gl_VertexID' (gl_VertexId highp int)

-0:?     'gl_InstanceID' (gl_InstanceId highp int)

+0:?     'gl_VertexID' (gl_VertexId highp int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId highp int InstanceId)

 

diff --git a/Test/baseResults/300layout.vert.out b/Test/baseResults/300layout.vert.out
index 9f61a42..0adb6ed 100644
--- a/Test/baseResults/300layout.vert.out
+++ b/Test/baseResults/300layout.vert.out
@@ -78,8 +78,8 @@
 0:?     'aoeuntaoeu' (layout(packed ) uniform highp float)

 0:?     'cd' (layout(location=40 ) in highp float)

 0:?     'ce' (layout(location=37 ) in highp 4X3 matrix of float)

-0:?     'gl_VertexID' (gl_VertexId highp int)

-0:?     'gl_InstanceID' (gl_InstanceId highp int)

+0:?     'gl_VertexID' (gl_VertexId highp int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId highp int InstanceId)

 

 

 Linked vertex stage:

@@ -142,6 +142,6 @@
 0:?     'aoeuntaoeu' (layout(packed ) uniform highp float)

 0:?     'cd' (layout(location=40 ) in highp float)

 0:?     'ce' (layout(location=37 ) in highp 4X3 matrix of float)

-0:?     'gl_VertexID' (gl_VertexId highp int)

-0:?     'gl_InstanceID' (gl_InstanceId highp int)

+0:?     'gl_VertexID' (gl_VertexId highp int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId highp int InstanceId)

 

diff --git a/Test/baseResults/300scope.vert.out b/Test/baseResults/300scope.vert.out
index 618ec05..39a6d81 100644
--- a/Test/baseResults/300scope.vert.out
+++ b/Test/baseResults/300scope.vert.out
@@ -69,7 +69,7 @@
 0:47        Constant:

 0:47          3.000000

 0:49      move second child to first child (temp highp 4-component vector of float)

-0:49        'gl_Position' (invariant gl_Position highp 4-component vector of float)

+0:49        'gl_Position' (invariant gl_Position highp 4-component vector of float Position)

 0:49        Construct vec4 (temp highp 4-component vector of float)

 0:49          'f' (temp highp float)

 0:51      Sequence

@@ -123,8 +123,8 @@
 0:73        0.000000

 0:?   Linker Objects

 0:?     'b' (global bool)

-0:?     'gl_VertexID' (gl_VertexId highp int)

-0:?     'gl_InstanceID' (gl_InstanceId highp int)

+0:?     'gl_VertexID' (gl_VertexId highp int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId highp int InstanceId)

 

 

 Linked vertex stage:

@@ -178,7 +178,7 @@
 0:47        Constant:

 0:47          3.000000

 0:49      move second child to first child (temp highp 4-component vector of float)

-0:49        'gl_Position' (invariant gl_Position highp 4-component vector of float)

+0:49        'gl_Position' (invariant gl_Position highp 4-component vector of float Position)

 0:49        Construct vec4 (temp highp 4-component vector of float)

 0:49          'f' (temp highp float)

 0:51      Sequence

@@ -232,6 +232,6 @@
 0:73        0.000000

 0:?   Linker Objects

 0:?     'b' (global bool)

-0:?     'gl_VertexID' (gl_VertexId highp int)

-0:?     'gl_InstanceID' (gl_InstanceId highp int)

+0:?     'gl_VertexID' (gl_VertexId highp int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId highp int InstanceId)

 

diff --git a/Test/baseResults/310.comp.out b/Test/baseResults/310.comp.out
index 7cc3300..6248cd4 100644
--- a/Test/baseResults/310.comp.out
+++ b/Test/baseResults/310.comp.out
@@ -99,7 +99,7 @@
 0:36              'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})

 0:36              Constant:

 0:36                1 (const uint)

-0:36            'gl_LocalInvocationIndex' (in highp uint)

+0:36            'gl_LocalInvocationIndex' (in highp uint LocalInvocationIndex)

 0:59  Function Definition: foo( (global void)

 0:59    Function Parameters: 

 0:61    Sequence

@@ -421,7 +421,7 @@
 0:224        Constant:

 0:224          2 (const int)

 0:?   Linker Objects

-0:?     'gl_WorkGroupSize' (const highp 3-component vector of uint)

+0:?     'gl_WorkGroupSize' (const highp 3-component vector of uint WorkGroupSize)

 0:?       2 (const uint)

 0:?       1 (const uint)

 0:?       4096 (const uint)

@@ -508,7 +508,7 @@
 0:36              'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})

 0:36              Constant:

 0:36                1 (const uint)

-0:36            'gl_LocalInvocationIndex' (in highp uint)

+0:36            'gl_LocalInvocationIndex' (in highp uint LocalInvocationIndex)

 0:59  Function Definition: foo( (global void)

 0:59    Function Parameters: 

 0:61    Sequence

@@ -830,7 +830,7 @@
 0:224        Constant:

 0:224          2 (const int)

 0:?   Linker Objects

-0:?     'gl_WorkGroupSize' (const highp 3-component vector of uint)

+0:?     'gl_WorkGroupSize' (const highp 3-component vector of uint WorkGroupSize)

 0:?       2 (const uint)

 0:?       1 (const uint)

 0:?       4096 (const uint)

diff --git a/Test/baseResults/310.frag.out b/Test/baseResults/310.frag.out
index eeac76d..b9ec0d3 100644
--- a/Test/baseResults/310.frag.out
+++ b/Test/baseResults/310.frag.out
@@ -181,7 +181,7 @@
 0:45          20 (const int)

 0:47      Test condition and select (temp void)

 0:47        Condition

-0:47        'gl_HelperInvocation' (in bool)

+0:47        'gl_HelperInvocation' (in bool HelperInvocation)

 0:47        true case

 0:48        Pre-Increment (temp mediump 4-component vector of float)

 0:48          'outp' (out mediump 4-component vector of float)

@@ -443,7 +443,7 @@
 0:45          20 (const int)

 0:47      Test condition and select (temp void)

 0:47        Condition

-0:47        'gl_HelperInvocation' (in bool)

+0:47        'gl_HelperInvocation' (in bool HelperInvocation)

 0:47        true case

 0:48        Pre-Increment (temp mediump 4-component vector of float)

 0:48          'outp' (out mediump 4-component vector of float)

diff --git a/Test/baseResults/310.vert.out b/Test/baseResults/310.vert.out
index 5bc03f7..8d9575b 100644
--- a/Test/baseResults/310.vert.out
+++ b/Test/baseResults/310.vert.out
@@ -185,8 +185,8 @@
 0:?     'outsa' (smooth out 4-element array of structure{global highp float f})

 0:?     'outSA' (smooth out structure{global 4-element array of highp float f})

 0:?     'outSS' (smooth out structure{global highp float f, global structure{global highp float f} s})

-0:?     'gl_VertexID' (gl_VertexId highp int)

-0:?     'gl_InstanceID' (gl_InstanceId highp int)

+0:?     'gl_VertexID' (gl_VertexId highp int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId highp int InstanceId)

 

 

 Linked vertex stage:

@@ -360,6 +360,6 @@
 0:?     'outsa' (smooth out 4-element array of structure{global highp float f})

 0:?     'outSA' (smooth out structure{global 4-element array of highp float f})

 0:?     'outSS' (smooth out structure{global highp float f, global structure{global highp float f} s})

-0:?     'gl_VertexID' (gl_VertexId highp int)

-0:?     'gl_InstanceID' (gl_InstanceId highp int)

+0:?     'gl_VertexID' (gl_VertexId highp int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId highp int InstanceId)

 

diff --git a/Test/baseResults/310AofA.vert.out b/Test/baseResults/310AofA.vert.out
index d8efdab..63598fc 100644
--- a/Test/baseResults/310AofA.vert.out
+++ b/Test/baseResults/310AofA.vert.out
@@ -24,8 +24,8 @@
 0:13          2 (const uint)

 0:13        'd' (temp 3-element array of 2-element array of highp int)

 0:?   Linker Objects

-0:?     'gl_VertexID' (gl_VertexId highp int)

-0:?     'gl_InstanceID' (gl_InstanceId highp int)

+0:?     'gl_VertexID' (gl_VertexId highp int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId highp int InstanceId)

 

 

 Linked vertex stage:

@@ -54,6 +54,6 @@
 0:13          2 (const uint)

 0:13        'd' (temp 3-element array of 2-element array of highp int)

 0:?   Linker Objects

-0:?     'gl_VertexID' (gl_VertexId highp int)

-0:?     'gl_InstanceID' (gl_InstanceId highp int)

+0:?     'gl_VertexID' (gl_VertexId highp int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId highp int InstanceId)

 

diff --git a/Test/baseResults/310implicitSizeArrayError.vert.out b/Test/baseResults/310implicitSizeArrayError.vert.out
index 29fe7f5..958b668 100644
--- a/Test/baseResults/310implicitSizeArrayError.vert.out
+++ b/Test/baseResults/310implicitSizeArrayError.vert.out
@@ -21,8 +21,8 @@
 0:?   Linker Objects

 0:?     'uni' (layout(location=0 column_major shared ) uniform block{layout(column_major shared ) uniform implicitly-sized array of highp int a})

 0:?     'o' (layout(location=0 ) smooth out highp int)

-0:?     'gl_VertexID' (gl_VertexId highp int)

-0:?     'gl_InstanceID' (gl_InstanceId highp int)

+0:?     'gl_VertexID' (gl_VertexId highp int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId highp int InstanceId)

 

 

 Linked vertex stage:

@@ -45,6 +45,6 @@
 0:?   Linker Objects

 0:?     'uni' (layout(location=0 column_major shared ) uniform block{layout(column_major shared ) uniform 1-element array of highp int a})

 0:?     'o' (layout(location=0 ) smooth out highp int)

-0:?     'gl_VertexID' (gl_VertexId highp int)

-0:?     'gl_InstanceID' (gl_InstanceId highp int)

+0:?     'gl_VertexID' (gl_VertexId highp int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId highp int InstanceId)

 

diff --git a/Test/baseResults/330.frag.out b/Test/baseResults/330.frag.out
index 2e5114c..db003cc 100644
--- a/Test/baseResults/330.frag.out
+++ b/Test/baseResults/330.frag.out
@@ -44,7 +44,7 @@
 0:8    Function Parameters: 

 0:10    Sequence

 0:10      move second child to first child (temp 4-component vector of float)

-0:10        'gl_FragColor' (fragColor 4-component vector of float)

+0:10        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:10        'varyingVar' (smooth in 4-component vector of float)

 0:11      move second child to first child (temp 4-component vector of float)

 0:11        direct index (temp 4-component vector of float)

@@ -63,8 +63,8 @@
 0:23      Sequence

 0:23        move second child to first child (temp 4-component vector of float)

 0:23          'c' (temp 4-component vector of float)

-0:23          gl_Color: direct index for structure (in 4-component vector of float)

-0:23            'anon@0' (in block{in 4-component vector of float gl_Color, })

+0:23          gl_Color: direct index for structure (in 4-component vector of float Color)

+0:23            'anon@0' (in block{in 4-component vector of float Color gl_Color, })

 0:23            Constant:

 0:23              2 (const uint)

 0:24      move second child to first child (temp 4-component vector of float)

@@ -74,7 +74,7 @@
 0:?     'inVar' (smooth in 4-component vector of float)

 0:?     'outVar' (layout(location=0 index=0 ) out 4-component vector of float)

 0:?     'varyingVar' (smooth in 4-component vector of float)

-0:?     'anon@0' (in block{in 4-component vector of float gl_Color, })

+0:?     'anon@0' (in block{in 4-component vector of float Color gl_Color, })

 0:?     'gl_name' (in block{in int gl_i})

 0:?     'start' (const int)

 0:?       6 (const int)

@@ -117,7 +117,7 @@
 0:8    Function Parameters: 

 0:10    Sequence

 0:10      move second child to first child (temp 4-component vector of float)

-0:10        'gl_FragColor' (fragColor 4-component vector of float)

+0:10        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:10        'varyingVar' (smooth in 4-component vector of float)

 0:11      move second child to first child (temp 4-component vector of float)

 0:11        direct index (temp 4-component vector of float)

@@ -136,8 +136,8 @@
 0:23      Sequence

 0:23        move second child to first child (temp 4-component vector of float)

 0:23          'c' (temp 4-component vector of float)

-0:23          gl_Color: direct index for structure (in 4-component vector of float)

-0:23            'anon@0' (in block{in 4-component vector of float gl_Color, })

+0:23          gl_Color: direct index for structure (in 4-component vector of float Color)

+0:23            'anon@0' (in block{in 4-component vector of float Color gl_Color, })

 0:23            Constant:

 0:23              2 (const uint)

 0:24      move second child to first child (temp 4-component vector of float)

@@ -147,7 +147,7 @@
 0:?     'inVar' (smooth in 4-component vector of float)

 0:?     'outVar' (layout(location=0 index=0 ) out 4-component vector of float)

 0:?     'varyingVar' (smooth in 4-component vector of float)

-0:?     'anon@0' (in block{in 4-component vector of float gl_Color, })

+0:?     'anon@0' (in block{in 4-component vector of float Color gl_Color, })

 0:?     'gl_name' (in block{in int gl_i})

 0:?     'start' (const int)

 0:?       6 (const int)

diff --git a/Test/baseResults/330comp.frag.out b/Test/baseResults/330comp.frag.out
index 5c666b0..9fbac74 100644
--- a/Test/baseResults/330comp.frag.out
+++ b/Test/baseResults/330comp.frag.out
@@ -6,7 +6,7 @@
 0:8    Function Parameters: 

 0:10    Sequence

 0:10      move second child to first child (temp 4-component vector of float)

-0:10        'gl_FragColor' (fragColor 4-component vector of float)

+0:10        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:10        'varyingVar' (smooth in 4-component vector of float)

 0:11      move second child to first child (temp 4-component vector of float)

 0:11        direct index (temp 4-component vector of float)

@@ -32,7 +32,7 @@
 0:8    Function Parameters: 

 0:10    Sequence

 0:10      move second child to first child (temp 4-component vector of float)

-0:10        'gl_FragColor' (fragColor 4-component vector of float)

+0:10        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:10        'varyingVar' (smooth in 4-component vector of float)

 0:11      move second child to first child (temp 4-component vector of float)

 0:11        direct index (temp 4-component vector of float)

diff --git a/Test/baseResults/400.frag.out b/Test/baseResults/400.frag.out
index 4cf43eb..c711bc6 100644
--- a/Test/baseResults/400.frag.out
+++ b/Test/baseResults/400.frag.out
@@ -43,8 +43,8 @@
 0:14          'outp' (out 4-component vector of float)

 0:14          Constant:

 0:14            0 (const int)

-0:14        direct index (smooth temp float)

-0:14          'gl_ClipDistance' (smooth in 4-element array of float)

+0:14        direct index (smooth temp float ClipDistance)

+0:14          'gl_ClipDistance' (smooth in 4-element array of float ClipDistance)

 0:14          Constant:

 0:14            1 (const int)

 0:18      Sequence

@@ -146,7 +146,7 @@
 0:27      Sequence

 0:27        move second child to first child (temp 4-component vector of float)

 0:27          'c' (temp 4-component vector of float)

-0:27          'gl_FragCoord' (gl_FragCoord 4-component vector of float)

+0:27          'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)

 0:47  Function Definition: foo23( (global void)

 0:47    Function Parameters: 

 0:?     Sequence

@@ -305,14 +305,14 @@
 0:?     'arrayedSampler' (uniform 5-element array of sampler2D)

 0:?     'samp2dr' (uniform usampler2DRect)

 0:?     'isamp2DA' (uniform isampler2DArray)

-0:?     'gl_ClipDistance' (smooth in 4-element array of float)

+0:?     'gl_ClipDistance' (smooth in 4-element array of float ClipDistance)

 0:?     'vl' (layout(location=4 ) smooth in 4-component vector of float)

 0:?     'vl2' (layout(location=6 ) smooth in 4-component vector of float)

 0:?     'uv3' (layout(location=3 ) uniform 3-component vector of float)

-0:?     'anon@0' (in block{in float gl_FogFragCoord, in implicitly-sized array of 4-component vector of float gl_TexCoord, smooth in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor})

-0:?     'anon@0' (in block{in float gl_FogFragCoord, in implicitly-sized array of 4-component vector of float gl_TexCoord, smooth in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor})

-0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float)

-0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float)

+0:?     'anon@0' (in block{in float FogFragCoord gl_FogFragCoord, in implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, smooth in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})

+0:?     'anon@0' (in block{in float FogFragCoord gl_FogFragCoord, in implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, smooth in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})

+0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)

+0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)

 0:?     'u2drs' (uniform sampler2DRectShadow)

 0:?     'patchIn' (smooth patch in 4-component vector of float)

 0:?     'patchOut' (patch out 4-component vector of float)

@@ -346,8 +346,8 @@
 0:14          'outp' (out 4-component vector of float)

 0:14          Constant:

 0:14            0 (const int)

-0:14        direct index (smooth temp float)

-0:14          'gl_ClipDistance' (smooth in 4-element array of float)

+0:14        direct index (smooth temp float ClipDistance)

+0:14          'gl_ClipDistance' (smooth in 4-element array of float ClipDistance)

 0:14          Constant:

 0:14            1 (const int)

 0:18      Sequence

@@ -449,7 +449,7 @@
 0:27      Sequence

 0:27        move second child to first child (temp 4-component vector of float)

 0:27          'c' (temp 4-component vector of float)

-0:27          'gl_FragCoord' (gl_FragCoord 4-component vector of float)

+0:27          'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)

 0:47  Function Definition: foo23( (global void)

 0:47    Function Parameters: 

 0:?     Sequence

@@ -608,14 +608,14 @@
 0:?     'arrayedSampler' (uniform 5-element array of sampler2D)

 0:?     'samp2dr' (uniform usampler2DRect)

 0:?     'isamp2DA' (uniform isampler2DArray)

-0:?     'gl_ClipDistance' (smooth in 4-element array of float)

+0:?     'gl_ClipDistance' (smooth in 4-element array of float ClipDistance)

 0:?     'vl' (layout(location=4 ) smooth in 4-component vector of float)

 0:?     'vl2' (layout(location=6 ) smooth in 4-component vector of float)

 0:?     'uv3' (layout(location=3 ) uniform 3-component vector of float)

-0:?     'anon@0' (in block{in float gl_FogFragCoord, in 1-element array of 4-component vector of float gl_TexCoord, smooth in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor})

-0:?     'anon@0' (in block{in float gl_FogFragCoord, in 1-element array of 4-component vector of float gl_TexCoord, smooth in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor})

-0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float)

-0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float)

+0:?     'anon@0' (in block{in float FogFragCoord gl_FogFragCoord, in 1-element array of 4-component vector of float TexCoord gl_TexCoord, smooth in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})

+0:?     'anon@0' (in block{in float FogFragCoord gl_FogFragCoord, in 1-element array of 4-component vector of float TexCoord gl_TexCoord, smooth in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})

+0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)

+0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)

 0:?     'u2drs' (uniform sampler2DRectShadow)

 0:?     'patchIn' (smooth patch in 4-component vector of float)

 0:?     'patchOut' (patch out 4-component vector of float)

diff --git a/Test/baseResults/400.geom.out b/Test/baseResults/400.geom.out
index fde165c..31b5e26 100644
--- a/Test/baseResults/400.geom.out
+++ b/Test/baseResults/400.geom.out
@@ -43,15 +43,15 @@
 0:9      Sequence

 0:9        move second child to first child (temp int)

 0:9          'id' (temp int)

-0:9          'gl_InvocationID' (in int)

+0:9          'gl_InvocationID' (in int InvocationID)

 0:23  Function Definition: foo( (global void)

 0:23    Function Parameters: 

 0:25    Sequence

 0:25      Constant:

 0:25        1 (const int)

-0:26      gl_Position: direct index for structure (in 4-component vector of float)

-0:26        direct index (temp block{in 4-component vector of float gl_Position, in float gl_PointSize})

-0:26          'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize})

+0:26      gl_Position: direct index for structure (in 4-component vector of float Position)

+0:26        direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize})

+0:26          'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize})

 0:26          Constant:

 0:26            1 (const int)

 0:26        Constant:

@@ -167,7 +167,7 @@
 0:100          'u2' (temp 2-component vector of uint)

 0:?   Linker Objects

 0:?     'bn' (in 3-element array of block{in int a})

-0:?     'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize})

+0:?     'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize})

 0:?     'color' (in 3-element array of 4-component vector of float)

 0:?     'color2' (in 3-element array of 4-component vector of float)

 0:?     'colorS' (in 3-element array of 4-component vector of float)

@@ -209,15 +209,15 @@
 0:9      Sequence

 0:9        move second child to first child (temp int)

 0:9          'id' (temp int)

-0:9          'gl_InvocationID' (in int)

+0:9          'gl_InvocationID' (in int InvocationID)

 0:23  Function Definition: foo( (global void)

 0:23    Function Parameters: 

 0:25    Sequence

 0:25      Constant:

 0:25        1 (const int)

-0:26      gl_Position: direct index for structure (in 4-component vector of float)

-0:26        direct index (temp block{in 4-component vector of float gl_Position, in float gl_PointSize})

-0:26          'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize})

+0:26      gl_Position: direct index for structure (in 4-component vector of float Position)

+0:26        direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize})

+0:26          'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize})

 0:26          Constant:

 0:26            1 (const int)

 0:26        Constant:

@@ -333,7 +333,7 @@
 0:100          'u2' (temp 2-component vector of uint)

 0:?   Linker Objects

 0:?     'bn' (in 3-element array of block{in int a})

-0:?     'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize})

+0:?     'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize})

 0:?     'color' (in 3-element array of 4-component vector of float)

 0:?     'color2' (in 3-element array of 4-component vector of float)

 0:?     'colorS' (in 3-element array of 4-component vector of float)

diff --git a/Test/baseResults/400.tesc.out b/Test/baseResults/400.tesc.out
index 8b5b968..9d1784e 100644
--- a/Test/baseResults/400.tesc.out
+++ b/Test/baseResults/400.tesc.out
@@ -70,38 +70,38 @@
 0:27      Sequence

 0:27        move second child to first child (temp int)

 0:27          'pvi' (temp int)

-0:27          'gl_PatchVerticesIn' (in int)

+0:27          'gl_PatchVerticesIn' (in int PatchVertices)

 0:28      Sequence

 0:28        move second child to first child (temp int)

 0:28          'pid' (temp int)

-0:28          'gl_PrimitiveID' (in int)

+0:28          'gl_PrimitiveID' (in int PrimitiveID)

 0:29      Sequence

 0:29        move second child to first child (temp int)

 0:29          'iid' (temp int)

-0:29          'gl_InvocationID' (in int)

+0:29          'gl_InvocationID' (in int InvocationID)

 0:31      move second child to first child (temp 4-component vector of float)

-0:31        gl_Position: direct index for structure (out 4-component vector of float)

-0:31          direct index (temp block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

-0:31            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

+0:31        gl_Position: direct index for structure (out 4-component vector of float Position)

+0:31          direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

+0:31            'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:31            Constant:

 0:31              1 (const int)

 0:31          Constant:

 0:31            0 (const int)

 0:31        'p' (temp 4-component vector of float)

 0:32      move second child to first child (temp float)

-0:32        gl_PointSize: direct index for structure (out float)

-0:32          direct index (temp block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

-0:32            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

+0:32        gl_PointSize: direct index for structure (out float PointSize)

+0:32          direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

+0:32            'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:32            Constant:

 0:32              1 (const int)

 0:32          Constant:

 0:32            1 (const int)

 0:32        'ps' (temp float)

 0:33      move second child to first child (temp float)

-0:33        direct index (temp float)

-0:33          gl_ClipDistance: direct index for structure (out implicitly-sized array of float)

-0:33            direct index (temp block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

-0:33              'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

+0:33        direct index (temp float ClipDistance)

+0:33          gl_ClipDistance: direct index for structure (out implicitly-sized array of float ClipDistance)

+0:33            direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

+0:33              'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:33              Constant:

 0:33                1 (const int)

 0:33            Constant:

@@ -110,15 +110,15 @@
 0:33            1 (const int)

 0:33        'cd' (temp float)

 0:35      move second child to first child (temp float)

-0:35        direct index (patch temp float)

-0:35          'gl_TessLevelOuter' (patch out 4-element array of float)

+0:35        direct index (patch temp float TessLevelOuter)

+0:35          'gl_TessLevelOuter' (patch out 4-element array of float TessLevelOuter)

 0:35          Constant:

 0:35            3 (const int)

 0:35        Constant:

 0:35          3.200000

 0:36      move second child to first child (temp float)

-0:36        direct index (patch temp float)

-0:36          'gl_TessLevelInner' (patch out 2-element array of float)

+0:36        direct index (patch temp float TessLevelInner)

+0:36          'gl_TessLevelInner' (patch out 2-element array of float TessLevelInner)

 0:36          Constant:

 0:36            1 (const int)

 0:36        Constant:

@@ -171,9 +171,9 @@
 0:67  Function Definition: foo( (global void)

 0:67    Function Parameters: 

 0:69    Sequence

-0:69      gl_PointSize: direct index for structure (out float)

-0:69        direct index (temp block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

-0:69          'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

+0:69      gl_PointSize: direct index for structure (out float PointSize)

+0:69        direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

+0:69          'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:69          Constant:

 0:69            4 (const int)

 0:69        Constant:

@@ -198,7 +198,7 @@
 0:97          'd' (temp double)

 0:97          'd' (temp double)

 0:?   Linker Objects

-0:?     'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

+0:?     'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:?     'outa' (global 4-element array of int)

 0:?     'patchIn' (patch in 4-component vector of float)

 0:?     'patchOut' (patch out 4-component vector of float)

@@ -268,38 +268,38 @@
 0:27      Sequence

 0:27        move second child to first child (temp int)

 0:27          'pvi' (temp int)

-0:27          'gl_PatchVerticesIn' (in int)

+0:27          'gl_PatchVerticesIn' (in int PatchVertices)

 0:28      Sequence

 0:28        move second child to first child (temp int)

 0:28          'pid' (temp int)

-0:28          'gl_PrimitiveID' (in int)

+0:28          'gl_PrimitiveID' (in int PrimitiveID)

 0:29      Sequence

 0:29        move second child to first child (temp int)

 0:29          'iid' (temp int)

-0:29          'gl_InvocationID' (in int)

+0:29          'gl_InvocationID' (in int InvocationID)

 0:31      move second child to first child (temp 4-component vector of float)

-0:31        gl_Position: direct index for structure (out 4-component vector of float)

-0:31          direct index (temp block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})

-0:31            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})

+0:31        gl_Position: direct index for structure (out 4-component vector of float Position)

+0:31          direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})

+0:31            'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})

 0:31            Constant:

 0:31              1 (const int)

 0:31          Constant:

 0:31            0 (const int)

 0:31        'p' (temp 4-component vector of float)

 0:32      move second child to first child (temp float)

-0:32        gl_PointSize: direct index for structure (out float)

-0:32          direct index (temp block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})

-0:32            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})

+0:32        gl_PointSize: direct index for structure (out float PointSize)

+0:32          direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})

+0:32            'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})

 0:32            Constant:

 0:32              1 (const int)

 0:32          Constant:

 0:32            1 (const int)

 0:32        'ps' (temp float)

 0:33      move second child to first child (temp float)

-0:33        direct index (temp float)

-0:33          gl_ClipDistance: direct index for structure (out 1-element array of float)

-0:33            direct index (temp block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})

-0:33              'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})

+0:33        direct index (temp float ClipDistance)

+0:33          gl_ClipDistance: direct index for structure (out 1-element array of float ClipDistance)

+0:33            direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})

+0:33              'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})

 0:33              Constant:

 0:33                1 (const int)

 0:33            Constant:

@@ -308,15 +308,15 @@
 0:33            1 (const int)

 0:33        'cd' (temp float)

 0:35      move second child to first child (temp float)

-0:35        direct index (patch temp float)

-0:35          'gl_TessLevelOuter' (patch out 4-element array of float)

+0:35        direct index (patch temp float TessLevelOuter)

+0:35          'gl_TessLevelOuter' (patch out 4-element array of float TessLevelOuter)

 0:35          Constant:

 0:35            3 (const int)

 0:35        Constant:

 0:35          3.200000

 0:36      move second child to first child (temp float)

-0:36        direct index (patch temp float)

-0:36          'gl_TessLevelInner' (patch out 2-element array of float)

+0:36        direct index (patch temp float TessLevelInner)

+0:36          'gl_TessLevelInner' (patch out 2-element array of float TessLevelInner)

 0:36          Constant:

 0:36            1 (const int)

 0:36        Constant:

@@ -369,9 +369,9 @@
 0:67  Function Definition: foo( (global void)

 0:67    Function Parameters: 

 0:69    Sequence

-0:69      gl_PointSize: direct index for structure (out float)

-0:69        direct index (temp block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})

-0:69          'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})

+0:69      gl_PointSize: direct index for structure (out float PointSize)

+0:69        direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})

+0:69          'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})

 0:69          Constant:

 0:69            4 (const int)

 0:69        Constant:

@@ -396,7 +396,7 @@
 0:97          'd' (temp double)

 0:97          'd' (temp double)

 0:?   Linker Objects

-0:?     'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})

+0:?     'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})

 0:?     'outa' (global 4-element array of int)

 0:?     'patchIn' (patch in 4-component vector of float)

 0:?     'patchOut' (patch out 4-component vector of float)

diff --git a/Test/baseResults/400.tese.out b/Test/baseResults/400.tese.out
index cfedb68..d95f431 100644
--- a/Test/baseResults/400.tese.out
+++ b/Test/baseResults/400.tese.out
@@ -86,45 +86,45 @@
 0:36      Sequence

 0:36        move second child to first child (temp int)

 0:36          'pvi' (temp int)

-0:36          'gl_PatchVerticesIn' (in int)

+0:36          'gl_PatchVerticesIn' (in int PatchVertices)

 0:37      Sequence

 0:37        move second child to first child (temp int)

 0:37          'pid' (temp int)

-0:37          'gl_PrimitiveID' (in int)

+0:37          'gl_PrimitiveID' (in int PrimitiveID)

 0:38      Sequence

 0:38        move second child to first child (temp 3-component vector of float)

 0:38          'tc' (temp 3-component vector of float)

-0:38          'gl_TessCoord' (in 3-component vector of float)

+0:38          'gl_TessCoord' (in 3-component vector of float TessCoord)

 0:39      Sequence

 0:39        move second child to first child (temp float)

 0:39          'tlo' (temp float)

-0:39          direct index (patch temp float)

-0:39            'gl_TessLevelOuter' (patch in 4-element array of float)

+0:39          direct index (patch temp float TessLevelOuter)

+0:39            'gl_TessLevelOuter' (patch in 4-element array of float TessLevelOuter)

 0:39            Constant:

 0:39              3 (const int)

 0:40      Sequence

 0:40        move second child to first child (temp float)

 0:40          'tli' (temp float)

-0:40          direct index (patch temp float)

-0:40            'gl_TessLevelInner' (patch in 2-element array of float)

+0:40          direct index (patch temp float TessLevelInner)

+0:40            'gl_TessLevelInner' (patch in 2-element array of float TessLevelInner)

 0:40            Constant:

 0:40              1 (const int)

 0:42      move second child to first child (temp 4-component vector of float)

-0:42        gl_Position: direct index for structure (gl_Position 4-component vector of float)

-0:42          'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

+0:42        gl_Position: direct index for structure (gl_Position 4-component vector of float Position)

+0:42          'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:42          Constant:

 0:42            0 (const uint)

 0:42        'p' (temp 4-component vector of float)

 0:43      move second child to first child (temp float)

-0:43        gl_PointSize: direct index for structure (gl_PointSize float)

-0:43          'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

+0:43        gl_PointSize: direct index for structure (gl_PointSize float PointSize)

+0:43          'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:43          Constant:

 0:43            1 (const uint)

 0:43        'ps' (temp float)

 0:44      move second child to first child (temp float)

-0:44        direct index (temp float)

-0:44          gl_ClipDistance: direct index for structure (out implicitly-sized array of float)

-0:44            'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

+0:44        direct index (temp float ClipDistance)

+0:44          gl_ClipDistance: direct index for structure (out implicitly-sized array of float ClipDistance)

+0:44            'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:44            Constant:

 0:44              2 (const uint)

 0:44          Constant:

@@ -133,7 +133,7 @@
 0:?   Linker Objects

 0:?     'patchIn' (patch in 4-component vector of float)

 0:?     'patchOut' (patch out 4-component vector of float)

-0:?     'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

+0:?     'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:?     'badp1' (smooth patch in 4-component vector of float)

 0:?     'badp2' (flat patch in 4-component vector of float)

 0:?     'badp3' (noperspective patch in 4-component vector of float)

@@ -211,45 +211,45 @@
 0:36      Sequence

 0:36        move second child to first child (temp int)

 0:36          'pvi' (temp int)

-0:36          'gl_PatchVerticesIn' (in int)

+0:36          'gl_PatchVerticesIn' (in int PatchVertices)

 0:37      Sequence

 0:37        move second child to first child (temp int)

 0:37          'pid' (temp int)

-0:37          'gl_PrimitiveID' (in int)

+0:37          'gl_PrimitiveID' (in int PrimitiveID)

 0:38      Sequence

 0:38        move second child to first child (temp 3-component vector of float)

 0:38          'tc' (temp 3-component vector of float)

-0:38          'gl_TessCoord' (in 3-component vector of float)

+0:38          'gl_TessCoord' (in 3-component vector of float TessCoord)

 0:39      Sequence

 0:39        move second child to first child (temp float)

 0:39          'tlo' (temp float)

-0:39          direct index (patch temp float)

-0:39            'gl_TessLevelOuter' (patch in 4-element array of float)

+0:39          direct index (patch temp float TessLevelOuter)

+0:39            'gl_TessLevelOuter' (patch in 4-element array of float TessLevelOuter)

 0:39            Constant:

 0:39              3 (const int)

 0:40      Sequence

 0:40        move second child to first child (temp float)

 0:40          'tli' (temp float)

-0:40          direct index (patch temp float)

-0:40            'gl_TessLevelInner' (patch in 2-element array of float)

+0:40          direct index (patch temp float TessLevelInner)

+0:40            'gl_TessLevelInner' (patch in 2-element array of float TessLevelInner)

 0:40            Constant:

 0:40              1 (const int)

 0:42      move second child to first child (temp 4-component vector of float)

-0:42        gl_Position: direct index for structure (gl_Position 4-component vector of float)

-0:42          'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 3-element array of float gl_ClipDistance})

+0:42        gl_Position: direct index for structure (gl_Position 4-component vector of float Position)

+0:42          'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})

 0:42          Constant:

 0:42            0 (const uint)

 0:42        'p' (temp 4-component vector of float)

 0:43      move second child to first child (temp float)

-0:43        gl_PointSize: direct index for structure (gl_PointSize float)

-0:43          'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 3-element array of float gl_ClipDistance})

+0:43        gl_PointSize: direct index for structure (gl_PointSize float PointSize)

+0:43          'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})

 0:43          Constant:

 0:43            1 (const uint)

 0:43        'ps' (temp float)

 0:44      move second child to first child (temp float)

-0:44        direct index (temp float)

-0:44          gl_ClipDistance: direct index for structure (out 3-element array of float)

-0:44            'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 3-element array of float gl_ClipDistance})

+0:44        direct index (temp float ClipDistance)

+0:44          gl_ClipDistance: direct index for structure (out 3-element array of float ClipDistance)

+0:44            'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})

 0:44            Constant:

 0:44              2 (const uint)

 0:44          Constant:

@@ -258,7 +258,7 @@
 0:?   Linker Objects

 0:?     'patchIn' (patch in 4-component vector of float)

 0:?     'patchOut' (patch out 4-component vector of float)

-0:?     'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 3-element array of float gl_ClipDistance})

+0:?     'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})

 0:?     'badp1' (smooth patch in 4-component vector of float)

 0:?     'badp2' (flat patch in 4-component vector of float)

 0:?     'badp3' (noperspective patch in 4-component vector of float)

diff --git a/Test/baseResults/410.geom.out b/Test/baseResults/410.geom.out
index 2250840..84ae0da 100644
--- a/Test/baseResults/410.geom.out
+++ b/Test/baseResults/410.geom.out
@@ -4,9 +4,9 @@
 ERROR: 0:12: 'gl_myIn' : no declaration found for redeclaration 

 ERROR: 0:20: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use 

 ERROR: 0:32: 'gl_Position' : no such field in structure 

-ERROR: 0:32: '=' :  cannot convert from 'temp block{in float gl_PointSize}' to 'temp 4-component vector of float'

+ERROR: 0:32: '=' :  cannot convert from 'temp block{in float PointSize gl_PointSize}' to 'temp 4-component vector of float'

 ERROR: 0:33: 'gl_Position' : member of nameless block was not redeclared 

-ERROR: 0:33: 'assign' :  cannot convert from 'const 4-component vector of float' to 'layout(stream=0 ) gl_Position void'

+ERROR: 0:33: 'assign' :  cannot convert from 'const 4-component vector of float' to 'layout(stream=0 ) gl_Position void Position'

 WARNING: 0:38: 'return' : type conversion on return values was not explicitly allowed until version 420 

 ERROR: 7 compilation errors.  No code generated.

 

@@ -21,7 +21,7 @@
 0:3    Function Parameters: 

 0:5    Sequence

 0:5      move second child to first child (temp int)

-0:5        'gl_ViewportIndex' (layout(stream=0 ) out int)

+0:5        'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex)

 0:5        Constant:

 0:5          7 (const int)

 0:28  Function Definition: foo( (global void)

@@ -30,21 +30,21 @@
 0:30      Sequence

 0:30        move second child to first child (temp float)

 0:30          'p' (temp float)

-0:30          gl_PointSize: direct index for structure (in float)

-0:30            direct index (temp block{in float gl_PointSize})

-0:30              'gl_in' (in implicitly-sized array of block{in float gl_PointSize})

+0:30          gl_PointSize: direct index for structure (in float PointSize)

+0:30            direct index (temp block{in float PointSize gl_PointSize})

+0:30              'gl_in' (in implicitly-sized array of block{in float PointSize gl_PointSize})

 0:30              Constant:

 0:30                1 (const int)

 0:30            Constant:

 0:30              0 (const int)

 0:31      move second child to first child (temp float)

-0:31        gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize float)

-0:31          'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, })

+0:31        gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize float PointSize)

+0:31          'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, })

 0:31          Constant:

 0:31            1 (const uint)

 0:31        'p' (temp float)

-0:33      gl_Position: direct index for structure (layout(stream=0 ) gl_Position void)

-0:33        'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, })

+0:33      gl_Position: direct index for structure (layout(stream=0 ) gl_Position void Position)

+0:33        'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, })

 0:33        Constant:

 0:33          0 (const uint)

 0:36  Function Definition: foo5( (global float)

@@ -54,8 +54,8 @@
 0:38        Constant:

 0:38          4.000000

 0:?   Linker Objects

-0:?     'gl_in' (in implicitly-sized array of block{in float gl_PointSize})

-0:?     'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, })

+0:?     'gl_in' (in implicitly-sized array of block{in float PointSize gl_PointSize})

+0:?     'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, })

 

 

 Linked geometry stage:

@@ -74,7 +74,7 @@
 0:3    Function Parameters: 

 0:5    Sequence

 0:5      move second child to first child (temp int)

-0:5        'gl_ViewportIndex' (layout(stream=0 ) out int)

+0:5        'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex)

 0:5        Constant:

 0:5          7 (const int)

 0:28  Function Definition: foo( (global void)

@@ -83,21 +83,21 @@
 0:30      Sequence

 0:30        move second child to first child (temp float)

 0:30          'p' (temp float)

-0:30          gl_PointSize: direct index for structure (in float)

-0:30            direct index (temp block{in float gl_PointSize})

-0:30              'gl_in' (in 2-element array of block{in float gl_PointSize})

+0:30          gl_PointSize: direct index for structure (in float PointSize)

+0:30            direct index (temp block{in float PointSize gl_PointSize})

+0:30              'gl_in' (in 2-element array of block{in float PointSize gl_PointSize})

 0:30              Constant:

 0:30                1 (const int)

 0:30            Constant:

 0:30              0 (const int)

 0:31      move second child to first child (temp float)

-0:31        gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize float)

-0:31          'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, })

+0:31        gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize float PointSize)

+0:31          'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, })

 0:31          Constant:

 0:31            1 (const uint)

 0:31        'p' (temp float)

-0:33      gl_Position: direct index for structure (layout(stream=0 ) gl_Position void)

-0:33        'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, })

+0:33      gl_Position: direct index for structure (layout(stream=0 ) gl_Position void Position)

+0:33        'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, })

 0:33        Constant:

 0:33          0 (const uint)

 0:36  Function Definition: foo5( (global float)

@@ -107,6 +107,6 @@
 0:38        Constant:

 0:38          4.000000

 0:?   Linker Objects

-0:?     'gl_in' (in 2-element array of block{in float gl_PointSize})

-0:?     'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, })

+0:?     'gl_in' (in 2-element array of block{in float PointSize gl_PointSize})

+0:?     'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, })

 

diff --git a/Test/baseResults/410.tesc.out b/Test/baseResults/410.tesc.out
index 5ad2348..1440758 100644
--- a/Test/baseResults/410.tesc.out
+++ b/Test/baseResults/410.tesc.out
@@ -10,7 +10,7 @@
 0:8  Function Definition: main( (global void)

 0:8    Function Parameters: 

 0:?   Linker Objects

-0:?     'gl_out' (out implicitly-sized array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})

+0:?     'gl_out' (out implicitly-sized array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:?     'outa' (global 1-element array of int)

 0:?     'patchOut' (patch out 4-component vector of float)

 

@@ -25,7 +25,7 @@
 0:8  Function Definition: main( (global void)

 0:8    Function Parameters: 

 0:?   Linker Objects

-0:?     'gl_out' (out 1-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})

+0:?     'gl_out' (out 1-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})

 0:?     'outa' (global 1-element array of int)

 0:?     'patchOut' (patch out 4-component vector of float)

 

diff --git a/Test/baseResults/420.frag.out b/Test/baseResults/420.frag.out
index e47dcbc..ddb3b99 100644
--- a/Test/baseResults/420.frag.out
+++ b/Test/baseResults/420.frag.out
@@ -13,12 +13,12 @@
 0:6    Function Parameters: 

 0:8    Sequence

 0:8      move second child to first child (temp float)

-0:8        'gl_FragDepth' (gl_FragDepth float)

+0:8        'gl_FragDepth' (gl_FragDepth float FragDepth)

 0:8        Constant:

 0:8          0.300000

 0:?   Linker Objects

-0:?     'gl_FragDepth' (gl_FragDepth float)

-0:?     'gl_FragDepth' (gl_FragDepth float)

+0:?     'gl_FragDepth' (gl_FragDepth float FragDepth)

+0:?     'gl_FragDepth' (gl_FragDepth float FragDepth)

 0:?     'depth' (smooth in float)

 

 

@@ -32,11 +32,11 @@
 0:6    Function Parameters: 

 0:8    Sequence

 0:8      move second child to first child (temp float)

-0:8        'gl_FragDepth' (gl_FragDepth float)

+0:8        'gl_FragDepth' (gl_FragDepth float FragDepth)

 0:8        Constant:

 0:8          0.300000

 0:?   Linker Objects

-0:?     'gl_FragDepth' (gl_FragDepth float)

-0:?     'gl_FragDepth' (gl_FragDepth float)

+0:?     'gl_FragDepth' (gl_FragDepth float FragDepth)

+0:?     'gl_FragDepth' (gl_FragDepth float FragDepth)

 0:?     'depth' (smooth in float)

 

diff --git a/Test/baseResults/420.geom.out b/Test/baseResults/420.geom.out
index 100975c..2503173 100644
--- a/Test/baseResults/420.geom.out
+++ b/Test/baseResults/420.geom.out
@@ -20,16 +20,16 @@
 0:9    Sequence

 0:9      Constant:

 0:9        1 (const int)

-0:10      gl_Position: direct index for structure (in 4-component vector of float)

-0:10        direct index (temp block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})

-0:10          'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})

+0:10      gl_Position: direct index for structure (in 4-component vector of float Position)

+0:10        direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})

+0:10          'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:10          Constant:

 0:10            1 (const int)

 0:10        Constant:

 0:10          0 (const int)

-0:11      gl_Position: direct index for structure (in 4-component vector of float)

-0:11        indirect index (temp block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})

-0:11          'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})

+0:11      gl_Position: direct index for structure (in 4-component vector of float Position)

+0:11        indirect index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})

+0:11          'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:11          'i' (global int)

 0:11        Constant:

 0:11          0 (const int)

@@ -38,9 +38,9 @@
 0:20    Sequence

 0:20      Constant:

 0:20        3 (const int)

-0:21      gl_Position: direct index for structure (in 4-component vector of float)

-0:21        indirect index (temp block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})

-0:21          'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})

+0:21      gl_Position: direct index for structure (in 4-component vector of float Position)

+0:21        indirect index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})

+0:21          'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:21          'i' (global int)

 0:21        Constant:

 0:21          0 (const int)

@@ -122,12 +122,12 @@
 0:54          'i' (global int)

 0:?   Linker Objects

 0:?     'i' (global int)

-0:?     'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})

+0:?     'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:?     'color3' (in 3-element array of 4-component vector of float)

 0:?     's2D' (uniform sampler2D)

 0:?     'coord' (in 3-element array of 2-component vector of float)

 0:?     'v4' (uniform 4-component vector of float)

-0:?     'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, layout(stream=0 ) out implicitly-sized array of float gl_ClipDistance})

+0:?     'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out implicitly-sized array of float ClipDistance gl_ClipDistance})

 

 

 Linked geometry stage:

@@ -147,16 +147,16 @@
 0:9    Sequence

 0:9      Constant:

 0:9        1 (const int)

-0:10      gl_Position: direct index for structure (in 4-component vector of float)

-0:10        direct index (temp block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})

-0:10          'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})

+0:10      gl_Position: direct index for structure (in 4-component vector of float Position)

+0:10        direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})

+0:10          'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})

 0:10          Constant:

 0:10            1 (const int)

 0:10        Constant:

 0:10          0 (const int)

-0:11      gl_Position: direct index for structure (in 4-component vector of float)

-0:11        indirect index (temp block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})

-0:11          'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})

+0:11      gl_Position: direct index for structure (in 4-component vector of float Position)

+0:11        indirect index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})

+0:11          'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})

 0:11          'i' (global int)

 0:11        Constant:

 0:11          0 (const int)

@@ -165,9 +165,9 @@
 0:20    Sequence

 0:20      Constant:

 0:20        3 (const int)

-0:21      gl_Position: direct index for structure (in 4-component vector of float)

-0:21        indirect index (temp block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})

-0:21          'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})

+0:21      gl_Position: direct index for structure (in 4-component vector of float Position)

+0:21        indirect index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})

+0:21          'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})

 0:21          'i' (global int)

 0:21        Constant:

 0:21          0 (const int)

@@ -249,10 +249,10 @@
 0:54          'i' (global int)

 0:?   Linker Objects

 0:?     'i' (global int)

-0:?     'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})

+0:?     'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})

 0:?     'color3' (in 3-element array of 4-component vector of float)

 0:?     's2D' (uniform sampler2D)

 0:?     'coord' (in 3-element array of 2-component vector of float)

 0:?     'v4' (uniform 4-component vector of float)

-0:?     'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, layout(stream=0 ) out 1-element array of float gl_ClipDistance})

+0:?     'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out 1-element array of float ClipDistance gl_ClipDistance})

 

diff --git a/Test/baseResults/420.tesc.out b/Test/baseResults/420.tesc.out
index fcabdf2..b53f3fd 100644
--- a/Test/baseResults/420.tesc.out
+++ b/Test/baseResults/420.tesc.out
@@ -4,7 +4,7 @@
 ERROR: 0:11: 'vertices' : inconsistent output number of vertices for array size of a

 ERROR: 0:12: 'vertices' : inconsistent output number of vertices for array size of outb

 ERROR: 0:26: 'gl_PointSize' : no such field in structure 

-ERROR: 0:26: 'assign' :  cannot convert from 'temp float' to 'temp block{out 4-component vector of float gl_Position}'

+ERROR: 0:26: 'assign' :  cannot convert from 'temp float' to 'temp block{out 4-component vector of float Position gl_Position}'

 ERROR: 0:29: 'out' : type must be an array: outf

 ERROR: 6 compilation errors.  No code generated.

 

@@ -52,26 +52,26 @@
 0:21      Sequence

 0:21        move second child to first child (temp int)

 0:21          'pvi' (temp int)

-0:21          'gl_PatchVerticesIn' (in int)

+0:21          'gl_PatchVerticesIn' (in int PatchVertices)

 0:22      Sequence

 0:22        move second child to first child (temp int)

 0:22          'pid' (temp int)

-0:22          'gl_PrimitiveID' (in int)

+0:22          'gl_PrimitiveID' (in int PrimitiveID)

 0:23      Sequence

 0:23        move second child to first child (temp int)

 0:23          'iid' (temp int)

-0:23          'gl_InvocationID' (in int)

+0:23          'gl_InvocationID' (in int InvocationID)

 0:25      move second child to first child (temp 4-component vector of float)

-0:25        gl_Position: direct index for structure (out 4-component vector of float)

-0:25          direct index (temp block{out 4-component vector of float gl_Position})

-0:25            'gl_out' (out 3-element array of block{out 4-component vector of float gl_Position})

+0:25        gl_Position: direct index for structure (out 4-component vector of float Position)

+0:25          direct index (temp block{out 4-component vector of float Position gl_Position})

+0:25            'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})

 0:25            Constant:

 0:25              1 (const int)

 0:25          Constant:

 0:25            0 (const int)

 0:25        'p' (temp 4-component vector of float)

-0:26      direct index (temp block{out 4-component vector of float gl_Position})

-0:26        'gl_out' (out 3-element array of block{out 4-component vector of float gl_Position})

+0:26      direct index (temp block{out 4-component vector of float Position gl_Position})

+0:26        'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})

 0:26        Constant:

 0:26          1 (const int)

 0:34  Function Definition: foo( (global void)

@@ -110,7 +110,7 @@
 0:37                0 (const int)

 0:36        true case is null

 0:?   Linker Objects

-0:?     'gl_out' (out 3-element array of block{out 4-component vector of float gl_Position})

+0:?     'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})

 0:?     'a' (out 3-element array of int)

 0:?     'outb' (out 5-element array of int)

 0:?     'outc' (out 4-element array of int)

@@ -165,26 +165,26 @@
 0:21      Sequence

 0:21        move second child to first child (temp int)

 0:21          'pvi' (temp int)

-0:21          'gl_PatchVerticesIn' (in int)

+0:21          'gl_PatchVerticesIn' (in int PatchVertices)

 0:22      Sequence

 0:22        move second child to first child (temp int)

 0:22          'pid' (temp int)

-0:22          'gl_PrimitiveID' (in int)

+0:22          'gl_PrimitiveID' (in int PrimitiveID)

 0:23      Sequence

 0:23        move second child to first child (temp int)

 0:23          'iid' (temp int)

-0:23          'gl_InvocationID' (in int)

+0:23          'gl_InvocationID' (in int InvocationID)

 0:25      move second child to first child (temp 4-component vector of float)

-0:25        gl_Position: direct index for structure (out 4-component vector of float)

-0:25          direct index (temp block{out 4-component vector of float gl_Position})

-0:25            'gl_out' (out 3-element array of block{out 4-component vector of float gl_Position})

+0:25        gl_Position: direct index for structure (out 4-component vector of float Position)

+0:25          direct index (temp block{out 4-component vector of float Position gl_Position})

+0:25            'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})

 0:25            Constant:

 0:25              1 (const int)

 0:25          Constant:

 0:25            0 (const int)

 0:25        'p' (temp 4-component vector of float)

-0:26      direct index (temp block{out 4-component vector of float gl_Position})

-0:26        'gl_out' (out 3-element array of block{out 4-component vector of float gl_Position})

+0:26      direct index (temp block{out 4-component vector of float Position gl_Position})

+0:26        'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})

 0:26        Constant:

 0:26          1 (const int)

 0:34  Function Definition: foo( (global void)

@@ -223,7 +223,7 @@
 0:37                0 (const int)

 0:36        true case is null

 0:?   Linker Objects

-0:?     'gl_out' (out 3-element array of block{out 4-component vector of float gl_Position})

+0:?     'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})

 0:?     'a' (out 3-element array of int)

 0:?     'outb' (out 5-element array of int)

 0:?     'outc' (out 4-element array of int)

diff --git a/Test/baseResults/420.vert.out b/Test/baseResults/420.vert.out
index de0f1fa..a673596 100644
--- a/Test/baseResults/420.vert.out
+++ b/Test/baseResults/420.vert.out
@@ -268,7 +268,7 @@
 0:?     'sampb3' (layout(binding=80 ) uniform sampler2D)

 0:?     'sampb4' (layout(binding=31 ) uniform sampler2D)

 0:?     'sampb5' (layout(binding=79 ) uniform 2-element array of sampler2D)

-0:?     'anon@3' (out block{out implicitly-sized array of float gl_ClipDistance, })

+0:?     'anon@3' (out block{out implicitly-sized array of float ClipDistance gl_ClipDistance, })

 0:?     'patchIn' (patch in 4-component vector of float)

 0:?     'patchOut' (smooth patch out 4-component vector of float)

 0:?     'comma0' (temp int)

@@ -290,8 +290,8 @@
 0:?     'i5bad' (layout(rgba32ui ) uniform iimage2D)

 0:?     'i6bad' (layout(r8ui ) uniform iimage2D)

 0:?     'offcheckI' (layout(column_major shared ) uniform block{layout(column_major shared offset=16 ) uniform int foo})

-0:?     'gl_VertexID' (gl_VertexId int)

-0:?     'gl_InstanceID' (gl_InstanceId int)

+0:?     'gl_VertexID' (gl_VertexId int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId int InstanceId)

 

 

 Linked vertex stage:

@@ -513,7 +513,7 @@
 0:?     'sampb3' (layout(binding=80 ) uniform sampler2D)

 0:?     'sampb4' (layout(binding=31 ) uniform sampler2D)

 0:?     'sampb5' (layout(binding=79 ) uniform 2-element array of sampler2D)

-0:?     'anon@3' (out block{out 1-element array of float gl_ClipDistance, })

+0:?     'anon@3' (out block{out 1-element array of float ClipDistance gl_ClipDistance, })

 0:?     'patchIn' (patch in 4-component vector of float)

 0:?     'patchOut' (smooth patch out 4-component vector of float)

 0:?     'comma0' (temp int)

@@ -535,6 +535,6 @@
 0:?     'i5bad' (layout(rgba32ui ) uniform iimage2D)

 0:?     'i6bad' (layout(r8ui ) uniform iimage2D)

 0:?     'offcheckI' (layout(column_major shared ) uniform block{layout(column_major shared offset=16 ) uniform int foo})

-0:?     'gl_VertexID' (gl_VertexId int)

-0:?     'gl_InstanceID' (gl_InstanceId int)

+0:?     'gl_VertexID' (gl_VertexId int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId int InstanceId)

 

diff --git a/Test/baseResults/420_size_gl_in.geom.out b/Test/baseResults/420_size_gl_in.geom.out
index 05a651b..43f7c2e 100644
--- a/Test/baseResults/420_size_gl_in.geom.out
+++ b/Test/baseResults/420_size_gl_in.geom.out
@@ -15,18 +15,18 @@
 0:13    Sequence

 0:13      Constant:

 0:13        3 (const int)

-0:14      gl_Position: direct index for structure (in 4-component vector of float)

-0:14        direct index (temp block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})

-0:14          'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})

+0:14      gl_Position: direct index for structure (in 4-component vector of float Position)

+0:14        direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})

+0:14          'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:14          Constant:

 0:14            1 (const int)

 0:14        Constant:

 0:14          0 (const int)

 0:15      Constant:

 0:15        3 (const int)

-0:16      gl_Position: direct index for structure (in 4-component vector of float)

-0:16        indirect index (temp block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})

-0:16          'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})

+0:16      gl_Position: direct index for structure (in 4-component vector of float Position)

+0:16        indirect index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})

+0:16          'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})

 0:16          'i' (global int)

 0:16        Constant:

 0:16          0 (const int)

@@ -34,7 +34,7 @@
 0:?     'i' (global int)

 0:?     'colorun' (in 3-element array of 4-component vector of float)

 0:?     'color3' (in 3-element array of 4-component vector of float)

-0:?     'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})

+0:?     'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})

 

 

 Linked geometry stage:

@@ -54,18 +54,18 @@
 0:13    Sequence

 0:13      Constant:

 0:13        3 (const int)

-0:14      gl_Position: direct index for structure (in 4-component vector of float)

-0:14        direct index (temp block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})

-0:14          'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})

+0:14      gl_Position: direct index for structure (in 4-component vector of float Position)

+0:14        direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})

+0:14          'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})

 0:14          Constant:

 0:14            1 (const int)

 0:14        Constant:

 0:14          0 (const int)

 0:15      Constant:

 0:15        3 (const int)

-0:16      gl_Position: direct index for structure (in 4-component vector of float)

-0:16        indirect index (temp block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})

-0:16          'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})

+0:16      gl_Position: direct index for structure (in 4-component vector of float Position)

+0:16        indirect index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})

+0:16          'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})

 0:16          'i' (global int)

 0:16        Constant:

 0:16          0 (const int)

@@ -73,5 +73,5 @@
 0:?     'i' (global int)

 0:?     'colorun' (in 3-element array of 4-component vector of float)

 0:?     'color3' (in 3-element array of 4-component vector of float)

-0:?     'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})

+0:?     'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})

 

diff --git a/Test/baseResults/430.comp.out b/Test/baseResults/430.comp.out
index 463860b..c31196d 100644
--- a/Test/baseResults/430.comp.out
+++ b/Test/baseResults/430.comp.out
@@ -42,7 +42,7 @@
 0:36              'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})

 0:36              Constant:

 0:36                1 (const uint)

-0:36            'gl_LocalInvocationIndex' (in uint)

+0:36            'gl_LocalInvocationIndex' (in uint LocalInvocationIndex)

 0:39      Test condition and select (temp void)

 0:39        Condition

 0:39        Compare Greater Than (temp bool)

@@ -78,7 +78,7 @@
 0:73          'storePos' (temp 2-component vector of int)

 0:73          Convert uint to int (temp 2-component vector of int)

 0:73            vector swizzle (temp 2-component vector of uint)

-0:73              'gl_GlobalInvocationID' (in 3-component vector of uint)

+0:73              'gl_GlobalInvocationID' (in 3-component vector of uint GlobalInvocationID)

 0:73              Sequence

 0:73                Constant:

 0:73                  0 (const int)

@@ -94,7 +94,7 @@
 0:74                  subtract (temp 2-component vector of int)

 0:74                    Convert uint to int (temp 2-component vector of int)

 0:74                      vector swizzle (temp 2-component vector of uint)

-0:74                        'gl_LocalInvocationID' (in 3-component vector of uint)

+0:74                        'gl_LocalInvocationID' (in 3-component vector of uint LocalInvocationID)

 0:74                        Sequence

 0:74                          Constant:

 0:74                            0 (const int)

@@ -123,7 +123,7 @@
 0:78          Convert int to double (temp double)

 0:78            'i' (temp int)

 0:?   Linker Objects

-0:?     'gl_WorkGroupSize' (const 3-component vector of uint)

+0:?     'gl_WorkGroupSize' (const 3-component vector of uint WorkGroupSize)

 0:?       2 (const uint)

 0:?       1 (const uint)

 0:?       4096 (const uint)

@@ -172,7 +172,7 @@
 0:36              'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})

 0:36              Constant:

 0:36                1 (const uint)

-0:36            'gl_LocalInvocationIndex' (in uint)

+0:36            'gl_LocalInvocationIndex' (in uint LocalInvocationIndex)

 0:39      Test condition and select (temp void)

 0:39        Condition

 0:39        Compare Greater Than (temp bool)

@@ -208,7 +208,7 @@
 0:73          'storePos' (temp 2-component vector of int)

 0:73          Convert uint to int (temp 2-component vector of int)

 0:73            vector swizzle (temp 2-component vector of uint)

-0:73              'gl_GlobalInvocationID' (in 3-component vector of uint)

+0:73              'gl_GlobalInvocationID' (in 3-component vector of uint GlobalInvocationID)

 0:73              Sequence

 0:73                Constant:

 0:73                  0 (const int)

@@ -224,7 +224,7 @@
 0:74                  subtract (temp 2-component vector of int)

 0:74                    Convert uint to int (temp 2-component vector of int)

 0:74                      vector swizzle (temp 2-component vector of uint)

-0:74                        'gl_LocalInvocationID' (in 3-component vector of uint)

+0:74                        'gl_LocalInvocationID' (in 3-component vector of uint LocalInvocationID)

 0:74                        Sequence

 0:74                          Constant:

 0:74                            0 (const int)

@@ -253,7 +253,7 @@
 0:78          Convert int to double (temp double)

 0:78            'i' (temp int)

 0:?   Linker Objects

-0:?     'gl_WorkGroupSize' (const 3-component vector of uint)

+0:?     'gl_WorkGroupSize' (const 3-component vector of uint WorkGroupSize)

 0:?       2 (const uint)

 0:?       1 (const uint)

 0:?       4096 (const uint)

diff --git a/Test/baseResults/430.vert.out b/Test/baseResults/430.vert.out
index 52f1a28..e63c105 100644
--- a/Test/baseResults/430.vert.out
+++ b/Test/baseResults/430.vert.out
@@ -71,9 +71,9 @@
 0:14    Function Parameters: 

 0:16    Sequence

 0:16      move second child to first child (temp float)

-0:16        direct index (temp float)

-0:16          gl_ClipDistance: direct index for structure (out 17-element array of float)

-0:16            'anon@0' (out block{out 17-element array of float gl_ClipDistance, })

+0:16        direct index (temp float ClipDistance)

+0:16          gl_ClipDistance: direct index for structure (out 17-element array of float ClipDistance)

+0:16            'anon@0' (out block{out 17-element array of float ClipDistance gl_ClipDistance, })

 0:16            Constant:

 0:16              2 (const uint)

 0:16          Constant:

@@ -144,7 +144,7 @@
 0:?     'uv4' (layout(location=4 ) uniform 4-component vector of float)

 0:?     'b1' (layout(location=2 ) in block{in 4-component vector of float v})

 0:?     'b2' (layout(location=2 ) out block{out 4-component vector of float v})

-0:?     'anon@0' (out block{out 17-element array of float gl_ClipDistance, })

+0:?     'anon@0' (out block{out 17-element array of float ClipDistance gl_ClipDistance, })

 0:?     'cs' (layout(location=10 ) smooth out 2-element array of structure{global 7-element array of 3X2 matrix of float m, global float f})

 0:?     'cf' (layout(location=54 ) smooth out float)

 0:?     'cg' (layout(location=53 ) smooth out float)

@@ -184,8 +184,8 @@
 0:?     'us2dmsa' (uniform usampler2DMSArray)

 0:?     'ii2dms' (layout(rgba32i ) uniform iimage2DMS)

 0:?     'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)

-0:?     'gl_VertexID' (gl_VertexId int)

-0:?     'gl_InstanceID' (gl_InstanceId int)

+0:?     'gl_VertexID' (gl_VertexId int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId int InstanceId)

 

 

 Linked vertex stage:

@@ -203,9 +203,9 @@
 0:14    Function Parameters: 

 0:16    Sequence

 0:16      move second child to first child (temp float)

-0:16        direct index (temp float)

-0:16          gl_ClipDistance: direct index for structure (out 17-element array of float)

-0:16            'anon@0' (out block{out 17-element array of float gl_ClipDistance, })

+0:16        direct index (temp float ClipDistance)

+0:16          gl_ClipDistance: direct index for structure (out 17-element array of float ClipDistance)

+0:16            'anon@0' (out block{out 17-element array of float ClipDistance gl_ClipDistance, })

 0:16            Constant:

 0:16              2 (const uint)

 0:16          Constant:

@@ -276,7 +276,7 @@
 0:?     'uv4' (layout(location=4 ) uniform 4-component vector of float)

 0:?     'b1' (layout(location=2 ) in block{in 4-component vector of float v})

 0:?     'b2' (layout(location=2 ) out block{out 4-component vector of float v})

-0:?     'anon@0' (out block{out 17-element array of float gl_ClipDistance, })

+0:?     'anon@0' (out block{out 17-element array of float ClipDistance gl_ClipDistance, })

 0:?     'cs' (layout(location=10 ) smooth out 2-element array of structure{global 7-element array of 3X2 matrix of float m, global float f})

 0:?     'cf' (layout(location=54 ) smooth out float)

 0:?     'cg' (layout(location=53 ) smooth out float)

@@ -316,6 +316,6 @@
 0:?     'us2dmsa' (uniform usampler2DMSArray)

 0:?     'ii2dms' (layout(rgba32i ) uniform iimage2DMS)

 0:?     'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)

-0:?     'gl_VertexID' (gl_VertexId int)

-0:?     'gl_InstanceID' (gl_InstanceId int)

+0:?     'gl_VertexID' (gl_VertexId int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId int InstanceId)

 

diff --git a/Test/baseResults/430scope.vert.out b/Test/baseResults/430scope.vert.out
index 4255ad1..beb0b32 100644
--- a/Test/baseResults/430scope.vert.out
+++ b/Test/baseResults/430scope.vert.out
@@ -63,8 +63,8 @@
 0:47        Constant:

 0:47          3.000000

 0:49      move second child to first child (temp 4-component vector of float)

-0:49        gl_Position: direct index for structure (invariant gl_Position 4-component vector of float)

-0:49          'anon@0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})

+0:49        gl_Position: direct index for structure (invariant gl_Position 4-component vector of float Position)

+0:49          'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})

 0:49          Constant:

 0:49            0 (const uint)

 0:49        Construct vec4 (temp 4-component vector of float)

@@ -121,8 +121,8 @@
 0:?   Linker Objects

 0:?     'b' (global bool)

 0:?     'tan' (global float)

-0:?     'gl_VertexID' (gl_VertexId int)

-0:?     'gl_InstanceID' (gl_InstanceId int)

+0:?     'gl_VertexID' (gl_VertexId int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId int InstanceId)

 

 

 Linked vertex stage:

@@ -180,8 +180,8 @@
 0:47        Constant:

 0:47          3.000000

 0:49      move second child to first child (temp 4-component vector of float)

-0:49        gl_Position: direct index for structure (invariant gl_Position 4-component vector of float)

-0:49          'anon@0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 1-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out 1-element array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})

+0:49        gl_Position: direct index for structure (invariant gl_Position 4-component vector of float Position)

+0:49          'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})

 0:49          Constant:

 0:49            0 (const uint)

 0:49        Construct vec4 (temp 4-component vector of float)

@@ -238,6 +238,6 @@
 0:?   Linker Objects

 0:?     'b' (global bool)

 0:?     'tan' (global float)

-0:?     'gl_VertexID' (gl_VertexId int)

-0:?     'gl_InstanceID' (gl_InstanceId int)

+0:?     'gl_VertexID' (gl_VertexId int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId int InstanceId)

 

diff --git a/Test/baseResults/440.vert.out b/Test/baseResults/440.vert.out
index 5f67d9b..b4d85b1 100644
--- a/Test/baseResults/440.vert.out
+++ b/Test/baseResults/440.vert.out
@@ -97,8 +97,8 @@
 0:?     'bbinst9' (out block{layout(xfb_buffer=4 xfb_offset=1 ) out bool b, layout(xfb_buffer=4 xfb_offset=12 ) out structure{global bool b, global structure{global int i, global double d, global float f} s, global 2-component vector of float v2} t, layout(xfb_buffer=4 xfb_offset=52 ) out 3X3 matrix of float m3, layout(xfb_buffer=4 xfb_offset=90 ) out int i, layout(xfb_buffer=4 xfb_offset=98 ) out double d, layout(xfb_buffer=4 xfb_offset=108 ) out structure{global int a} s})

 0:?     'bm' (layout(xfb_buffer=5 xfb_offset=0 ) smooth out float)

 0:?     'bbinst10' (out block{layout(xfb_buffer=7 xfb_offset=0 ) out 4X4 matrix of double m1, layout(xfb_buffer=7 xfb_offset=128 ) out 4X4 matrix of double m2, layout(xfb_buffer=7 xfb_offset=256 ) out float f})

-0:?     'gl_VertexID' (gl_VertexId int)

-0:?     'gl_InstanceID' (gl_InstanceId int)

+0:?     'gl_VertexID' (gl_VertexId int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId int InstanceId)

 

 

 Linked vertex stage:

@@ -165,6 +165,6 @@
 0:?     'bbinst9' (out block{layout(xfb_buffer=4 xfb_offset=1 ) out bool b, layout(xfb_buffer=4 xfb_offset=12 ) out structure{global bool b, global structure{global int i, global double d, global float f} s, global 2-component vector of float v2} t, layout(xfb_buffer=4 xfb_offset=52 ) out 3X3 matrix of float m3, layout(xfb_buffer=4 xfb_offset=90 ) out int i, layout(xfb_buffer=4 xfb_offset=98 ) out double d, layout(xfb_buffer=4 xfb_offset=108 ) out structure{global int a} s})

 0:?     'bm' (layout(xfb_buffer=5 xfb_offset=0 ) smooth out float)

 0:?     'bbinst10' (out block{layout(xfb_buffer=7 xfb_offset=0 ) out 4X4 matrix of double m1, layout(xfb_buffer=7 xfb_offset=128 ) out 4X4 matrix of double m2, layout(xfb_buffer=7 xfb_offset=256 ) out float f})

-0:?     'gl_VertexID' (gl_VertexId int)

-0:?     'gl_InstanceID' (gl_InstanceId int)

+0:?     'gl_VertexID' (gl_VertexId int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId int InstanceId)

 

diff --git a/Test/baseResults/450.frag.out b/Test/baseResults/450.frag.out
index 45d0d9b..fa47d11 100644
--- a/Test/baseResults/450.frag.out
+++ b/Test/baseResults/450.frag.out
@@ -50,8 +50,8 @@
 0:18      Sequence

 0:18        move second child to first child (temp float)

 0:18          'cull' (temp float)

-0:18          direct index (smooth temp float)

-0:18            'gl_CullDistance' (smooth in implicitly-sized array of float)

+0:18          direct index (smooth temp float CullDistance)

+0:18            'gl_CullDistance' (smooth in implicitly-sized array of float CullDistance)

 0:18            Constant:

 0:18              2 (const int)

 0:19      Sequence

@@ -61,7 +61,7 @@
 0:19            20.000000

 0:21      Test condition and select (temp void)

 0:21        Condition

-0:21        'gl_HelperInvocation' (in bool)

+0:21        'gl_HelperInvocation' (in bool HelperInvocation)

 0:21        true case

 0:22        Pre-Increment (temp 4-component vector of float)

 0:22          'v4' (temp 4-component vector of float)

@@ -135,7 +135,7 @@
 0:?     'in2' (smooth in 2-component vector of float)

 0:?     'in3' (smooth in 3-component vector of float)

 0:?     'in4' (smooth in 4-component vector of float)

-0:?     'gl_CullDistance' (smooth in implicitly-sized array of float)

+0:?     'gl_CullDistance' (smooth in implicitly-sized array of float CullDistance)

 0:?     's2dms' (uniform sampler2DMS)

 0:?     'us2dmsa' (uniform usampler2DMSArray)

 0:?     'ii2dms' (layout(rgba32i ) uniform iimage2DMS)

@@ -194,8 +194,8 @@
 0:18      Sequence

 0:18        move second child to first child (temp float)

 0:18          'cull' (temp float)

-0:18          direct index (smooth temp float)

-0:18            'gl_CullDistance' (smooth in 3-element array of float)

+0:18          direct index (smooth temp float CullDistance)

+0:18            'gl_CullDistance' (smooth in 3-element array of float CullDistance)

 0:18            Constant:

 0:18              2 (const int)

 0:19      Sequence

@@ -205,7 +205,7 @@
 0:19            20.000000

 0:21      Test condition and select (temp void)

 0:21        Condition

-0:21        'gl_HelperInvocation' (in bool)

+0:21        'gl_HelperInvocation' (in bool HelperInvocation)

 0:21        true case

 0:22        Pre-Increment (temp 4-component vector of float)

 0:22          'v4' (temp 4-component vector of float)

@@ -279,7 +279,7 @@
 0:?     'in2' (smooth in 2-component vector of float)

 0:?     'in3' (smooth in 3-component vector of float)

 0:?     'in4' (smooth in 4-component vector of float)

-0:?     'gl_CullDistance' (smooth in 3-element array of float)

+0:?     'gl_CullDistance' (smooth in 3-element array of float CullDistance)

 0:?     's2dms' (uniform sampler2DMS)

 0:?     'us2dmsa' (uniform usampler2DMSArray)

 0:?     'ii2dms' (layout(rgba32i ) uniform iimage2DMS)

diff --git a/Test/baseResults/450.geom.out b/Test/baseResults/450.geom.out
index e2b7b9f..b54f58d 100644
--- a/Test/baseResults/450.geom.out
+++ b/Test/baseResults/450.geom.out
@@ -11,17 +11,17 @@
 0:11    Function Parameters: 

 0:13    Sequence

 0:13      move second child to first child (temp float)

-0:13        direct index (layout(stream=0 ) temp float)

-0:13          gl_CullDistance: direct index for structure (layout(stream=0 ) out implicitly-sized array of float)

-0:13            'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out implicitly-sized array of float gl_CullDistance})

+0:13        direct index (layout(stream=0 ) temp float CullDistance)

+0:13          gl_CullDistance: direct index for structure (layout(stream=0 ) out implicitly-sized array of float CullDistance)

+0:13            'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out implicitly-sized array of float CullDistance gl_CullDistance})

 0:13            Constant:

 0:13              3 (const uint)

 0:13          Constant:

 0:13            2 (const int)

-0:13        direct index (temp float)

-0:13          gl_CullDistance: direct index for structure (in implicitly-sized array of float)

-0:13            direct index (temp block{in implicitly-sized array of float gl_CullDistance})

-0:13              'gl_in' (in implicitly-sized array of block{in implicitly-sized array of float gl_CullDistance})

+0:13        direct index (temp float CullDistance)

+0:13          gl_CullDistance: direct index for structure (in implicitly-sized array of float CullDistance)

+0:13            direct index (temp block{in implicitly-sized array of float CullDistance gl_CullDistance})

+0:13              'gl_in' (in implicitly-sized array of block{in implicitly-sized array of float CullDistance gl_CullDistance})

 0:13              Constant:

 0:13                1 (const int)

 0:13            Constant:

@@ -29,8 +29,8 @@
 0:13          Constant:

 0:13            2 (const int)

 0:?   Linker Objects

-0:?     'gl_in' (in implicitly-sized array of block{in implicitly-sized array of float gl_CullDistance})

-0:?     'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out implicitly-sized array of float gl_CullDistance})

+0:?     'gl_in' (in implicitly-sized array of block{in implicitly-sized array of float CullDistance gl_CullDistance})

+0:?     'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out implicitly-sized array of float CullDistance gl_CullDistance})

 

 

 Linked geometry stage:

@@ -49,17 +49,17 @@
 0:11    Function Parameters: 

 0:13    Sequence

 0:13      move second child to first child (temp float)

-0:13        direct index (layout(stream=0 ) temp float)

-0:13          gl_CullDistance: direct index for structure (layout(stream=0 ) out 3-element array of float)

-0:13            'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-element array of float gl_CullDistance})

+0:13        direct index (layout(stream=0 ) temp float CullDistance)

+0:13          gl_CullDistance: direct index for structure (layout(stream=0 ) out 3-element array of float CullDistance)

+0:13            'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-element array of float CullDistance gl_CullDistance})

 0:13            Constant:

 0:13              3 (const uint)

 0:13          Constant:

 0:13            2 (const int)

-0:13        direct index (temp float)

-0:13          gl_CullDistance: direct index for structure (in 1-element array of float)

-0:13            direct index (temp block{in 1-element array of float gl_CullDistance})

-0:13              'gl_in' (in 2-element array of block{in 1-element array of float gl_CullDistance})

+0:13        direct index (temp float CullDistance)

+0:13          gl_CullDistance: direct index for structure (in 1-element array of float CullDistance)

+0:13            direct index (temp block{in 1-element array of float CullDistance gl_CullDistance})

+0:13              'gl_in' (in 2-element array of block{in 1-element array of float CullDistance gl_CullDistance})

 0:13              Constant:

 0:13                1 (const int)

 0:13            Constant:

@@ -67,6 +67,6 @@
 0:13          Constant:

 0:13            2 (const int)

 0:?   Linker Objects

-0:?     'gl_in' (in 2-element array of block{in 1-element array of float gl_CullDistance})

-0:?     'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-element array of float gl_CullDistance})

+0:?     'gl_in' (in 2-element array of block{in 1-element array of float CullDistance gl_CullDistance})

+0:?     'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-element array of float CullDistance gl_CullDistance})

 

diff --git a/Test/baseResults/450.tesc.out b/Test/baseResults/450.tesc.out
index 9f7be0f..374cf93 100644
--- a/Test/baseResults/450.tesc.out
+++ b/Test/baseResults/450.tesc.out
@@ -8,10 +8,10 @@
 0:11    Function Parameters: 

 0:13    Sequence

 0:13      move second child to first child (temp float)

-0:13        direct index (temp float)

-0:13          gl_CullDistance: direct index for structure (out implicitly-sized array of float)

-0:13            direct index (temp block{out implicitly-sized array of float gl_CullDistance})

-0:13              'gl_out' (out implicitly-sized array of block{out implicitly-sized array of float gl_CullDistance})

+0:13        direct index (temp float CullDistance)

+0:13          gl_CullDistance: direct index for structure (out implicitly-sized array of float CullDistance)

+0:13            direct index (temp block{out implicitly-sized array of float CullDistance gl_CullDistance})

+0:13              'gl_out' (out implicitly-sized array of block{out implicitly-sized array of float CullDistance gl_CullDistance})

 0:13              Constant:

 0:13                0 (const int)

 0:13            Constant:

@@ -30,7 +30,7 @@
 0:13            2 (const int)

 0:?   Linker Objects

 0:?     'gl_in' (in 32-element array of block{in implicitly-sized array of float gl_CullDistance})

-0:?     'gl_out' (out implicitly-sized array of block{out implicitly-sized array of float gl_CullDistance})

+0:?     'gl_out' (out implicitly-sized array of block{out implicitly-sized array of float CullDistance gl_CullDistance})

 

 

 Linked tessellation control stage:

@@ -44,10 +44,10 @@
 0:11    Function Parameters: 

 0:13    Sequence

 0:13      move second child to first child (temp float)

-0:13        direct index (temp float)

-0:13          gl_CullDistance: direct index for structure (out 1-element array of float)

-0:13            direct index (temp block{out 1-element array of float gl_CullDistance})

-0:13              'gl_out' (out 1-element array of block{out 1-element array of float gl_CullDistance})

+0:13        direct index (temp float CullDistance)

+0:13          gl_CullDistance: direct index for structure (out 1-element array of float CullDistance)

+0:13            direct index (temp block{out 1-element array of float CullDistance gl_CullDistance})

+0:13              'gl_out' (out 1-element array of block{out 1-element array of float CullDistance gl_CullDistance})

 0:13              Constant:

 0:13                0 (const int)

 0:13            Constant:

@@ -66,5 +66,5 @@
 0:13            2 (const int)

 0:?   Linker Objects

 0:?     'gl_in' (in 32-element array of block{in 1-element array of float gl_CullDistance})

-0:?     'gl_out' (out 1-element array of block{out 1-element array of float gl_CullDistance})

+0:?     'gl_out' (out 1-element array of block{out 1-element array of float CullDistance gl_CullDistance})

 

diff --git a/Test/baseResults/450.tese.out b/Test/baseResults/450.tese.out
index 7c0f70c..53ef010 100644
--- a/Test/baseResults/450.tese.out
+++ b/Test/baseResults/450.tese.out
@@ -10,9 +10,9 @@
 0:11    Function Parameters: 

 0:13    Sequence

 0:13      move second child to first child (temp float)

-0:13        direct index (temp float)

-0:13          gl_CullDistance: direct index for structure (out implicitly-sized array of float)

-0:13            'anon@0' (out block{out implicitly-sized array of float gl_CullDistance})

+0:13        direct index (temp float CullDistance)

+0:13          gl_CullDistance: direct index for structure (out implicitly-sized array of float CullDistance)

+0:13            'anon@0' (out block{out implicitly-sized array of float CullDistance gl_CullDistance})

 0:13            Constant:

 0:13              3 (const uint)

 0:13          Constant:

@@ -29,7 +29,7 @@
 0:13            2 (const int)

 0:?   Linker Objects

 0:?     'gl_in' (in 32-element array of block{in implicitly-sized array of float gl_CullDistance})

-0:?     'anon@0' (out block{out implicitly-sized array of float gl_CullDistance})

+0:?     'anon@0' (out block{out implicitly-sized array of float CullDistance gl_CullDistance})

 

 

 Linked tessellation evaluation stage:

@@ -45,9 +45,9 @@
 0:11    Function Parameters: 

 0:13    Sequence

 0:13      move second child to first child (temp float)

-0:13        direct index (temp float)

-0:13          gl_CullDistance: direct index for structure (out 3-element array of float)

-0:13            'anon@0' (out block{out 3-element array of float gl_CullDistance})

+0:13        direct index (temp float CullDistance)

+0:13          gl_CullDistance: direct index for structure (out 3-element array of float CullDistance)

+0:13            'anon@0' (out block{out 3-element array of float CullDistance gl_CullDistance})

 0:13            Constant:

 0:13              3 (const uint)

 0:13          Constant:

@@ -64,5 +64,5 @@
 0:13            2 (const int)

 0:?   Linker Objects

 0:?     'gl_in' (in 32-element array of block{in 1-element array of float gl_CullDistance})

-0:?     'anon@0' (out block{out 3-element array of float gl_CullDistance})

+0:?     'anon@0' (out block{out 3-element array of float CullDistance gl_CullDistance})

 

diff --git a/Test/baseResults/450.vert.out b/Test/baseResults/450.vert.out
index 09b3bfd..44aff42 100644
--- a/Test/baseResults/450.vert.out
+++ b/Test/baseResults/450.vert.out
@@ -11,9 +11,9 @@
 0:7    Function Parameters: 

 0:9    Sequence

 0:9      move second child to first child (temp float)

-0:9        direct index (temp float)

-0:9          gl_CullDistance: direct index for structure (out implicitly-sized array of float)

-0:9            'anon@0' (out block{out implicitly-sized array of float gl_CullDistance})

+0:9        direct index (temp float CullDistance)

+0:9          gl_CullDistance: direct index for structure (out implicitly-sized array of float CullDistance)

+0:9            'anon@0' (out block{out implicitly-sized array of float CullDistance gl_CullDistance})

 0:9            Constant:

 0:9              10 (const uint)

 0:9          Constant:

@@ -21,7 +21,7 @@
 0:9        Constant:

 0:9          4.500000

 0:?   Linker Objects

-0:?     'anon@0' (out block{out implicitly-sized array of float gl_CullDistance})

+0:?     'anon@0' (out block{out implicitly-sized array of float CullDistance gl_CullDistance})

 0:?     'outb' (smooth out bool)

 0:?     'outo' (smooth out sampler2D)

 0:?     'outa' (smooth out 4-element array of float)

@@ -31,8 +31,8 @@
 0:?     'outsa' (smooth out 4-element array of structure{global float f})

 0:?     'outSA' (smooth out structure{global 4-element array of float f})

 0:?     'outSS' (smooth out structure{global float f, global structure{global float f} s})

-0:?     'gl_VertexID' (gl_VertexId int)

-0:?     'gl_InstanceID' (gl_InstanceId int)

+0:?     'gl_VertexID' (gl_VertexId int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId int InstanceId)

 

 

 Linked vertex stage:

@@ -44,9 +44,9 @@
 0:7    Function Parameters: 

 0:9    Sequence

 0:9      move second child to first child (temp float)

-0:9        direct index (temp float)

-0:9          gl_CullDistance: direct index for structure (out 3-element array of float)

-0:9            'anon@0' (out block{out 3-element array of float gl_CullDistance})

+0:9        direct index (temp float CullDistance)

+0:9          gl_CullDistance: direct index for structure (out 3-element array of float CullDistance)

+0:9            'anon@0' (out block{out 3-element array of float CullDistance gl_CullDistance})

 0:9            Constant:

 0:9              10 (const uint)

 0:9          Constant:

@@ -54,7 +54,7 @@
 0:9        Constant:

 0:9          4.500000

 0:?   Linker Objects

-0:?     'anon@0' (out block{out 3-element array of float gl_CullDistance})

+0:?     'anon@0' (out block{out 3-element array of float CullDistance gl_CullDistance})

 0:?     'outb' (smooth out bool)

 0:?     'outo' (smooth out sampler2D)

 0:?     'outa' (smooth out 4-element array of float)

@@ -64,6 +64,6 @@
 0:?     'outsa' (smooth out 4-element array of structure{global float f})

 0:?     'outSA' (smooth out structure{global 4-element array of float f})

 0:?     'outSS' (smooth out structure{global float f, global structure{global float f} s})

-0:?     'gl_VertexID' (gl_VertexId int)

-0:?     'gl_InstanceID' (gl_InstanceId int)

+0:?     'gl_VertexID' (gl_VertexId int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId int InstanceId)

 

diff --git a/Test/baseResults/Operations.frag.out b/Test/baseResults/Operations.frag.out
index 7d51752..008fdaa 100644
--- a/Test/baseResults/Operations.frag.out
+++ b/Test/baseResults/Operations.frag.out
@@ -409,7 +409,7 @@
 0:163        Negate conditional (temp bool)

 0:163          'b' (temp bool)

 0:165      move second child to first child (temp 4-component vector of float)

-0:165        'gl_FragColor' (fragColor 4-component vector of float)

+0:165        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:165        Test condition and select (temp 4-component vector of float)

 0:165          Condition

 0:165          'b' (temp bool)

@@ -846,7 +846,7 @@
 0:163        Negate conditional (temp bool)

 0:163          'b' (temp bool)

 0:165      move second child to first child (temp 4-component vector of float)

-0:165        'gl_FragColor' (fragColor 4-component vector of float)

+0:165        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:165        Test condition and select (temp 4-component vector of float)

 0:165          Condition

 0:165          'b' (temp bool)

diff --git a/Test/baseResults/aggOps.frag.out b/Test/baseResults/aggOps.frag.out
index 58539cb..9faf8be 100644
--- a/Test/baseResults/aggOps.frag.out
+++ b/Test/baseResults/aggOps.frag.out
@@ -136,7 +136,7 @@
 0:48          Constant:

 0:48            7.000000

 0:50      move second child to first child (temp 4-component vector of float)

-0:50        'gl_FragColor' (fragColor 4-component vector of float)

+0:50        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:50        'v' (temp 4-component vector of float)

 0:?   Linker Objects

 0:?     'sampler' (uniform sampler2D)

@@ -285,7 +285,7 @@
 0:48          Constant:

 0:48            7.000000

 0:50      move second child to first child (temp 4-component vector of float)

-0:50        'gl_FragColor' (fragColor 4-component vector of float)

+0:50        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:50        'v' (temp 4-component vector of float)

 0:?   Linker Objects

 0:?     'sampler' (uniform sampler2D)

diff --git a/Test/baseResults/always-discard.frag.out b/Test/baseResults/always-discard.frag.out
index 22238ff..dbb95ca 100644
--- a/Test/baseResults/always-discard.frag.out
+++ b/Test/baseResults/always-discard.frag.out
@@ -81,7 +81,7 @@
 0:17              Pre-Increment (temp 4-component vector of float)

 0:17                'color' (temp 4-component vector of float)

 0:20          move second child to first child (temp 4-component vector of float)

-0:20            'gl_FragColor' (fragColor 4-component vector of float)

+0:20            'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:20            'color' (temp 4-component vector of float)

 0:22          Test condition and select (temp void)

 0:22            Condition

@@ -112,7 +112,7 @@
 0:32              Constant:

 0:32                2.000000

 0:34      move second child to first child (temp 4-component vector of float)

-0:34        'gl_FragColor' (fragColor 4-component vector of float)

+0:34        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:34        'color' (temp 4-component vector of float)

 0:?   Linker Objects

 0:?     'tex_coord' (smooth in 2-component vector of float)

@@ -202,7 +202,7 @@
 0:17              Pre-Increment (temp 4-component vector of float)

 0:17                'color' (temp 4-component vector of float)

 0:20          move second child to first child (temp 4-component vector of float)

-0:20            'gl_FragColor' (fragColor 4-component vector of float)

+0:20            'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:20            'color' (temp 4-component vector of float)

 0:22          Test condition and select (temp void)

 0:22            Condition

@@ -233,7 +233,7 @@
 0:32              Constant:

 0:32                2.000000

 0:34      move second child to first child (temp 4-component vector of float)

-0:34        'gl_FragColor' (fragColor 4-component vector of float)

+0:34        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:34        'color' (temp 4-component vector of float)

 0:?   Linker Objects

 0:?     'tex_coord' (smooth in 2-component vector of float)

diff --git a/Test/baseResults/always-discard2.frag.out b/Test/baseResults/always-discard2.frag.out
index 52681a4..fc1b4cf 100644
--- a/Test/baseResults/always-discard2.frag.out
+++ b/Test/baseResults/always-discard2.frag.out
@@ -53,7 +53,7 @@
 0:12              1.000000

 0:14      Branch: Kill

 0:17      move second child to first child (temp 4-component vector of float)

-0:17        'gl_FragColor' (fragColor 4-component vector of float)

+0:17        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:17        'color' (temp 4-component vector of float)

 0:?   Linker Objects

 0:?     'tex_coord' (smooth in 2-component vector of float)

@@ -115,7 +115,7 @@
 0:12              1.000000

 0:14      Branch: Kill

 0:17      move second child to first child (temp 4-component vector of float)

-0:17        'gl_FragColor' (fragColor 4-component vector of float)

+0:17        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:17        'color' (temp 4-component vector of float)

 0:?   Linker Objects

 0:?     'tex_coord' (smooth in 2-component vector of float)

diff --git a/Test/baseResults/conditionalDiscard.frag.out b/Test/baseResults/conditionalDiscard.frag.out
index 94cba9d..80ea0e4 100644
--- a/Test/baseResults/conditionalDiscard.frag.out
+++ b/Test/baseResults/conditionalDiscard.frag.out
@@ -23,7 +23,7 @@
 0:10        true case

 0:11        Branch: Kill

 0:13      move second child to first child (temp 4-component vector of float)

-0:13        'gl_FragColor' (fragColor 4-component vector of float)

+0:13        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:13        'v' (temp 4-component vector of float)

 0:?   Linker Objects

 0:?     'tex' (uniform sampler2D)

@@ -56,7 +56,7 @@
 0:10        true case

 0:11        Branch: Kill

 0:13      move second child to first child (temp 4-component vector of float)

-0:13        'gl_FragColor' (fragColor 4-component vector of float)

+0:13        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:13        'v' (temp 4-component vector of float)

 0:?   Linker Objects

 0:?     'tex' (uniform sampler2D)

diff --git a/Test/baseResults/conversion.frag.out b/Test/baseResults/conversion.frag.out
index f9768ce..a400a75 100644
--- a/Test/baseResults/conversion.frag.out
+++ b/Test/baseResults/conversion.frag.out
@@ -280,7 +280,7 @@
 0:74                  Constant:

 0:74                    1 (const int)

 0:76      move second child to first child (temp 4-component vector of float)

-0:76        'gl_FragColor' (fragColor 4-component vector of float)

+0:76        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:86        Test condition and select (temp 4-component vector of float)

 0:86          Condition

 0:85          logical-or (temp bool)

@@ -445,7 +445,7 @@
 0:110          Convert int to bool (temp 4-component vector of bool)

 0:110            'cv2' (temp 4-component vector of int)

 0:111      add second child into first child (temp 4-component vector of float)

-0:111        'gl_FragColor' (fragColor 4-component vector of float)

+0:111        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:111        Construct float (temp float)

 0:111          Convert bool to float (temp 4-component vector of float)

 0:111            'cv5' (temp 4-component vector of bool)

@@ -759,7 +759,7 @@
 0:74                  Constant:

 0:74                    1 (const int)

 0:76      move second child to first child (temp 4-component vector of float)

-0:76        'gl_FragColor' (fragColor 4-component vector of float)

+0:76        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:86        Test condition and select (temp 4-component vector of float)

 0:86          Condition

 0:85          logical-or (temp bool)

@@ -924,7 +924,7 @@
 0:110          Convert int to bool (temp 4-component vector of bool)

 0:110            'cv2' (temp 4-component vector of int)

 0:111      add second child into first child (temp 4-component vector of float)

-0:111        'gl_FragColor' (fragColor 4-component vector of float)

+0:111        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:111        Construct float (temp float)

 0:111          Convert bool to float (temp 4-component vector of float)

 0:111            'cv5' (temp 4-component vector of bool)

diff --git a/Test/baseResults/cppComplexExpr.vert.out b/Test/baseResults/cppComplexExpr.vert.out
index a49beba..e8e3eb4 100644
--- a/Test/baseResults/cppComplexExpr.vert.out
+++ b/Test/baseResults/cppComplexExpr.vert.out
@@ -69,7 +69,7 @@
 0:30        Constant:

 0:30          300.000000

 0:39      move second child to first child (temp highp 4-component vector of float)

-0:39        'gl_Position' (gl_Position highp 4-component vector of float)

+0:39        'gl_Position' (gl_Position highp 4-component vector of float Position)

 0:39        Construct vec4 (temp highp 4-component vector of float)

 0:39          'sum' (global highp float)

 0:44  Function Definition: foo( (global highp float)

@@ -79,14 +79,14 @@
 0:46        add (temp highp float)

 0:46          add (temp highp float)

 0:46            direct index (temp highp float)

-0:46              'gl_Position' (gl_Position highp 4-component vector of float)

+0:46              'gl_Position' (gl_Position highp 4-component vector of float Position)

 0:46              Constant:

 0:46                0 (const int)

 0:46            Constant:

 0:46              3.000000

 0:46          add (temp highp float)

 0:46            direct index (temp highp float)

-0:46              'gl_Position' (gl_Position highp 4-component vector of float)

+0:46              'gl_Position' (gl_Position highp 4-component vector of float Position)

 0:46              Constant:

 0:46                0 (const int)

 0:46            Constant:

@@ -95,14 +95,14 @@
 0:47        add (temp highp float)

 0:47          add (temp highp float)

 0:47            direct index (temp highp float)

-0:47              'gl_Position' (gl_Position highp 4-component vector of float)

+0:47              'gl_Position' (gl_Position highp 4-component vector of float Position)

 0:47              Constant:

 0:47                1 (const int)

 0:47            Constant:

 0:47              3.000000

 0:47          add (temp highp float)

 0:47            direct index (temp highp float)

-0:47              'gl_Position' (gl_Position highp 4-component vector of float)

+0:47              'gl_Position' (gl_Position highp 4-component vector of float Position)

 0:47              Constant:

 0:47                1 (const int)

 0:47            Constant:

@@ -115,8 +115,8 @@
 0:?   Linker Objects

 0:?     'sum' (global highp float)

 0:?     'c' (global highp float)

-0:?     'gl_VertexID' (gl_VertexId highp int)

-0:?     'gl_InstanceID' (gl_InstanceId highp int)

+0:?     'gl_VertexID' (gl_VertexId highp int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId highp int InstanceId)

 

 

 Linked vertex stage:

@@ -145,7 +145,7 @@
 0:30        Constant:

 0:30          300.000000

 0:39      move second child to first child (temp highp 4-component vector of float)

-0:39        'gl_Position' (gl_Position highp 4-component vector of float)

+0:39        'gl_Position' (gl_Position highp 4-component vector of float Position)

 0:39        Construct vec4 (temp highp 4-component vector of float)

 0:39          'sum' (global highp float)

 0:44  Function Definition: foo( (global highp float)

@@ -155,14 +155,14 @@
 0:46        add (temp highp float)

 0:46          add (temp highp float)

 0:46            direct index (temp highp float)

-0:46              'gl_Position' (gl_Position highp 4-component vector of float)

+0:46              'gl_Position' (gl_Position highp 4-component vector of float Position)

 0:46              Constant:

 0:46                0 (const int)

 0:46            Constant:

 0:46              3.000000

 0:46          add (temp highp float)

 0:46            direct index (temp highp float)

-0:46              'gl_Position' (gl_Position highp 4-component vector of float)

+0:46              'gl_Position' (gl_Position highp 4-component vector of float Position)

 0:46              Constant:

 0:46                0 (const int)

 0:46            Constant:

@@ -171,14 +171,14 @@
 0:47        add (temp highp float)

 0:47          add (temp highp float)

 0:47            direct index (temp highp float)

-0:47              'gl_Position' (gl_Position highp 4-component vector of float)

+0:47              'gl_Position' (gl_Position highp 4-component vector of float Position)

 0:47              Constant:

 0:47                1 (const int)

 0:47            Constant:

 0:47              3.000000

 0:47          add (temp highp float)

 0:47            direct index (temp highp float)

-0:47              'gl_Position' (gl_Position highp 4-component vector of float)

+0:47              'gl_Position' (gl_Position highp 4-component vector of float Position)

 0:47              Constant:

 0:47                1 (const int)

 0:47            Constant:

@@ -191,6 +191,6 @@
 0:?   Linker Objects

 0:?     'sum' (global highp float)

 0:?     'c' (global highp float)

-0:?     'gl_VertexID' (gl_VertexId highp int)

-0:?     'gl_InstanceID' (gl_InstanceId highp int)

+0:?     'gl_VertexID' (gl_VertexId highp int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId highp int InstanceId)

 

diff --git a/Test/baseResults/cppIndent.vert.out b/Test/baseResults/cppIndent.vert.out
index a8c4c3c..a4a21f9 100644
--- a/Test/baseResults/cppIndent.vert.out
+++ b/Test/baseResults/cppIndent.vert.out
@@ -35,7 +35,7 @@
 0:52        Constant:

 0:52          900000000.000000

 0:56      move second child to first child (temp 4-component vector of float)

-0:56        'gl_Position' (gl_Position 4-component vector of float)

+0:56        'gl_Position' (gl_Position 4-component vector of float Position)

 0:56        Construct vec4 (temp 4-component vector of float)

 0:56          'sum' (global float)

 0:?   Linker Objects

@@ -76,7 +76,7 @@
 0:52        Constant:

 0:52          900000000.000000

 0:56      move second child to first child (temp 4-component vector of float)

-0:56        'gl_Position' (gl_Position 4-component vector of float)

+0:56        'gl_Position' (gl_Position 4-component vector of float Position)

 0:56        Construct vec4 (temp 4-component vector of float)

 0:56          'sum' (global float)

 0:?   Linker Objects

diff --git a/Test/baseResults/cppNest.vert.out b/Test/baseResults/cppNest.vert.out
index ac47911..4ddc7f3 100644
--- a/Test/baseResults/cppNest.vert.out
+++ b/Test/baseResults/cppNest.vert.out
@@ -43,7 +43,7 @@
 0:76        Constant:

 0:76          7000000.000000

 0:86      move second child to first child (temp 4-component vector of float)

-0:86        'gl_Position' (gl_Position 4-component vector of float)

+0:86        'gl_Position' (gl_Position 4-component vector of float Position)

 0:86        Construct vec4 (temp 4-component vector of float)

 0:86          'sum' (global float)

 0:103  Sequence

@@ -117,7 +117,7 @@
 0:76        Constant:

 0:76          7000000.000000

 0:86      move second child to first child (temp 4-component vector of float)

-0:86        'gl_Position' (gl_Position 4-component vector of float)

+0:86        'gl_Position' (gl_Position 4-component vector of float Position)

 0:86        Construct vec4 (temp 4-component vector of float)

 0:86          'sum' (global float)

 0:103  Sequence

diff --git a/Test/baseResults/cppSimple.vert.out b/Test/baseResults/cppSimple.vert.out
index 5711904..f28e173 100644
--- a/Test/baseResults/cppSimple.vert.out
+++ b/Test/baseResults/cppSimple.vert.out
@@ -125,8 +125,8 @@
 0:65        Constant:

 0:65          0.050000

 0:69      move second child to first child (temp 4-component vector of float)

-0:69        gl_Position: direct index for structure (gl_Position 4-component vector of float)

-0:69          'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})

+0:69        gl_Position: direct index for structure (gl_Position 4-component vector of float Position)

+0:69          'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})

 0:69          Constant:

 0:69            0 (const uint)

 0:69        Construct vec4 (temp 4-component vector of float)

@@ -165,8 +165,8 @@
 12:20031    Function Parameters: 

 12:20033    Sequence

 12:20033      move second child to first child (temp 4-component vector of float)

-12:20033        gl_Position: direct index for structure (gl_Position 4-component vector of float)

-12:20033          'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})

+12:20033        gl_Position: direct index for structure (gl_Position 4-component vector of float Position)

+12:20033          'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})

 12:20033          Constant:

 12:20033            0 (const uint)

 12:20033        Constant:

@@ -180,7 +180,7 @@
 12:9011      'RECURSE' (global int)

 0:?   Linker Objects

 0:?     'sum' (global float)

-0:?     'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})

+0:?     'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})

 0:?     'linenumber' (global int)

 0:?     'filenumber' (global int)

 0:?     'version' (global int)

@@ -191,8 +191,8 @@
 0:?     'RECURSE' (global int)

 0:?     'R1' (global int)

 0:?     'aoeua' (global int)

-0:?     'gl_VertexID' (gl_VertexId int)

-0:?     'gl_InstanceID' (gl_InstanceId int)

+0:?     'gl_VertexID' (gl_VertexId int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId int InstanceId)

 

 

 Linked vertex stage:

@@ -237,8 +237,8 @@
 0:65        Constant:

 0:65          0.050000

 0:69      move second child to first child (temp 4-component vector of float)

-0:69        gl_Position: direct index for structure (gl_Position 4-component vector of float)

-0:69          'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 1-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out 1-element array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})

+0:69        gl_Position: direct index for structure (gl_Position 4-component vector of float Position)

+0:69          'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})

 0:69          Constant:

 0:69            0 (const uint)

 0:69        Construct vec4 (temp 4-component vector of float)

@@ -277,8 +277,8 @@
 12:20031    Function Parameters: 

 12:20033    Sequence

 12:20033      move second child to first child (temp 4-component vector of float)

-12:20033        gl_Position: direct index for structure (gl_Position 4-component vector of float)

-12:20033          'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 1-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out 1-element array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})

+12:20033        gl_Position: direct index for structure (gl_Position 4-component vector of float Position)

+12:20033          'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})

 12:20033          Constant:

 12:20033            0 (const uint)

 12:20033        Constant:

@@ -292,7 +292,7 @@
 12:9011      'RECURSE' (global int)

 0:?   Linker Objects

 0:?     'sum' (global float)

-0:?     'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 1-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out 1-element array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})

+0:?     'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})

 0:?     'linenumber' (global int)

 0:?     'filenumber' (global int)

 0:?     'version' (global int)

@@ -303,6 +303,6 @@
 0:?     'RECURSE' (global int)

 0:?     'R1' (global int)

 0:?     'aoeua' (global int)

-0:?     'gl_VertexID' (gl_VertexId int)

-0:?     'gl_InstanceID' (gl_InstanceId int)

+0:?     'gl_VertexID' (gl_VertexId int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId int InstanceId)

 

diff --git a/Test/baseResults/deepRvalue.frag.out b/Test/baseResults/deepRvalue.frag.out
index f2fd5fe..92d6b62 100644
--- a/Test/baseResults/deepRvalue.frag.out
+++ b/Test/baseResults/deepRvalue.frag.out
@@ -127,7 +127,7 @@
 0:33          Constant:

 0:33            1 (const int)

 0:35      move second child to first child (temp 4-component vector of float)

-0:35        'gl_FragColor' (fragColor 4-component vector of float)

+0:35        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:35        Construct vec4 (temp 4-component vector of float)

 0:35          'f' (temp float)

 0:35          'g' (temp float)

@@ -271,7 +271,7 @@
 0:33          Constant:

 0:33            1 (const int)

 0:35      move second child to first child (temp 4-component vector of float)

-0:35        'gl_FragColor' (fragColor 4-component vector of float)

+0:35        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:35        Construct vec4 (temp 4-component vector of float)

 0:35          'f' (temp float)

 0:35          'g' (temp float)

diff --git a/Test/baseResults/depthOut.frag.out b/Test/baseResults/depthOut.frag.out
index d510095..ee01a9f 100644
--- a/Test/baseResults/depthOut.frag.out
+++ b/Test/baseResults/depthOut.frag.out
@@ -8,10 +8,10 @@
 0:6    Function Parameters: 

 0:8    Sequence

 0:8      move second child to first child (temp float)

-0:8        'gl_FragDepth' (gl_FragDepth float)

+0:8        'gl_FragDepth' (gl_FragDepth float FragDepth)

 0:8        'Depth' (smooth in float)

 0:9      move second child to first child (temp 4-component vector of float)

-0:9        'gl_FragColor' (fragColor 4-component vector of float)

+0:9        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:9        'Color' (smooth in 4-component vector of float)

 0:?   Linker Objects

 0:?     'Color' (smooth in 4-component vector of float)

@@ -27,10 +27,10 @@
 0:6    Function Parameters: 

 0:8    Sequence

 0:8      move second child to first child (temp float)

-0:8        'gl_FragDepth' (gl_FragDepth float)

+0:8        'gl_FragDepth' (gl_FragDepth float FragDepth)

 0:8        'Depth' (smooth in float)

 0:9      move second child to first child (temp 4-component vector of float)

-0:9        'gl_FragColor' (fragColor 4-component vector of float)

+0:9        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:9        'Color' (smooth in 4-component vector of float)

 0:?   Linker Objects

 0:?     'Color' (smooth in 4-component vector of float)

diff --git a/Test/baseResults/discard-dce.frag.out b/Test/baseResults/discard-dce.frag.out
index 4ff0fac..034233d 100644
--- a/Test/baseResults/discard-dce.frag.out
+++ b/Test/baseResults/discard-dce.frag.out
@@ -81,7 +81,7 @@
 0:17              Pre-Increment (temp 4-component vector of float)

 0:17                'color' (temp 4-component vector of float)

 0:20          move second child to first child (temp 4-component vector of float)

-0:20            'gl_FragColor' (fragColor 4-component vector of float)

+0:20            'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:20            'color' (temp 4-component vector of float)

 0:22          Test condition and select (temp void)

 0:22            Condition

@@ -112,7 +112,7 @@
 0:31              Constant:

 0:31                2.000000

 0:33      move second child to first child (temp 4-component vector of float)

-0:33        'gl_FragColor' (fragColor 4-component vector of float)

+0:33        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:33        'color' (temp 4-component vector of float)

 0:?   Linker Objects

 0:?     'tex_coord' (smooth in 2-component vector of float)

@@ -202,7 +202,7 @@
 0:17              Pre-Increment (temp 4-component vector of float)

 0:17                'color' (temp 4-component vector of float)

 0:20          move second child to first child (temp 4-component vector of float)

-0:20            'gl_FragColor' (fragColor 4-component vector of float)

+0:20            'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:20            'color' (temp 4-component vector of float)

 0:22          Test condition and select (temp void)

 0:22            Condition

@@ -233,7 +233,7 @@
 0:31              Constant:

 0:31                2.000000

 0:33      move second child to first child (temp 4-component vector of float)

-0:33        'gl_FragColor' (fragColor 4-component vector of float)

+0:33        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:33        'color' (temp 4-component vector of float)

 0:?   Linker Objects

 0:?     'tex_coord' (smooth in 2-component vector of float)

diff --git a/Test/baseResults/doWhileLoop.frag.out b/Test/baseResults/doWhileLoop.frag.out
index 0ef812f..010f050 100644
--- a/Test/baseResults/doWhileLoop.frag.out
+++ b/Test/baseResults/doWhileLoop.frag.out
@@ -23,7 +23,7 @@
 0:12            'color' (temp 4-component vector of float)

 0:12            'bigColor' (uniform 4-component vector of float)

 0:15      move second child to first child (temp 4-component vector of float)

-0:15        'gl_FragColor' (fragColor 4-component vector of float)

+0:15        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:15        'color' (temp 4-component vector of float)

 0:?   Linker Objects

 0:?     'bigColor' (uniform 4-component vector of float)

@@ -57,7 +57,7 @@
 0:12            'color' (temp 4-component vector of float)

 0:12            'bigColor' (uniform 4-component vector of float)

 0:15      move second child to first child (temp 4-component vector of float)

-0:15        'gl_FragColor' (fragColor 4-component vector of float)

+0:15        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:15        'color' (temp 4-component vector of float)

 0:?   Linker Objects

 0:?     'bigColor' (uniform 4-component vector of float)

diff --git a/Test/baseResults/earlyReturnDiscard.frag.out b/Test/baseResults/earlyReturnDiscard.frag.out
index afc4253..8516ae5 100644
--- a/Test/baseResults/earlyReturnDiscard.frag.out
+++ b/Test/baseResults/earlyReturnDiscard.frag.out
@@ -109,7 +109,7 @@
 0:55            false case

 0:58            Branch: Return

 0:101      move second child to first child (temp 4-component vector of float)

-0:101        'gl_FragColor' (fragColor 4-component vector of float)

+0:101        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:101        component-wise multiply (temp 4-component vector of float)

 0:101          'color' (temp 4-component vector of float)

 0:101          'color2' (temp 4-component vector of float)

@@ -239,7 +239,7 @@
 0:55            false case

 0:58            Branch: Return

 0:101      move second child to first child (temp 4-component vector of float)

-0:101        'gl_FragColor' (fragColor 4-component vector of float)

+0:101        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:101        component-wise multiply (temp 4-component vector of float)

 0:101          'color' (temp 4-component vector of float)

 0:101          'color2' (temp 4-component vector of float)

diff --git a/Test/baseResults/flowControl.frag.out b/Test/baseResults/flowControl.frag.out
index f323b02..fb90d4b 100644
--- a/Test/baseResults/flowControl.frag.out
+++ b/Test/baseResults/flowControl.frag.out
@@ -26,7 +26,7 @@
 0:20          'color' (temp 4-component vector of float)

 0:20          'smallColor' (uniform 4-component vector of float)

 0:22      move second child to first child (temp 4-component vector of float)

-0:22        'gl_FragColor' (fragColor 4-component vector of float)

+0:22        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:22        component-wise multiply (temp 4-component vector of float)

 0:22          'color' (temp 4-component vector of float)

 0:22          'color2' (temp 4-component vector of float)

@@ -68,7 +68,7 @@
 0:20          'color' (temp 4-component vector of float)

 0:20          'smallColor' (uniform 4-component vector of float)

 0:22      move second child to first child (temp 4-component vector of float)

-0:22        'gl_FragColor' (fragColor 4-component vector of float)

+0:22        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:22        component-wise multiply (temp 4-component vector of float)

 0:22          'color' (temp 4-component vector of float)

 0:22          'color2' (temp 4-component vector of float)

diff --git a/Test/baseResults/forLoop.frag.out b/Test/baseResults/forLoop.frag.out
index 8720451..4100a2e 100644
--- a/Test/baseResults/forLoop.frag.out
+++ b/Test/baseResults/forLoop.frag.out
@@ -29,7 +29,7 @@
 0:14          Pre-Increment (temp int)

 0:14            'i' (temp int)

 0:18      move second child to first child (temp 4-component vector of float)

-0:18        'gl_FragColor' (fragColor 4-component vector of float)

+0:18        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:18        'color' (temp 4-component vector of float)

 0:20      Sequence

 0:20        move second child to first child (temp float)

@@ -86,7 +86,7 @@
 0:26          Pre-Increment (temp int)

 0:26            'i' (temp int)

 0:29      add second child into first child (temp 4-component vector of float)

-0:29        'gl_FragColor' (fragColor 4-component vector of float)

+0:29        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:29        add (temp 4-component vector of float)

 0:29          Construct vec4 (temp 4-component vector of float)

 0:29            'sum' (temp float)

@@ -133,7 +133,7 @@
 0:34            'i' (temp int)

 0:37      add second child into first child (temp 3-component vector of float)

 0:37        vector swizzle (temp 3-component vector of float)

-0:37          'gl_FragColor' (fragColor 4-component vector of float)

+0:37          'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:37          Sequence

 0:37            Constant:

 0:37              0 (const int)

@@ -164,7 +164,7 @@
 0:39              16 (const int)

 0:39          Loop Body

 0:40          vector scale second child into first child (temp 4-component vector of float)

-0:40            'gl_FragColor' (fragColor 4-component vector of float)

+0:40            'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:40            'f' (smooth in float)

 0:39          Loop Terminal Expression

 0:39          add second child into first child (temp int)

@@ -211,7 +211,7 @@
 0:14          Pre-Increment (temp int)

 0:14            'i' (temp int)

 0:18      move second child to first child (temp 4-component vector of float)

-0:18        'gl_FragColor' (fragColor 4-component vector of float)

+0:18        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:18        'color' (temp 4-component vector of float)

 0:20      Sequence

 0:20        move second child to first child (temp float)

@@ -268,7 +268,7 @@
 0:26          Pre-Increment (temp int)

 0:26            'i' (temp int)

 0:29      add second child into first child (temp 4-component vector of float)

-0:29        'gl_FragColor' (fragColor 4-component vector of float)

+0:29        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:29        add (temp 4-component vector of float)

 0:29          Construct vec4 (temp 4-component vector of float)

 0:29            'sum' (temp float)

@@ -315,7 +315,7 @@
 0:34            'i' (temp int)

 0:37      add second child into first child (temp 3-component vector of float)

 0:37        vector swizzle (temp 3-component vector of float)

-0:37          'gl_FragColor' (fragColor 4-component vector of float)

+0:37          'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:37          Sequence

 0:37            Constant:

 0:37              0 (const int)

@@ -346,7 +346,7 @@
 0:39              16 (const int)

 0:39          Loop Body

 0:40          vector scale second child into first child (temp 4-component vector of float)

-0:40            'gl_FragColor' (fragColor 4-component vector of float)

+0:40            'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:40            'f' (smooth in float)

 0:39          Loop Terminal Expression

 0:39          add second child into first child (temp int)

diff --git a/Test/baseResults/forwardRef.frag.out b/Test/baseResults/forwardRef.frag.out
index 7c4c689..d435d25 100644
--- a/Test/baseResults/forwardRef.frag.out
+++ b/Test/baseResults/forwardRef.frag.out
@@ -17,7 +17,7 @@
 0:16          'f' (temp float)

 0:16          Function Call: unreachableReturn( (global float)

 0:18      move second child to first child (temp 4-component vector of float)

-0:18        'gl_FragColor' (fragColor 4-component vector of float)

+0:18        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:18        vector-scale (temp 4-component vector of float)

 0:18          'color' (temp 4-component vector of float)

 0:18          'f' (temp float)

@@ -81,7 +81,7 @@
 0:16          'f' (temp float)

 0:16          Function Call: unreachableReturn( (global float)

 0:18      move second child to first child (temp 4-component vector of float)

-0:18        'gl_FragColor' (fragColor 4-component vector of float)

+0:18        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:18        vector-scale (temp 4-component vector of float)

 0:18          'color' (temp 4-component vector of float)

 0:18          'f' (temp float)

diff --git a/Test/baseResults/functionCall.frag.out b/Test/baseResults/functionCall.frag.out
index 7e06fb1..70a1d6d 100644
--- a/Test/baseResults/functionCall.frag.out
+++ b/Test/baseResults/functionCall.frag.out
@@ -77,7 +77,7 @@
 0:41          'g' (temp float)

 0:41          Function Call: missingReturn( (global float)

 0:43      move second child to first child (temp 4-component vector of float)

-0:43        'gl_FragColor' (fragColor 4-component vector of float)

+0:43        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:43        vector-scale (temp 4-component vector of float)

 0:43          vector-scale (temp 4-component vector of float)

 0:43            'color' (temp 4-component vector of float)

@@ -169,7 +169,7 @@
 0:41          'g' (temp float)

 0:41          Function Call: missingReturn( (global float)

 0:43      move second child to first child (temp 4-component vector of float)

-0:43        'gl_FragColor' (fragColor 4-component vector of float)

+0:43        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:43        vector-scale (temp 4-component vector of float)

 0:43          vector-scale (temp 4-component vector of float)

 0:43            'color' (temp 4-component vector of float)

diff --git a/Test/baseResults/functionSemantics.frag.out b/Test/baseResults/functionSemantics.frag.out
index f569fd9..967d918 100644
--- a/Test/baseResults/functionSemantics.frag.out
+++ b/Test/baseResults/functionSemantics.frag.out
@@ -183,7 +183,7 @@
 0:60        'color' (temp int)

 0:60        Function Call: foo3( (global int)

 0:62      move second child to first child (temp 4-component vector of float)

-0:62        'gl_FragColor' (fragColor 4-component vector of float)

+0:62        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:62        Construct vec4 (temp 4-component vector of float)

 0:62          Convert int to float (temp float)

 0:62            'color' (temp int)

@@ -376,7 +376,7 @@
 0:60        'color' (temp int)

 0:60        Function Call: foo3( (global int)

 0:62      move second child to first child (temp 4-component vector of float)

-0:62        'gl_FragColor' (fragColor 4-component vector of float)

+0:62        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:62        Construct vec4 (temp 4-component vector of float)

 0:62          Convert int to float (temp float)

 0:62            'color' (temp int)

diff --git a/Test/baseResults/length.frag.out b/Test/baseResults/length.frag.out
index be0b19c..1820367 100644
--- a/Test/baseResults/length.frag.out
+++ b/Test/baseResults/length.frag.out
@@ -18,7 +18,7 @@
 0:15              Constant:

 0:15                1 (const int)

 0:17      move second child to first child (temp 4-component vector of float)

-0:17        'gl_FragColor' (fragColor 4-component vector of float)

+0:17        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:17        Constant:

 0:17          30.000000

 0:17          30.000000

@@ -50,7 +50,7 @@
 0:15              Constant:

 0:15                1 (const int)

 0:17      move second child to first child (temp 4-component vector of float)

-0:17        'gl_FragColor' (fragColor 4-component vector of float)

+0:17        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:17        Constant:

 0:17          30.000000

 0:17          30.000000

diff --git a/Test/baseResults/lineContinuation.vert.out b/Test/baseResults/lineContinuation.vert.out
index 06ede30..5d9726c 100644
--- a/Test/baseResults/lineContinuation.vert.out
+++ b/Test/baseResults/lineContinuation.vert.out
@@ -29,7 +29,7 @@
 0:20    Function Parameters: 

 0:20    Sequence

 0:20      move second child to first child (temp highp 4-component vector of float)

-0:20        'gl_Position' (gl_Position highp 4-component vector of float)

+0:20        'gl_Position' (gl_Position highp 4-component vector of float Position)

 0:20        Construct vec4 (temp highp 4-component vector of float)

 0:20          'foo' (global highp float)

 0:22  Function Definition: foo2(vf4; (global highp 4-component vector of float)

@@ -160,8 +160,8 @@
 0:?     'bar105' (global highp int)

 0:?     'bar106' (global highp int)

 0:?     'bar107' (global highp int)

-0:?     'gl_VertexID' (gl_VertexId highp int)

-0:?     'gl_InstanceID' (gl_InstanceId highp int)

+0:?     'gl_VertexID' (gl_VertexId highp int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId highp int InstanceId)

 

 

 Linked vertex stage:

@@ -173,7 +173,7 @@
 0:20    Function Parameters: 

 0:20    Sequence

 0:20      move second child to first child (temp highp 4-component vector of float)

-0:20        'gl_Position' (gl_Position highp 4-component vector of float)

+0:20        'gl_Position' (gl_Position highp 4-component vector of float Position)

 0:20        Construct vec4 (temp highp 4-component vector of float)

 0:20          'foo' (global highp float)

 0:22  Function Definition: foo2(vf4; (global highp 4-component vector of float)

@@ -304,6 +304,6 @@
 0:?     'bar105' (global highp int)

 0:?     'bar106' (global highp int)

 0:?     'bar107' (global highp int)

-0:?     'gl_VertexID' (gl_VertexId highp int)

-0:?     'gl_InstanceID' (gl_InstanceId highp int)

+0:?     'gl_VertexID' (gl_VertexId highp int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId highp int InstanceId)

 

diff --git a/Test/baseResults/lineContinuation100.vert.out b/Test/baseResults/lineContinuation100.vert.out
index d0efb95..2dcdca6 100644
--- a/Test/baseResults/lineContinuation100.vert.out
+++ b/Test/baseResults/lineContinuation100.vert.out
@@ -29,7 +29,7 @@
 0:20    Function Parameters: 

 0:20    Sequence

 0:20      move second child to first child (temp highp 4-component vector of float)

-0:20        'gl_Position' (gl_Position highp 4-component vector of float)

+0:20        'gl_Position' (gl_Position highp 4-component vector of float Position)

 0:20        Construct vec4 (temp highp 4-component vector of float)

 0:20          'foo' (global highp float)

 0:22  Function Definition: foo2(vf4; (global highp 4-component vector of float)

@@ -87,7 +87,7 @@
 0:20    Function Parameters: 

 0:20    Sequence

 0:20      move second child to first child (temp highp 4-component vector of float)

-0:20        'gl_Position' (gl_Position highp 4-component vector of float)

+0:20        'gl_Position' (gl_Position highp 4-component vector of float Position)

 0:20        Construct vec4 (temp highp 4-component vector of float)

 0:20          'foo' (global highp float)

 0:22  Function Definition: foo2(vf4; (global highp 4-component vector of float)

diff --git a/Test/baseResults/localAggregates.frag.out b/Test/baseResults/localAggregates.frag.out
index 4efabde..7f2fd8d 100644
--- a/Test/baseResults/localAggregates.frag.out
+++ b/Test/baseResults/localAggregates.frag.out
@@ -165,7 +165,7 @@
 0:69          Constant:

 0:69            1 (const int)

 0:71      move second child to first child (temp 4-component vector of float)

-0:71        'gl_FragColor' (fragColor 4-component vector of float)

+0:71        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:71        component-wise multiply (temp 4-component vector of float)

 0:71          vector-scale (temp 4-component vector of float)

 0:71            bleh: direct index for structure (global 4-component vector of float)

@@ -372,7 +372,7 @@
 0:69          Constant:

 0:69            1 (const int)

 0:71      move second child to first child (temp 4-component vector of float)

-0:71        'gl_FragColor' (fragColor 4-component vector of float)

+0:71        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:71        component-wise multiply (temp 4-component vector of float)

 0:71          vector-scale (temp 4-component vector of float)

 0:71            bleh: direct index for structure (global 4-component vector of float)

diff --git a/Test/baseResults/loops.frag.out b/Test/baseResults/loops.frag.out
index b6cb852..5a37384 100644
--- a/Test/baseResults/loops.frag.out
+++ b/Test/baseResults/loops.frag.out
@@ -792,7 +792,7 @@
 0:276      Post-Increment (temp 4-component vector of float)

 0:276        'color' (temp 4-component vector of float)

 0:277      move second child to first child (temp 4-component vector of float)

-0:277        'gl_FragColor' (fragColor 4-component vector of float)

+0:277        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:277        'color' (temp 4-component vector of float)

 0:280      Loop with condition tested first

 0:280        Loop Condition

@@ -914,7 +914,7 @@
 0:317      Post-Increment (temp 4-component vector of float)

 0:317        'color' (temp 4-component vector of float)

 0:319      move second child to first child (temp 4-component vector of float)

-0:319        'gl_FragColor' (fragColor 4-component vector of float)

+0:319        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:319        'color' (temp 4-component vector of float)

 0:?   Linker Objects

 0:?     'bigColor' (uniform 4-component vector of float)

@@ -1760,7 +1760,7 @@
 0:276      Post-Increment (temp 4-component vector of float)

 0:276        'color' (temp 4-component vector of float)

 0:277      move second child to first child (temp 4-component vector of float)

-0:277        'gl_FragColor' (fragColor 4-component vector of float)

+0:277        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:277        'color' (temp 4-component vector of float)

 0:280      Loop with condition tested first

 0:280        Loop Condition

@@ -1882,7 +1882,7 @@
 0:317      Post-Increment (temp 4-component vector of float)

 0:317        'color' (temp 4-component vector of float)

 0:319      move second child to first child (temp 4-component vector of float)

-0:319        'gl_FragColor' (fragColor 4-component vector of float)

+0:319        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:319        'color' (temp 4-component vector of float)

 0:?   Linker Objects

 0:?     'bigColor' (uniform 4-component vector of float)

diff --git a/Test/baseResults/loopsArtificial.frag.out b/Test/baseResults/loopsArtificial.frag.out
index f7d05a2..cbe7e15 100644
--- a/Test/baseResults/loopsArtificial.frag.out
+++ b/Test/baseResults/loopsArtificial.frag.out
@@ -163,7 +163,7 @@
 0:94      Post-Increment (temp 4-component vector of float)

 0:94        'color' (temp 4-component vector of float)

 0:95      move second child to first child (temp 4-component vector of float)

-0:95        'gl_FragColor' (fragColor 4-component vector of float)

+0:95        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:95        'color' (temp 4-component vector of float)

 0:?   Linker Objects

 0:?     'bigColor' (uniform 4-component vector of float)

@@ -380,7 +380,7 @@
 0:94      Post-Increment (temp 4-component vector of float)

 0:94        'color' (temp 4-component vector of float)

 0:95      move second child to first child (temp 4-component vector of float)

-0:95        'gl_FragColor' (fragColor 4-component vector of float)

+0:95        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:95        'color' (temp 4-component vector of float)

 0:?   Linker Objects

 0:?     'bigColor' (uniform 4-component vector of float)

diff --git a/Test/baseResults/matrix.frag.out b/Test/baseResults/matrix.frag.out
index 9b99edb..03a8513 100644
--- a/Test/baseResults/matrix.frag.out
+++ b/Test/baseResults/matrix.frag.out
@@ -9,14 +9,14 @@
 0:25    Function Parameters: 

 0:27    Sequence

 0:27      move second child to first child (temp 4-component vector of float)

-0:27        'gl_FragColor' (fragColor 4-component vector of float)

+0:27        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:27        Construct vec4 (temp 4-component vector of float)

 0:27          direct index (temp 4-component vector of float)

 0:27            'un34' (uniform 4X4 matrix of float)

 0:27            Constant:

 0:27              1 (const int)

 0:28      add second child into first child (temp 4-component vector of float)

-0:28        'gl_FragColor' (fragColor 4-component vector of float)

+0:28        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:28        Construct vec4 (temp 4-component vector of float)

 0:28          vector-times-matrix (temp 3-component vector of float)

 0:28            'Color' (smooth in 3-component vector of float)

@@ -30,17 +30,17 @@
 0:30          'n' (uniform 4X4 matrix of float)

 0:30        true case

 0:31        add second child into first child (temp 4-component vector of float)

-0:31          'gl_FragColor' (fragColor 4-component vector of float)

+0:31          'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:31          'v' (smooth in 4-component vector of float)

 0:30        false case

 0:33        Sequence

 0:33          add second child into first child (temp 4-component vector of float)

-0:33            'gl_FragColor' (fragColor 4-component vector of float)

+0:33            'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:33            matrix-times-vector (temp 4-component vector of float)

 0:33              'm' (uniform 4X4 matrix of float)

 0:33              'v' (smooth in 4-component vector of float)

 0:34          add second child into first child (temp 4-component vector of float)

-0:34            'gl_FragColor' (fragColor 4-component vector of float)

+0:34            'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:34            vector-times-matrix (temp 4-component vector of float)

 0:34              'v' (smooth in 4-component vector of float)

 0:34              subtract (temp 4X4 matrix of float)

@@ -230,13 +230,13 @@
 0:51          'un34' (uniform 4X4 matrix of float)

 0:51        true case

 0:52        add second child into first child (temp 4-component vector of float)

-0:52          'gl_FragColor' (fragColor 4-component vector of float)

+0:52          'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:52          matrix-times-vector (temp 4-component vector of float)

 0:52            'm34' (temp 4X4 matrix of float)

 0:52            'u' (smooth in 4-component vector of float)

 0:51        false case

 0:54        add second child into first child (temp 4-component vector of float)

-0:54          'gl_FragColor' (fragColor 4-component vector of float)

+0:54          'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:54          matrix-times-vector (temp 4-component vector of float)

 0:54            matrix-multiply (temp 4X4 matrix of float)

 0:54              'un34' (uniform 4X4 matrix of float)

@@ -262,14 +262,14 @@
 0:25    Function Parameters: 

 0:27    Sequence

 0:27      move second child to first child (temp 4-component vector of float)

-0:27        'gl_FragColor' (fragColor 4-component vector of float)

+0:27        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:27        Construct vec4 (temp 4-component vector of float)

 0:27          direct index (temp 4-component vector of float)

 0:27            'un34' (uniform 4X4 matrix of float)

 0:27            Constant:

 0:27              1 (const int)

 0:28      add second child into first child (temp 4-component vector of float)

-0:28        'gl_FragColor' (fragColor 4-component vector of float)

+0:28        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:28        Construct vec4 (temp 4-component vector of float)

 0:28          vector-times-matrix (temp 3-component vector of float)

 0:28            'Color' (smooth in 3-component vector of float)

@@ -283,17 +283,17 @@
 0:30          'n' (uniform 4X4 matrix of float)

 0:30        true case

 0:31        add second child into first child (temp 4-component vector of float)

-0:31          'gl_FragColor' (fragColor 4-component vector of float)

+0:31          'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:31          'v' (smooth in 4-component vector of float)

 0:30        false case

 0:33        Sequence

 0:33          add second child into first child (temp 4-component vector of float)

-0:33            'gl_FragColor' (fragColor 4-component vector of float)

+0:33            'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:33            matrix-times-vector (temp 4-component vector of float)

 0:33              'm' (uniform 4X4 matrix of float)

 0:33              'v' (smooth in 4-component vector of float)

 0:34          add second child into first child (temp 4-component vector of float)

-0:34            'gl_FragColor' (fragColor 4-component vector of float)

+0:34            'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:34            vector-times-matrix (temp 4-component vector of float)

 0:34              'v' (smooth in 4-component vector of float)

 0:34              subtract (temp 4X4 matrix of float)

@@ -483,13 +483,13 @@
 0:51          'un34' (uniform 4X4 matrix of float)

 0:51        true case

 0:52        add second child into first child (temp 4-component vector of float)

-0:52          'gl_FragColor' (fragColor 4-component vector of float)

+0:52          'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:52          matrix-times-vector (temp 4-component vector of float)

 0:52            'm34' (temp 4X4 matrix of float)

 0:52            'u' (smooth in 4-component vector of float)

 0:51        false case

 0:54        add second child into first child (temp 4-component vector of float)

-0:54          'gl_FragColor' (fragColor 4-component vector of float)

+0:54          'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:54          matrix-times-vector (temp 4-component vector of float)

 0:54            matrix-multiply (temp 4X4 matrix of float)

 0:54              'un34' (uniform 4X4 matrix of float)

diff --git a/Test/baseResults/matrixError.vert.out b/Test/baseResults/matrixError.vert.out
index d5d0bc3..fa65b99 100644
--- a/Test/baseResults/matrixError.vert.out
+++ b/Test/baseResults/matrixError.vert.out
@@ -18,7 +18,7 @@
 0:18      'b' (temp 3-component vector of float)

 0:19      'm23' (temp 2X3 matrix of float)

 0:21      move second child to first child (temp 4-component vector of float)

-0:21        'gl_Position' (gl_Position 4-component vector of float)

+0:21        'gl_Position' (gl_Position 4-component vector of float Position)

 0:21        Construct vec4 (temp 4-component vector of float)

 0:21          matrix-times-vector (temp 3-component vector of float)

 0:21            matrix-multiply (temp 3X3 matrix of float)

@@ -50,7 +50,7 @@
 0:18      'b' (temp 3-component vector of float)

 0:19      'm23' (temp 2X3 matrix of float)

 0:21      move second child to first child (temp 4-component vector of float)

-0:21        'gl_Position' (gl_Position 4-component vector of float)

+0:21        'gl_Position' (gl_Position 4-component vector of float Position)

 0:21        Construct vec4 (temp 4-component vector of float)

 0:21          matrix-times-vector (temp 3-component vector of float)

 0:21            matrix-multiply (temp 3X3 matrix of float)

diff --git a/Test/baseResults/noMain.vert.out b/Test/baseResults/noMain.vert.out
index 2194b7a..7403e1a 100644
--- a/Test/baseResults/noMain.vert.out
+++ b/Test/baseResults/noMain.vert.out
@@ -5,8 +5,8 @@
 0:3  Function Definition: foo( (global void)

 0:3    Function Parameters: 

 0:?   Linker Objects

-0:?     'gl_VertexID' (gl_VertexId highp int)

-0:?     'gl_InstanceID' (gl_InstanceId highp int)

+0:?     'gl_VertexID' (gl_VertexId highp int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId highp int InstanceId)

 

 mains.frag

 ERROR: 0:7: 'main' : function already has a body 

@@ -34,8 +34,8 @@
 0:3  Function Definition: foo( (global void)

 0:3    Function Parameters: 

 0:?   Linker Objects

-0:?     'gl_VertexID' (gl_VertexId highp int)

-0:?     'gl_InstanceID' (gl_InstanceId highp int)

+0:?     'gl_VertexID' (gl_VertexId highp int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId highp int InstanceId)

 Shader version: 300

 ERROR: node is still EOpNull!

 0:3  Function Definition: main( (global void)

diff --git a/Test/baseResults/nonSquare.vert.out b/Test/baseResults/nonSquare.vert.out
index 0252629..a34d034 100644
--- a/Test/baseResults/nonSquare.vert.out
+++ b/Test/baseResults/nonSquare.vert.out
@@ -16,7 +16,7 @@
 0:21          'm32' (uniform 3X2 matrix of float)

 0:21          'v3' (in 3-component vector of float)

 0:23      move second child to first child (temp 4-component vector of float)

-0:23        'gl_Position' (gl_Position 4-component vector of float)

+0:23        'gl_Position' (gl_Position 4-component vector of float Position)

 0:24        add (temp 4-component vector of float)

 0:24          add (temp 4-component vector of float)

 0:24            add (temp 4-component vector of float)

@@ -109,7 +109,7 @@
 0:21          'm32' (uniform 3X2 matrix of float)

 0:21          'v3' (in 3-component vector of float)

 0:23      move second child to first child (temp 4-component vector of float)

-0:23        'gl_Position' (gl_Position 4-component vector of float)

+0:23        'gl_Position' (gl_Position 4-component vector of float Position)

 0:24        add (temp 4-component vector of float)

 0:24          add (temp 4-component vector of float)

 0:24            add (temp 4-component vector of float)

diff --git a/Test/baseResults/pointCoord.frag.out b/Test/baseResults/pointCoord.frag.out
index 8b9eb9d..cc5c586 100644
--- a/Test/baseResults/pointCoord.frag.out
+++ b/Test/baseResults/pointCoord.frag.out
@@ -9,7 +9,7 @@
 0:9        Condition

 0:9        Compare Less Than (temp bool)

 0:9          length (global mediump float)

-0:9            'gl_PointCoord' (gl_PointCoord mediump 2-component vector of float)

+0:9            'gl_PointCoord' (gl_PointCoord mediump 2-component vector of float PointCoord)

 0:9          Constant:

 0:9            0.300000

 0:9        true case

@@ -17,7 +17,7 @@
 0:10          'color' (temp highp 4-component vector of float)

 0:10          Function Call: texture2D(s21;vf2; (global lowp 4-component vector of float)

 0:10            'sampler' (uniform lowp sampler2D)

-0:10            'gl_PointCoord' (gl_PointCoord mediump 2-component vector of float)

+0:10            'gl_PointCoord' (gl_PointCoord mediump 2-component vector of float PointCoord)

 0:9        false case

 0:12        move second child to first child (temp highp 4-component vector of float)

 0:12          'color' (temp highp 4-component vector of float)

@@ -27,7 +27,7 @@
 0:12            0.000000

 0:12            0.000000

 0:14      move second child to first child (temp highp 4-component vector of float)

-0:14        'gl_FragColor' (fragColor mediump 4-component vector of float)

+0:14        'gl_FragColor' (fragColor mediump 4-component vector of float FragColor)

 0:14        'color' (temp highp 4-component vector of float)

 0:?   Linker Objects

 0:?     'sampler' (uniform lowp sampler2D)

@@ -45,7 +45,7 @@
 0:9        Condition

 0:9        Compare Less Than (temp bool)

 0:9          length (global mediump float)

-0:9            'gl_PointCoord' (gl_PointCoord mediump 2-component vector of float)

+0:9            'gl_PointCoord' (gl_PointCoord mediump 2-component vector of float PointCoord)

 0:9          Constant:

 0:9            0.300000

 0:9        true case

@@ -53,7 +53,7 @@
 0:10          'color' (temp highp 4-component vector of float)

 0:10          Function Call: texture2D(s21;vf2; (global lowp 4-component vector of float)

 0:10            'sampler' (uniform lowp sampler2D)

-0:10            'gl_PointCoord' (gl_PointCoord mediump 2-component vector of float)

+0:10            'gl_PointCoord' (gl_PointCoord mediump 2-component vector of float PointCoord)

 0:9        false case

 0:12        move second child to first child (temp highp 4-component vector of float)

 0:12          'color' (temp highp 4-component vector of float)

@@ -63,7 +63,7 @@
 0:12            0.000000

 0:12            0.000000

 0:14      move second child to first child (temp highp 4-component vector of float)

-0:14        'gl_FragColor' (fragColor mediump 4-component vector of float)

+0:14        'gl_FragColor' (fragColor mediump 4-component vector of float FragColor)

 0:14        'color' (temp highp 4-component vector of float)

 0:?   Linker Objects

 0:?     'sampler' (uniform lowp sampler2D)

diff --git a/Test/baseResults/precision.frag.out b/Test/baseResults/precision.frag.out
index dd8f124..7071c92 100644
--- a/Test/baseResults/precision.frag.out
+++ b/Test/baseResults/precision.frag.out
@@ -33,7 +33,7 @@
 0:27            'global_medium' (global mediump int)

 0:27            'global_high' (global highp int)

 0:29      move second child to first child (temp mediump 4-component vector of float)

-0:29        'gl_FragColor' (fragColor mediump 4-component vector of float)

+0:29        'gl_FragColor' (fragColor mediump 4-component vector of float FragColor)

 0:29        Construct vec4 (temp mediump 4-component vector of float)

 0:29          'color' (smooth in mediump 3-component vector of float)

 0:29          Constant:

@@ -152,7 +152,7 @@
 0:27            'global_medium' (global mediump int)

 0:27            'global_high' (global highp int)

 0:29      move second child to first child (temp mediump 4-component vector of float)

-0:29        'gl_FragColor' (fragColor mediump 4-component vector of float)

+0:29        'gl_FragColor' (fragColor mediump 4-component vector of float FragColor)

 0:29        Construct vec4 (temp mediump 4-component vector of float)

 0:29          'color' (smooth in mediump 3-component vector of float)

 0:29          Constant:

diff --git a/Test/baseResults/precision.vert.out b/Test/baseResults/precision.vert.out
index ec3b850..2c7e2cb 100644
--- a/Test/baseResults/precision.vert.out
+++ b/Test/baseResults/precision.vert.out
@@ -35,7 +35,7 @@
 0:22            0.500000

 0:22            0.500000

 0:24      move second child to first child (temp highp 4-component vector of float)

-0:24        'gl_Position' (gl_Position highp 4-component vector of float)

+0:24        'gl_Position' (gl_Position highp 4-component vector of float Position)

 0:24        'pos' (in highp 4-component vector of float)

 0:?   Linker Objects

 0:?     'pos' (in highp 4-component vector of float)

@@ -46,8 +46,8 @@
 0:?     's2dAS' (uniform mediump sampler2DArrayShadow)

 0:?     'is2DAbad2' (uniform mediump isampler2DArray)

 0:?     's2Dhigh' (uniform highp sampler2D)

-0:?     'gl_VertexID' (gl_VertexId highp int)

-0:?     'gl_InstanceID' (gl_InstanceId highp int)

+0:?     'gl_VertexID' (gl_VertexId highp int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId highp int InstanceId)

 

 

 Linked vertex stage:

@@ -83,7 +83,7 @@
 0:22            0.500000

 0:22            0.500000

 0:24      move second child to first child (temp highp 4-component vector of float)

-0:24        'gl_Position' (gl_Position highp 4-component vector of float)

+0:24        'gl_Position' (gl_Position highp 4-component vector of float Position)

 0:24        'pos' (in highp 4-component vector of float)

 0:?   Linker Objects

 0:?     'pos' (in highp 4-component vector of float)

@@ -94,6 +94,6 @@
 0:?     's2dAS' (uniform mediump sampler2DArrayShadow)

 0:?     'is2DAbad2' (uniform mediump isampler2DArray)

 0:?     's2Dhigh' (uniform highp sampler2D)

-0:?     'gl_VertexID' (gl_VertexId highp int)

-0:?     'gl_InstanceID' (gl_InstanceId highp int)

+0:?     'gl_VertexID' (gl_VertexId highp int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId highp int InstanceId)

 

diff --git a/Test/baseResults/prepost.frag.out b/Test/baseResults/prepost.frag.out
index 1fa4b33..5af8dbb 100644
--- a/Test/baseResults/prepost.frag.out
+++ b/Test/baseResults/prepost.frag.out
@@ -127,7 +127,7 @@
 0:35            Constant:

 0:35              3 (const int)

 0:37      move second child to first child (temp 4-component vector of float)

-0:37        'gl_FragColor' (fragColor 4-component vector of float)

+0:37        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:37        vector-scale (temp 4-component vector of float)

 0:37          'z' (temp float)

 0:37          'v' (temp 4-component vector of float)

@@ -264,7 +264,7 @@
 0:35            Constant:

 0:35              3 (const int)

 0:37      move second child to first child (temp 4-component vector of float)

-0:37        'gl_FragColor' (fragColor 4-component vector of float)

+0:37        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:37        vector-scale (temp 4-component vector of float)

 0:37          'z' (temp float)

 0:37          'v' (temp 4-component vector of float)

diff --git a/Test/baseResults/recurse1.vert.out b/Test/baseResults/recurse1.vert.out
index 8aae603..0f9a0b3 100644
--- a/Test/baseResults/recurse1.vert.out
+++ b/Test/baseResults/recurse1.vert.out
@@ -65,8 +65,8 @@
 0:44    Sequence

 0:44      Function Call: AT( (global void)

 0:?   Linker Objects

-0:?     'gl_VertexID' (gl_VertexId int)

-0:?     'gl_InstanceID' (gl_InstanceId int)

+0:?     'gl_VertexID' (gl_VertexId int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId int InstanceId)

 

 recurse1.frag

 

@@ -282,8 +282,8 @@
 0:44    Sequence

 0:44      Function Call: AT( (global void)

 0:?   Linker Objects

-0:?     'gl_VertexID' (gl_VertexId int)

-0:?     'gl_InstanceID' (gl_InstanceId int)

+0:?     'gl_VertexID' (gl_VertexId int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId int InstanceId)

 Shader version: 330

 0:? Sequence

 0:5  Function Definition: main( (global void)

diff --git a/Test/baseResults/sample.frag.out b/Test/baseResults/sample.frag.out
index 45d3e81..00ac78e 100644
--- a/Test/baseResults/sample.frag.out
+++ b/Test/baseResults/sample.frag.out
@@ -6,7 +6,7 @@
 0:38    Function Parameters: 

 0:40    Sequence

 0:40      move second child to first child (temp 4-component vector of float)

-0:40        'gl_FragColor' (fragColor 4-component vector of float)

+0:40        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:40        Construct vec4 (temp 4-component vector of float)

 0:40          'color' (smooth in 3-component vector of float)

 0:40          Constant:

@@ -24,7 +24,7 @@
 0:38    Function Parameters: 

 0:40    Sequence

 0:40      move second child to first child (temp 4-component vector of float)

-0:40        'gl_FragColor' (fragColor 4-component vector of float)

+0:40        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:40        Construct vec4 (temp 4-component vector of float)

 0:40          'color' (smooth in 3-component vector of float)

 0:40          Constant:

diff --git a/Test/baseResults/sample.vert.out b/Test/baseResults/sample.vert.out
index 9d4a1da..ff886f7 100644
--- a/Test/baseResults/sample.vert.out
+++ b/Test/baseResults/sample.vert.out
@@ -12,10 +12,10 @@
 0:40          1.000000

 0:40          1.000000

 0:42      move second child to first child (temp 4-component vector of float)

-0:42        'gl_Position' (gl_Position 4-component vector of float)

+0:42        'gl_Position' (gl_Position 4-component vector of float Position)

 0:42        matrix-times-vector (temp 4-component vector of float)

 0:42          'gl_ModelViewProjectionMatrix' (uniform 4X4 matrix of float)

-0:42          'gl_Vertex' (in 4-component vector of float)

+0:42          'gl_Vertex' (in 4-component vector of float Vertex)

 0:?   Linker Objects

 0:?     'color' (smooth out 3-component vector of float)

 

@@ -35,10 +35,10 @@
 0:40          1.000000

 0:40          1.000000

 0:42      move second child to first child (temp 4-component vector of float)

-0:42        'gl_Position' (gl_Position 4-component vector of float)

+0:42        'gl_Position' (gl_Position 4-component vector of float Position)

 0:42        matrix-times-vector (temp 4-component vector of float)

 0:42          'gl_ModelViewProjectionMatrix' (uniform 4X4 matrix of float)

-0:42          'gl_Vertex' (in 4-component vector of float)

+0:42          'gl_Vertex' (in 4-component vector of float Vertex)

 0:?   Linker Objects

 0:?     'color' (smooth out 3-component vector of float)

 

diff --git a/Test/baseResults/simpleFunctionCall.frag.out b/Test/baseResults/simpleFunctionCall.frag.out
index 04fb13e..de58dd4 100644
--- a/Test/baseResults/simpleFunctionCall.frag.out
+++ b/Test/baseResults/simpleFunctionCall.frag.out
@@ -12,7 +12,7 @@
 0:12    Function Parameters: 

 0:14    Sequence

 0:14      move second child to first child (temp 4-component vector of float)

-0:14        'gl_FragColor' (fragColor 4-component vector of float)

+0:14        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:14        Function Call: foo( (global 4-component vector of float)

 0:?   Linker Objects

 0:?     'bigColor' (uniform 4-component vector of float)

@@ -34,7 +34,7 @@
 0:12    Function Parameters: 

 0:14    Sequence

 0:14      move second child to first child (temp 4-component vector of float)

-0:14        'gl_FragColor' (fragColor 4-component vector of float)

+0:14        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:14        Function Call: foo( (global 4-component vector of float)

 0:?   Linker Objects

 0:?     'bigColor' (uniform 4-component vector of float)

diff --git a/Test/baseResults/specExamples.frag.out b/Test/baseResults/specExamples.frag.out
index 5c5560e..94eb75f 100644
--- a/Test/baseResults/specExamples.frag.out
+++ b/Test/baseResults/specExamples.frag.out
@@ -285,14 +285,14 @@
 0:?     'anon@0' (in block{smooth in 4-component vector of float Color1, smooth in 4-component vector of float Color2, in 2-component vector of float TexCoordA, in float Atten})

 0:?     'anon@1' (in block{in 4-component vector of float LightPos, in 3-component vector of float LightColor})

 0:?     'Materiala' (in block{in 4-component vector of float Color, in 2-component vector of float TexCoord})

-0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float)

-0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float)

+0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)

+0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)

 0:?     'factor' (layout(location=3 index=1 ) out 4-component vector of float)

 0:?     'colors' (layout(location=2 ) out 3-element array of 4-component vector of float)

-0:?     'gl_FragDepth' (gl_FragDepth float)

-0:?     'gl_FragDepth' (gl_FragDepth float)

-0:?     'anon@2' (in block{in float gl_FogFragCoord, in implicitly-sized array of 4-component vector of float gl_TexCoord, flat in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor})

-0:?     'anon@2' (in block{in float gl_FogFragCoord, in implicitly-sized array of 4-component vector of float gl_TexCoord, flat in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor})

+0:?     'gl_FragDepth' (gl_FragDepth float FragDepth)

+0:?     'gl_FragDepth' (gl_FragDepth float FragDepth)

+0:?     'anon@2' (in block{in float FogFragCoord gl_FogFragCoord, in implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, flat in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})

+0:?     'anon@2' (in block{in float FogFragCoord gl_FogFragCoord, in implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, flat in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})

 

 

 Linked fragment stage:

@@ -539,12 +539,12 @@
 0:?     'anon@0' (in block{smooth in 4-component vector of float Color1, smooth in 4-component vector of float Color2, in 2-component vector of float TexCoordA, in float Atten})

 0:?     'anon@1' (in block{in 4-component vector of float LightPos, in 3-component vector of float LightColor})

 0:?     'Materiala' (in block{in 4-component vector of float Color, in 2-component vector of float TexCoord})

-0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float)

-0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float)

+0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)

+0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)

 0:?     'factor' (layout(location=3 index=1 ) out 4-component vector of float)

 0:?     'colors' (layout(location=2 ) out 3-element array of 4-component vector of float)

-0:?     'gl_FragDepth' (gl_FragDepth float)

-0:?     'gl_FragDepth' (gl_FragDepth float)

-0:?     'anon@2' (in block{in float gl_FogFragCoord, in 1-element array of 4-component vector of float gl_TexCoord, flat in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor})

-0:?     'anon@2' (in block{in float gl_FogFragCoord, in 1-element array of 4-component vector of float gl_TexCoord, flat in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor})

+0:?     'gl_FragDepth' (gl_FragDepth float FragDepth)

+0:?     'gl_FragDepth' (gl_FragDepth float FragDepth)

+0:?     'anon@2' (in block{in float FogFragCoord gl_FogFragCoord, in 1-element array of 4-component vector of float TexCoord gl_TexCoord, flat in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})

+0:?     'anon@2' (in block{in float FogFragCoord gl_FogFragCoord, in 1-element array of 4-component vector of float TexCoord gl_TexCoord, flat in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})

 

diff --git a/Test/baseResults/specExamples.vert.out b/Test/baseResults/specExamples.vert.out
index b33b92f..80fe6e8 100644
--- a/Test/baseResults/specExamples.vert.out
+++ b/Test/baseResults/specExamples.vert.out
@@ -295,8 +295,8 @@
 0:?     'b2' (layout(binding=2 ) uniform atomic_uint)

 0:?     'c2' (layout(binding=3 ) uniform atomic_uint)

 0:?     'd2' (layout(binding=2 ) uniform atomic_uint)

-0:?     'anon@5' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, flat out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})

-0:?     'anon@5' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, flat out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})

+0:?     'anon@5' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})

+0:?     'anon@5' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})

 0:?     'ColorInv' (smooth out 3-component vector of float)

 0:?     'Color4' (invariant centroid smooth out 3-component vector of float)

 0:?     'position' (smooth out 4-component vector of float)

@@ -311,8 +311,8 @@
 0:?     'shv' (shared 4-component vector of float)

 0:?     'img1' (layout(rgba32f ) uniform image2D)

 0:?     'img2' (layout(rgba32f ) coherent uniform image2D)

-0:?     'gl_VertexID' (gl_VertexId int)

-0:?     'gl_InstanceID' (gl_InstanceId int)

+0:?     'gl_VertexID' (gl_VertexId int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId int InstanceId)

 

 

 Linked vertex stage:

@@ -572,8 +572,8 @@
 0:?     'b2' (layout(binding=2 ) uniform atomic_uint)

 0:?     'c2' (layout(binding=3 ) uniform atomic_uint)

 0:?     'd2' (layout(binding=2 ) uniform atomic_uint)

-0:?     'anon@5' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 1-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, flat out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out 1-element array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})

-0:?     'anon@5' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 1-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, flat out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out 1-element array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})

+0:?     'anon@5' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})

+0:?     'anon@5' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})

 0:?     'ColorInv' (smooth out 3-component vector of float)

 0:?     'Color4' (invariant centroid smooth out 3-component vector of float)

 0:?     'position' (smooth out 4-component vector of float)

@@ -588,6 +588,6 @@
 0:?     'shv' (shared 4-component vector of float)

 0:?     'img1' (layout(rgba32f ) uniform image2D)

 0:?     'img2' (layout(rgba32f ) coherent uniform image2D)

-0:?     'gl_VertexID' (gl_VertexId int)

-0:?     'gl_InstanceID' (gl_InstanceId int)

+0:?     'gl_VertexID' (gl_VertexId int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId int InstanceId)

 

diff --git a/Test/baseResults/structAssignment.frag.out b/Test/baseResults/structAssignment.frag.out
index 6c66d3c..e29ffc6 100644
--- a/Test/baseResults/structAssignment.frag.out
+++ b/Test/baseResults/structAssignment.frag.out
@@ -30,7 +30,7 @@
 0:36          'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})

 0:36          'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})

 0:38      move second child to first child (temp 4-component vector of float)

-0:38        'gl_FragColor' (fragColor 4-component vector of float)

+0:38        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:38        vector-scale (temp 4-component vector of float)

 0:38          f: direct index for structure (global float)

 0:38            s1_1: direct index for structure (global structure{global int i, global float f})

@@ -82,7 +82,7 @@
 0:36          'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})

 0:36          'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})

 0:38      move second child to first child (temp 4-component vector of float)

-0:38        'gl_FragColor' (fragColor 4-component vector of float)

+0:38        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:38        vector-scale (temp 4-component vector of float)

 0:38          f: direct index for structure (global float)

 0:38            s1_1: direct index for structure (global structure{global int i, global float f})

diff --git a/Test/baseResults/structDeref.frag.out b/Test/baseResults/structDeref.frag.out
index 2106659..a06a460 100644
--- a/Test/baseResults/structDeref.frag.out
+++ b/Test/baseResults/structDeref.frag.out
@@ -130,7 +130,7 @@
 0:68            Constant:

 0:68              0 (const int)

 0:70      move second child to first child (temp 4-component vector of float)

-0:70        'gl_FragColor' (fragColor 4-component vector of float)

+0:70        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:70        vector-scale (temp 4-component vector of float)

 0:70          add (temp float)

 0:70            add (temp float)

@@ -303,7 +303,7 @@
 0:68            Constant:

 0:68              0 (const int)

 0:70      move second child to first child (temp 4-component vector of float)

-0:70        'gl_FragColor' (fragColor 4-component vector of float)

+0:70        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:70        vector-scale (temp 4-component vector of float)

 0:70          add (temp float)

 0:70            add (temp float)

diff --git a/Test/baseResults/structure.frag.out b/Test/baseResults/structure.frag.out
index 1f18213..c97f31d 100644
--- a/Test/baseResults/structure.frag.out
+++ b/Test/baseResults/structure.frag.out
@@ -68,7 +68,7 @@
 0:27            Constant:

 0:27              3 (const int)

 0:29      move second child to first child (temp 4-component vector of float)

-0:29        'gl_FragColor' (fragColor 4-component vector of float)

+0:29        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:29        vector-scale (temp 4-component vector of float)

 0:29          'scale' (temp float)

 0:29          Function Call: texture2D(s21;vf2; (global 4-component vector of float)

@@ -151,7 +151,7 @@
 0:27            Constant:

 0:27              3 (const int)

 0:29      move second child to first child (temp 4-component vector of float)

-0:29        'gl_FragColor' (fragColor 4-component vector of float)

+0:29        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:29        vector-scale (temp 4-component vector of float)

 0:29          'scale' (temp float)

 0:29          Function Call: texture2D(s21;vf2; (global 4-component vector of float)

diff --git a/Test/baseResults/swizzle.frag.out b/Test/baseResults/swizzle.frag.out
index a8d12d1..551a14b 100644
--- a/Test/baseResults/swizzle.frag.out
+++ b/Test/baseResults/swizzle.frag.out
@@ -143,7 +143,7 @@
 0:38            Constant:

 0:38              1 (const int)

 0:40      move second child to first child (temp 4-component vector of float)

-0:40        'gl_FragColor' (fragColor 4-component vector of float)

+0:40        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:40        mix (global 4-component vector of float)

 0:40          'w_reorder' (temp 4-component vector of float)

 0:40          'w_undef' (temp 4-component vector of float)

@@ -201,7 +201,7 @@
 0:49          Constant:

 0:49            3.400000

 0:51      add second child into first child (temp 4-component vector of float)

-0:51        'gl_FragColor' (fragColor 4-component vector of float)

+0:51        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:51        'rep' (temp 4-component vector of float)

 0:?   Linker Objects

 0:?     'blend' (uniform float)

@@ -356,7 +356,7 @@
 0:38            Constant:

 0:38              1 (const int)

 0:40      move second child to first child (temp 4-component vector of float)

-0:40        'gl_FragColor' (fragColor 4-component vector of float)

+0:40        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:40        mix (global 4-component vector of float)

 0:40          'w_reorder' (temp 4-component vector of float)

 0:40          'w_undef' (temp 4-component vector of float)

@@ -414,7 +414,7 @@
 0:49          Constant:

 0:49            3.400000

 0:51      add second child into first child (temp 4-component vector of float)

-0:51        'gl_FragColor' (fragColor 4-component vector of float)

+0:51        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:51        'rep' (temp 4-component vector of float)

 0:?   Linker Objects

 0:?     'blend' (uniform float)

diff --git a/Test/baseResults/test.frag.out b/Test/baseResults/test.frag.out
index 9631d06..43c6d7d 100644
--- a/Test/baseResults/test.frag.out
+++ b/Test/baseResults/test.frag.out
@@ -39,7 +39,7 @@
 0:19              'coords' (smooth in 3-component vector of float)

 0:19            'v' (temp 4-component vector of float)

 0:21      move second child to first child (temp 4-component vector of float)

-0:21        'gl_FragColor' (fragColor 4-component vector of float)

+0:21        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:21        mix (global 4-component vector of float)

 0:21          'w' (temp 4-component vector of float)

 0:21          'u' (uniform 4-component vector of float)

@@ -98,7 +98,7 @@
 0:19              'coords' (smooth in 3-component vector of float)

 0:19            'v' (temp 4-component vector of float)

 0:21      move second child to first child (temp 4-component vector of float)

-0:21        'gl_FragColor' (fragColor 4-component vector of float)

+0:21        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:21        mix (global 4-component vector of float)

 0:21          'w' (temp 4-component vector of float)

 0:21          'u' (uniform 4-component vector of float)

diff --git a/Test/baseResults/texture.frag.out b/Test/baseResults/texture.frag.out
index 724d5fd..2ecae96 100644
--- a/Test/baseResults/texture.frag.out
+++ b/Test/baseResults/texture.frag.out
@@ -260,7 +260,7 @@
 0:70          'gradX' (temp 2-component vector of float)

 0:70          'gradY' (temp 2-component vector of float)

 0:72      move second child to first child (temp 4-component vector of float)

-0:72        'gl_FragColor' (fragColor 4-component vector of float)

+0:72        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:72        mix (global 4-component vector of float)

 0:72          'color' (temp 4-component vector of float)

 0:72          'u' (uniform 4-component vector of float)

@@ -542,7 +542,7 @@
 0:70          'gradX' (temp 2-component vector of float)

 0:70          'gradY' (temp 2-component vector of float)

 0:72      move second child to first child (temp 4-component vector of float)

-0:72        'gl_FragColor' (fragColor 4-component vector of float)

+0:72        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:72        mix (global 4-component vector of float)

 0:72          'color' (temp 4-component vector of float)

 0:72          'u' (uniform 4-component vector of float)

diff --git a/Test/baseResults/tokenLength.vert.out b/Test/baseResults/tokenLength.vert.out
index 4cf4fd6..37c73e7 100644
--- a/Test/baseResults/tokenLength.vert.out
+++ b/Test/baseResults/tokenLength.vert.out
@@ -62,7 +62,7 @@
 0:25    Function Parameters: 

 0:27    Sequence

 0:27      move second child to first child (temp highp 4-component vector of float)

-0:27        'gl_Position' (gl_Position highp 4-component vector of float)

+0:27        'gl_Position' (gl_Position highp 4-component vector of float Position)

 0:28        Construct vec4 (temp highp 4-component vector of float)

 0:27          'ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' (in highp float)

 0:28          Convert int to float (temp highp float)

@@ -105,8 +105,8 @@
 0:?     'superO' (global highp int)

 0:?     'superI' (global highp int)

 0:?     'superF' (global highp float)

-0:?     'gl_VertexID' (gl_VertexId highp int)

-0:?     'gl_InstanceID' (gl_InstanceId highp int)

+0:?     'gl_VertexID' (gl_VertexId highp int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId highp int InstanceId)

 

 

 Linked vertex stage:

@@ -158,7 +158,7 @@
 0:25    Function Parameters: 

 0:27    Sequence

 0:27      move second child to first child (temp highp 4-component vector of float)

-0:27        'gl_Position' (gl_Position highp 4-component vector of float)

+0:27        'gl_Position' (gl_Position highp 4-component vector of float Position)

 0:28        Construct vec4 (temp highp 4-component vector of float)

 0:27          'ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' (in highp float)

 0:28          Convert int to float (temp highp float)

@@ -201,6 +201,6 @@
 0:?     'superO' (global highp int)

 0:?     'superI' (global highp int)

 0:?     'superF' (global highp float)

-0:?     'gl_VertexID' (gl_VertexId highp int)

-0:?     'gl_InstanceID' (gl_InstanceId highp int)

+0:?     'gl_VertexID' (gl_VertexId highp int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId highp int InstanceId)

 

diff --git a/Test/baseResults/types.frag.out b/Test/baseResults/types.frag.out
index 1051362..9b53199 100644
--- a/Test/baseResults/types.frag.out
+++ b/Test/baseResults/types.frag.out
@@ -159,7 +159,7 @@
 0:48            'u_f4' (uniform 4-component vector of float)

 0:48            'i_f4' (smooth in 4-component vector of float)

 0:50      move second child to first child (temp 4-component vector of float)

-0:50        'gl_FragColor' (fragColor 4-component vector of float)

+0:50        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:60        Test condition and select (temp 4-component vector of float)

 0:60          Condition

 0:59          logical-or (temp bool)

@@ -499,7 +499,7 @@
 0:48            'u_f4' (uniform 4-component vector of float)

 0:48            'i_f4' (smooth in 4-component vector of float)

 0:50      move second child to first child (temp 4-component vector of float)

-0:50        'gl_FragColor' (fragColor 4-component vector of float)

+0:50        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:60        Test condition and select (temp 4-component vector of float)

 0:60          Condition

 0:59          logical-or (temp bool)

diff --git a/Test/baseResults/uniformArray.frag.out b/Test/baseResults/uniformArray.frag.out
index 6c64858..7f6796b 100644
--- a/Test/baseResults/uniformArray.frag.out
+++ b/Test/baseResults/uniformArray.frag.out
@@ -38,7 +38,7 @@
 0:13          Constant:

 0:13            12 (const int)

 0:15      move second child to first child (temp 4-component vector of float)

-0:15        'gl_FragColor' (fragColor 4-component vector of float)

+0:15        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:15        'texColor' (temp 4-component vector of float)

 0:?   Linker Objects

 0:?     'texSampler2D' (uniform sampler2D)

@@ -88,7 +88,7 @@
 0:13          Constant:

 0:13            12 (const int)

 0:15      move second child to first child (temp 4-component vector of float)

-0:15        'gl_FragColor' (fragColor 4-component vector of float)

+0:15        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:15        'texColor' (temp 4-component vector of float)

 0:?   Linker Objects

 0:?     'texSampler2D' (uniform sampler2D)

diff --git a/Test/baseResults/variableArrayIndex.frag.out b/Test/baseResults/variableArrayIndex.frag.out
index 7a099d9..a7d1058 100644
--- a/Test/baseResults/variableArrayIndex.frag.out
+++ b/Test/baseResults/variableArrayIndex.frag.out
@@ -71,7 +71,7 @@
 0:37            Constant:

 0:37              1 (const int)

 0:43      move second child to first child (temp 4-component vector of float)

-0:43        'gl_FragColor' (fragColor 4-component vector of float)

+0:43        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:43        vector-scale (temp 4-component vector of float)

 0:43          'scale' (temp float)

 0:43          Function Call: texture2D(s21;vf2; (global 4-component vector of float)

@@ -88,7 +88,7 @@
 0:45              1.000000

 0:45              2.000000

 0:46      add second child into first child (temp 4-component vector of float)

-0:46        'gl_FragColor' (fragColor 4-component vector of float)

+0:46        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:46        Construct vec4 (temp 4-component vector of float)

 0:46          indirect index (temp 2-component vector of float)

 0:46            'constructed' (temp 3-element array of 2-component vector of float)

@@ -184,7 +184,7 @@
 0:37            Constant:

 0:37              1 (const int)

 0:43      move second child to first child (temp 4-component vector of float)

-0:43        'gl_FragColor' (fragColor 4-component vector of float)

+0:43        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:43        vector-scale (temp 4-component vector of float)

 0:43          'scale' (temp float)

 0:43          Function Call: texture2D(s21;vf2; (global 4-component vector of float)

@@ -201,7 +201,7 @@
 0:45              1.000000

 0:45              2.000000

 0:46      add second child into first child (temp 4-component vector of float)

-0:46        'gl_FragColor' (fragColor 4-component vector of float)

+0:46        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:46        Construct vec4 (temp 4-component vector of float)

 0:46          indirect index (temp 2-component vector of float)

 0:46            'constructed' (temp 3-element array of 2-component vector of float)

diff --git a/Test/baseResults/varyingArray.frag.out b/Test/baseResults/varyingArray.frag.out
index 12e225e..1ca2daa 100644
--- a/Test/baseResults/varyingArray.frag.out
+++ b/Test/baseResults/varyingArray.frag.out
@@ -16,12 +16,12 @@
 0:12            'texSampler2D' (uniform sampler2D)

 0:12            Construct vec2 (temp 2-component vector of float)

 0:12              add (temp 4-component vector of float)

-0:12                direct index (smooth temp 4-component vector of float)

-0:12                  'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)

+0:12                direct index (smooth temp 4-component vector of float TexCoord)

+0:12                  'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)

 0:12                  Constant:

 0:12                    4 (const int)

-0:12                direct index (smooth temp 4-component vector of float)

-0:12                  'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)

+0:12                direct index (smooth temp 4-component vector of float TexCoord)

+0:12                  'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)

 0:12                  Constant:

 0:12                    5 (const int)

 0:14      add second child into first child (temp 4-component vector of float)

@@ -34,7 +34,7 @@
 0:16            3 (const int)

 0:16        'alpha' (smooth in float)

 0:18      move second child to first child (temp 4-component vector of float)

-0:18        'gl_FragColor' (fragColor 4-component vector of float)

+0:18        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:18        add (temp 4-component vector of float)

 0:18          add (temp 4-component vector of float)

 0:18            add (temp 4-component vector of float)

@@ -42,12 +42,12 @@
 0:18                'foo' (smooth in 3-element array of 4-component vector of float)

 0:18                Constant:

 0:18                  1 (const int)

-0:18              direct index (smooth temp 4-component vector of float)

-0:18                'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)

+0:18              direct index (smooth temp 4-component vector of float TexCoord)

+0:18                'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)

 0:18                Constant:

 0:18                  0 (const int)

-0:18            direct index (smooth temp 4-component vector of float)

-0:18              'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)

+0:18            direct index (smooth temp 4-component vector of float TexCoord)

+0:18              'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)

 0:18              Constant:

 0:18                4 (const int)

 0:18          'texColor' (temp 4-component vector of float)

@@ -55,8 +55,8 @@
 0:?     'texSampler2D' (uniform sampler2D)

 0:?     'color' (smooth in 4-component vector of float)

 0:?     'alpha' (smooth in float)

-0:?     'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)

-0:?     'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)

+0:?     'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)

+0:?     'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)

 0:?     'foo' (smooth in 3-element array of 4-component vector of float)

 

 

@@ -75,12 +75,12 @@
 0:12            'texSampler2D' (uniform sampler2D)

 0:12            Construct vec2 (temp 2-component vector of float)

 0:12              add (temp 4-component vector of float)

-0:12                direct index (smooth temp 4-component vector of float)

-0:12                  'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)

+0:12                direct index (smooth temp 4-component vector of float TexCoord)

+0:12                  'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)

 0:12                  Constant:

 0:12                    4 (const int)

-0:12                direct index (smooth temp 4-component vector of float)

-0:12                  'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)

+0:12                direct index (smooth temp 4-component vector of float TexCoord)

+0:12                  'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)

 0:12                  Constant:

 0:12                    5 (const int)

 0:14      add second child into first child (temp 4-component vector of float)

@@ -93,7 +93,7 @@
 0:16            3 (const int)

 0:16        'alpha' (smooth in float)

 0:18      move second child to first child (temp 4-component vector of float)

-0:18        'gl_FragColor' (fragColor 4-component vector of float)

+0:18        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:18        add (temp 4-component vector of float)

 0:18          add (temp 4-component vector of float)

 0:18            add (temp 4-component vector of float)

@@ -101,12 +101,12 @@
 0:18                'foo' (smooth in 3-element array of 4-component vector of float)

 0:18                Constant:

 0:18                  1 (const int)

-0:18              direct index (smooth temp 4-component vector of float)

-0:18                'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)

+0:18              direct index (smooth temp 4-component vector of float TexCoord)

+0:18                'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)

 0:18                Constant:

 0:18                  0 (const int)

-0:18            direct index (smooth temp 4-component vector of float)

-0:18              'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)

+0:18            direct index (smooth temp 4-component vector of float TexCoord)

+0:18              'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)

 0:18              Constant:

 0:18                4 (const int)

 0:18          'texColor' (temp 4-component vector of float)

@@ -114,7 +114,7 @@
 0:?     'texSampler2D' (uniform sampler2D)

 0:?     'color' (smooth in 4-component vector of float)

 0:?     'alpha' (smooth in float)

-0:?     'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)

-0:?     'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)

+0:?     'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)

+0:?     'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)

 0:?     'foo' (smooth in 3-element array of 4-component vector of float)

 

diff --git a/Test/baseResults/varyingArrayIndirect.frag.out b/Test/baseResults/varyingArrayIndirect.frag.out
index 2d5380e..7a79ab8 100644
--- a/Test/baseResults/varyingArrayIndirect.frag.out
+++ b/Test/baseResults/varyingArrayIndirect.frag.out
@@ -20,11 +20,11 @@
 0:14                  indirect index (smooth temp 4-component vector of float)

 0:14                    'userIn' (smooth in 2-element array of 4-component vector of float)

 0:14                    'b' (uniform int)

-0:14                  indirect index (smooth temp 4-component vector of float)

-0:14                    'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)

+0:14                  indirect index (smooth temp 4-component vector of float TexCoord)

+0:14                    'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)

 0:14                    'a' (uniform int)

-0:14                direct index (smooth temp 4-component vector of float)

-0:14                  'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)

+0:14                direct index (smooth temp 4-component vector of float TexCoord)

+0:14                  'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)

 0:14                  Constant:

 0:14                    5 (const int)

 0:16      add second child into first child (temp 4-component vector of float)

@@ -37,16 +37,16 @@
 0:18            3 (const int)

 0:18        'alpha' (smooth in float)

 0:20      move second child to first child (temp 4-component vector of float)

-0:20        'gl_FragColor' (fragColor 4-component vector of float)

+0:20        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:20        add (temp 4-component vector of float)

 0:20          add (temp 4-component vector of float)

 0:20            add (temp 4-component vector of float)

-0:20              direct index (smooth temp 4-component vector of float)

-0:20                'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)

+0:20              direct index (smooth temp 4-component vector of float TexCoord)

+0:20                'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)

 0:20                Constant:

 0:20                  0 (const int)

-0:20              indirect index (smooth temp 4-component vector of float)

-0:20                'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)

+0:20              indirect index (smooth temp 4-component vector of float TexCoord)

+0:20                'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)

 0:20                'b' (uniform int)

 0:20            'texColor' (temp 4-component vector of float)

 0:20          indirect index (smooth temp 4-component vector of float)

@@ -56,8 +56,8 @@
 0:?     'texSampler2D' (uniform sampler2D)

 0:?     'color' (smooth in 4-component vector of float)

 0:?     'alpha' (smooth in float)

-0:?     'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)

-0:?     'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)

+0:?     'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)

+0:?     'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)

 0:?     'userIn' (smooth in 2-element array of 4-component vector of float)

 0:?     'a' (uniform int)

 0:?     'b' (uniform int)

@@ -82,11 +82,11 @@
 0:14                  indirect index (smooth temp 4-component vector of float)

 0:14                    'userIn' (smooth in 2-element array of 4-component vector of float)

 0:14                    'b' (uniform int)

-0:14                  indirect index (smooth temp 4-component vector of float)

-0:14                    'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)

+0:14                  indirect index (smooth temp 4-component vector of float TexCoord)

+0:14                    'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)

 0:14                    'a' (uniform int)

-0:14                direct index (smooth temp 4-component vector of float)

-0:14                  'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)

+0:14                direct index (smooth temp 4-component vector of float TexCoord)

+0:14                  'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)

 0:14                  Constant:

 0:14                    5 (const int)

 0:16      add second child into first child (temp 4-component vector of float)

@@ -99,16 +99,16 @@
 0:18            3 (const int)

 0:18        'alpha' (smooth in float)

 0:20      move second child to first child (temp 4-component vector of float)

-0:20        'gl_FragColor' (fragColor 4-component vector of float)

+0:20        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:20        add (temp 4-component vector of float)

 0:20          add (temp 4-component vector of float)

 0:20            add (temp 4-component vector of float)

-0:20              direct index (smooth temp 4-component vector of float)

-0:20                'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)

+0:20              direct index (smooth temp 4-component vector of float TexCoord)

+0:20                'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)

 0:20                Constant:

 0:20                  0 (const int)

-0:20              indirect index (smooth temp 4-component vector of float)

-0:20                'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)

+0:20              indirect index (smooth temp 4-component vector of float TexCoord)

+0:20                'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)

 0:20                'b' (uniform int)

 0:20            'texColor' (temp 4-component vector of float)

 0:20          indirect index (smooth temp 4-component vector of float)

@@ -118,8 +118,8 @@
 0:?     'texSampler2D' (uniform sampler2D)

 0:?     'color' (smooth in 4-component vector of float)

 0:?     'alpha' (smooth in float)

-0:?     'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)

-0:?     'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)

+0:?     'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)

+0:?     'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)

 0:?     'userIn' (smooth in 2-element array of 4-component vector of float)

 0:?     'a' (uniform int)

 0:?     'b' (uniform int)

diff --git a/Test/baseResults/versionsClean.vert.out b/Test/baseResults/versionsClean.vert.out
index f2f6688..8f06e62 100644
--- a/Test/baseResults/versionsClean.vert.out
+++ b/Test/baseResults/versionsClean.vert.out
@@ -7,8 +7,8 @@
 0:40    Function Parameters: 

 0:42    Sequence

 0:42      move second child to first child (temp 4-component vector of float)

-0:42        gl_Position: direct index for structure (gl_Position 4-component vector of float)

-0:42          'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})

+0:42        gl_Position: direct index for structure (gl_Position 4-component vector of float Position)

+0:42          'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})

 0:42          Constant:

 0:42            0 (const uint)

 0:42        Construct vec4 (temp 4-component vector of float)

@@ -18,9 +18,9 @@
 0:?   Linker Objects

 0:?     'color' (in 3-component vector of float)

 0:?     'foo' (uniform sampler2DRect)

-0:?     'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})

-0:?     'gl_VertexID' (gl_VertexId int)

-0:?     'gl_InstanceID' (gl_InstanceId int)

+0:?     'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})

+0:?     'gl_VertexID' (gl_VertexId int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId int InstanceId)

 

 

 Linked vertex stage:

@@ -32,8 +32,8 @@
 0:40    Function Parameters: 

 0:42    Sequence

 0:42      move second child to first child (temp 4-component vector of float)

-0:42        gl_Position: direct index for structure (gl_Position 4-component vector of float)

-0:42          'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 1-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out 1-element array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})

+0:42        gl_Position: direct index for structure (gl_Position 4-component vector of float Position)

+0:42          'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})

 0:42          Constant:

 0:42            0 (const uint)

 0:42        Construct vec4 (temp 4-component vector of float)

@@ -43,7 +43,7 @@
 0:?   Linker Objects

 0:?     'color' (in 3-component vector of float)

 0:?     'foo' (uniform sampler2DRect)

-0:?     'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 1-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out 1-element array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})

-0:?     'gl_VertexID' (gl_VertexId int)

-0:?     'gl_InstanceID' (gl_InstanceId int)

+0:?     'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})

+0:?     'gl_VertexID' (gl_VertexId int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId int InstanceId)

 

diff --git a/Test/baseResults/versionsErrors.frag.out b/Test/baseResults/versionsErrors.frag.out
index 95df988..29d6fa7 100644
--- a/Test/baseResults/versionsErrors.frag.out
+++ b/Test/baseResults/versionsErrors.frag.out
@@ -12,7 +12,7 @@
 0:42    Function Parameters: 

 0:44    Sequence

 0:44      move second child to first child (temp 4-component vector of float)

-0:44        'gl_FragColor' (fragColor 4-component vector of float)

+0:44        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:44        Construct vec4 (temp 4-component vector of float)

 0:44          'color' (smooth in 3-component vector of float)

 0:44          Constant:

@@ -32,7 +32,7 @@
 0:42    Function Parameters: 

 0:44    Sequence

 0:44      move second child to first child (temp 4-component vector of float)

-0:44        'gl_FragColor' (fragColor 4-component vector of float)

+0:44        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:44        Construct vec4 (temp 4-component vector of float)

 0:44          'color' (smooth in 3-component vector of float)

 0:44          Constant:

diff --git a/Test/baseResults/versionsErrors.vert.out b/Test/baseResults/versionsErrors.vert.out
index abac8f7..440afd8 100644
--- a/Test/baseResults/versionsErrors.vert.out
+++ b/Test/baseResults/versionsErrors.vert.out
@@ -13,8 +13,8 @@
 0:42    Function Parameters: 

 0:44    Sequence

 0:44      move second child to first child (temp 4-component vector of float)

-0:44        gl_Position: direct index for structure (gl_Position 4-component vector of float)

-0:44          'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})

+0:44        gl_Position: direct index for structure (gl_Position 4-component vector of float Position)

+0:44          'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})

 0:44          Constant:

 0:44            0 (const uint)

 0:44        Construct vec4 (temp 4-component vector of float)

@@ -25,9 +25,9 @@
 0:?   Linker Objects

 0:?     'color' (in 3-component vector of float)

 0:?     'foo' (uniform sampler2DRect)

-0:?     'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})

-0:?     'gl_VertexID' (gl_VertexId int)

-0:?     'gl_InstanceID' (gl_InstanceId int)

+0:?     'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})

+0:?     'gl_VertexID' (gl_VertexId int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId int InstanceId)

 

 

 Linked vertex stage:

@@ -40,8 +40,8 @@
 0:42    Function Parameters: 

 0:44    Sequence

 0:44      move second child to first child (temp 4-component vector of float)

-0:44        gl_Position: direct index for structure (gl_Position 4-component vector of float)

-0:44          'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 1-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out 1-element array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})

+0:44        gl_Position: direct index for structure (gl_Position 4-component vector of float Position)

+0:44          'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})

 0:44          Constant:

 0:44            0 (const uint)

 0:44        Construct vec4 (temp 4-component vector of float)

@@ -52,7 +52,7 @@
 0:?   Linker Objects

 0:?     'color' (in 3-component vector of float)

 0:?     'foo' (uniform sampler2DRect)

-0:?     'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 1-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out 1-element array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})

-0:?     'gl_VertexID' (gl_VertexId int)

-0:?     'gl_InstanceID' (gl_InstanceId int)

+0:?     'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})

+0:?     'gl_VertexID' (gl_VertexId int VertexId)

+0:?     'gl_InstanceID' (gl_InstanceId int InstanceId)

 

diff --git a/Test/baseResults/voidFunction.frag.out b/Test/baseResults/voidFunction.frag.out
index 579dde9..065287e 100644
--- a/Test/baseResults/voidFunction.frag.out
+++ b/Test/baseResults/voidFunction.frag.out
@@ -34,7 +34,7 @@
 0:29            0 (const int)

 0:29        'bar' (global float)

 0:31      move second child to first child (temp 4-component vector of float)

-0:31        'gl_FragColor' (fragColor 4-component vector of float)

+0:31        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:31        'outColor' (temp 4-component vector of float)

 0:33      Branch: Return

 0:?   Linker Objects

@@ -81,7 +81,7 @@
 0:29            0 (const int)

 0:29        'bar' (global float)

 0:31      move second child to first child (temp 4-component vector of float)

-0:31        'gl_FragColor' (fragColor 4-component vector of float)

+0:31        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:31        'outColor' (temp 4-component vector of float)

 0:33      Branch: Return

 0:?   Linker Objects

diff --git a/Test/baseResults/whileLoop.frag.out b/Test/baseResults/whileLoop.frag.out
index 2507bd8..6d0700a 100644
--- a/Test/baseResults/whileLoop.frag.out
+++ b/Test/baseResults/whileLoop.frag.out
@@ -23,7 +23,7 @@
 0:12            'color' (temp 4-component vector of float)

 0:12            'bigColor' (uniform 4-component vector of float)

 0:15      move second child to first child (temp 4-component vector of float)

-0:15        'gl_FragColor' (fragColor 4-component vector of float)

+0:15        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:15        'color' (temp 4-component vector of float)

 0:?   Linker Objects

 0:?     'bigColor' (uniform 4-component vector of float)

@@ -57,7 +57,7 @@
 0:12            'color' (temp 4-component vector of float)

 0:12            'bigColor' (uniform 4-component vector of float)

 0:15      move second child to first child (temp 4-component vector of float)

-0:15        'gl_FragColor' (fragColor 4-component vector of float)

+0:15        'gl_FragColor' (fragColor 4-component vector of float FragColor)

 0:15        'color' (temp 4-component vector of float)

 0:?   Linker Objects

 0:?     'bigColor' (uniform 4-component vector of float)