430scope.vert
Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
ERROR: 0:5: 'a' : redefinition 
ERROR: 0:17: 'b' : function name is redeclaration of existing name 
ERROR: 0:20: 'c' : redefinition 
ERROR: 0:22: 'f' : redefinition 
ERROR: 0:43: 'sin' : can't use function syntax on variable 
ERROR: 0:57: 'z' : undeclared identifier 
ERROR: 0:57: 'z' : redefinition 
ERROR: 0:73: 'degrees' : can't use function syntax on variable 
ERROR: 8 compilation errors.  No code generated.


Shader version: 430
ERROR: node is still EOpNull!
0:3  Function Definition: f(i1;i1;i1; (global int)
0:3    Function Parameters: 
0:3      'a' (in int)
0:3      'b' (in int)
0:3      'c' (in int)
0:?     Sequence
0:8      Sequence
0:8        Sequence
0:8          move second child to first child (temp float)
0:8            'a' (temp float)
0:8            add (temp float)
0:8              Convert int to float (temp float)
0:8                'a' (in int)
0:8              Constant:
0:8                1.000000
0:11      Branch: Return with expression
0:11        'a' (in int)
0:25  Function Definition: cos(f1; (global float)
0:25    Function Parameters: 
0:25      'x' (in float)
0:27    Sequence
0:27      Branch: Return with expression
0:27        Constant:
0:27          1.000000
0:29  Function Definition: radians(b1; (global bool)
0:29    Function Parameters: 
0:29      'x' (in bool)
0:31    Sequence
0:31      Branch: Return with expression
0:31        Constant:
0:31          true (const bool)
0:36  Function Definition: main( (global void)
0:36    Function Parameters: 
0:?     Sequence
0:39      Function Call: g( (temp int)
0:42      'sin' (temp float)
0:43      Constant:
0:43        0.000000
0:44      Function Call: f(i1;i1;i1; (global int)
0:44        Constant:
0:44          1 (const int)
0:44        Constant:
0:44          2 (const int)
0:44        Constant:
0:44          3 (const int)
0:47      move second child to first child (temp float)
0:47        'f' (temp float)
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 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, ...})
0:49          Constant:
0:49            0 (const uint)
0:49        Construct vec4 (temp 4-component vector of float)
0:49          'f' (temp float)
0:51      Sequence
0:51        Sequence
0:51          move second child to first child (temp int)
0:51            'f' (temp int)
0:51            Constant:
0:51              0 (const int)
0:51        Loop with condition tested first
0:51          Loop Condition
0:51          Compare Less Than (temp bool)
0:51            'f' (temp int)
0:51            Constant:
0:51              10 (const int)
0:51          Loop Body
0:52          Pre-Increment (temp int)
0:52            'f' (temp int)
0:51          Loop Terminal Expression
0:51          Pre-Increment (temp int)
0:51            'f' (temp int)
0:54      Sequence
0:54        move second child to first child (temp int)
0:54          'x' (temp int)
0:54          Constant:
0:54            1 (const int)
0:56      Sequence
0:56        Sequence
0:56          move second child to first child (temp float)
0:56            'x' (temp float)
0:56            Constant:
0:56              2.000000
0:56          move second child to first child (temp float)
0:56            'y' (temp float)
0:56            'x' (temp float)
0:60      Sequence
0:60        Sequence
0:60          move second child to first child (temp int)
0:60            'x' (temp int)
0:60            'x' (temp int)
0:68      Sequence
0:68        Sequence
0:68          move second child to first child (temp structure{temp int x})
0:68            'S' (temp structure{temp int x})
0:68            Constant:
0:68              0 (const int)
0:69        x: direct index for structure (temp int)
0:69          'S' (temp structure{temp int x})
0:69          Constant:
0:69            0 (const int)
0:73      Constant:
0:73        0.000000
0:?   Linker Objects
0:?     'b' (global bool)
0:?     'tan' (global float)
0:?     'gl_VertexID' (gl_VertexId int VertexId)
0:?     'gl_InstanceID' (gl_InstanceId int InstanceId)


Linked vertex stage:


Shader version: 430
ERROR: node is still EOpNull!
0:3  Function Definition: f(i1;i1;i1; (global int)
0:3    Function Parameters: 
0:3      'a' (in int)
0:3      'b' (in int)
0:3      'c' (in int)
0:?     Sequence
0:8      Sequence
0:8        Sequence
0:8          move second child to first child (temp float)
0:8            'a' (temp float)
0:8            add (temp float)
0:8              Convert int to float (temp float)
0:8                'a' (in int)
0:8              Constant:
0:8                1.000000
0:11      Branch: Return with expression
0:11        'a' (in int)
0:25  Function Definition: cos(f1; (global float)
0:25    Function Parameters: 
0:25      'x' (in float)
0:27    Sequence
0:27      Branch: Return with expression
0:27        Constant:
0:27          1.000000
0:29  Function Definition: radians(b1; (global bool)
0:29    Function Parameters: 
0:29      'x' (in bool)
0:31    Sequence
0:31      Branch: Return with expression
0:31        Constant:
0:31          true (const bool)
0:36  Function Definition: main( (global void)
0:36    Function Parameters: 
0:?     Sequence
0:39      Function Call: g( (temp int)
0:42      'sin' (temp float)
0:43      Constant:
0:43        0.000000
0:44      Function Call: f(i1;i1;i1; (global int)
0:44        Constant:
0:44          1 (const int)
0:44        Constant:
0:44          2 (const int)
0:44        Constant:
0:44          3 (const int)
0:47      move second child to first child (temp float)
0:47        'f' (temp float)
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 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)
0:49          'f' (temp float)
0:51      Sequence
0:51        Sequence
0:51          move second child to first child (temp int)
0:51            'f' (temp int)
0:51            Constant:
0:51              0 (const int)
0:51        Loop with condition tested first
0:51          Loop Condition
0:51          Compare Less Than (temp bool)
0:51            'f' (temp int)
0:51            Constant:
0:51              10 (const int)
0:51          Loop Body
0:52          Pre-Increment (temp int)
0:52            'f' (temp int)
0:51          Loop Terminal Expression
0:51          Pre-Increment (temp int)
0:51            'f' (temp int)
0:54      Sequence
0:54        move second child to first child (temp int)
0:54          'x' (temp int)
0:54          Constant:
0:54            1 (const int)
0:56      Sequence
0:56        Sequence
0:56          move second child to first child (temp float)
0:56            'x' (temp float)
0:56            Constant:
0:56              2.000000
0:56          move second child to first child (temp float)
0:56            'y' (temp float)
0:56            'x' (temp float)
0:60      Sequence
0:60        Sequence
0:60          move second child to first child (temp int)
0:60            'x' (temp int)
0:60            'x' (temp int)
0:68      Sequence
0:68        Sequence
0:68          move second child to first child (temp structure{temp int x})
0:68            'S' (temp structure{temp int x})
0:68            Constant:
0:68              0 (const int)
0:69        x: direct index for structure (temp int)
0:69          'S' (temp structure{temp int x})
0:69          Constant:
0:69            0 (const int)
0:73      Constant:
0:73        0.000000
0:?   Linker Objects
0:?     'b' (global bool)
0:?     'tan' (global float)
0:?     'gl_VertexID' (gl_VertexId int VertexId)
0:?     'gl_InstanceID' (gl_InstanceId int InstanceId)

