Add missing check that a function call is not using the same name as a variable hiding the function's name. Also, support version 110 separate name spaces for functions and variable names.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24480 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
John Kessenich
2013-12-11 22:38:19 +00:00
parent 623833fabc
commit 3a4687d782
17 changed files with 576 additions and 285 deletions

View File

@@ -16,6 +16,9 @@ int f(int a, int b, int c); // okay to redeclare
bool b;
float b(int a); // ERROR: redefinition
float c(int a);
bool c; // ERROR: redefinition
float f; // ERROR: redefinition
float tan; // okay, built-in is in an outer scope
float sin(float x); // ERROR: can't redefine built-in functions
@@ -37,7 +40,7 @@ void main()
float sin; // okay
sin;
sin(0.7); // ERROR, use of hidden function
f(1,2,3);
float f; // hides f()
@@ -65,6 +68,9 @@ void main()
S S = S(0); // 'S' is only visible as a struct and constructor
S.x; // 'S' is now visible as a variable
}
int degrees;
degrees(3.2); // ERROR, use of hidden built-in function
}
varying struct SSS { float f; } s; // ERROR

74
Test/110scope.vert Normal file
View File

@@ -0,0 +1,74 @@
#version 110
int f(int a, int b, int c)
{
int a = b; // ERROR, redefinition
{
float a = float(a) + 1.0; // okay
}
return a;
}
int f(int a, int b, int c); // okay to redeclare
bool b;
float b(int a); // okay, b and b() are different
float c(int a);
bool c; // okay, and c() are different
float f; // okay f and f() are different
float tan; // okay, hides built-in function
float sin(float x); // okay, can redefine built-in functions
float cos(float x) // okay, can redefine built-in functions
{
return 1.0;
}
bool radians(bool x) // okay, can overload built-in functions
{
return true;
}
void main()
{
int g(); // okay
g();
float sin; // okay
sin;
sin(0.7); // okay
f(1,2,3);
float f;
f = 3.0;
gl_Position = vec4(f);
for (int f = 0; f < 10; ++f)
++f;
int x = 1;
{
float x = 2.0, /* 2nd x visible here */ y = x; // y is initialized to 2
int z = z; // ERROR: z not previously defined.
}
{
int x = x; // x is initialized to '1'
}
struct S
{
int x;
};
{
S S = S(0); // 'S' is only visible as a struct and constructor
S.x; // 'S' is now visible as a variable
}
int degrees;
degrees(3.2);
}

View File

@@ -16,6 +16,9 @@ int f(int a, int b, int c); // okay to redeclare
bool b;
float b(int a); // ERROR: redefinition
float c(int a);
bool c; // ERROR: redefinition
float f; // ERROR: redefinition
float tan; // ERROR: redefines built-in function
float sin(float x); // ERROR: can't redefine built-in functions
@@ -37,7 +40,7 @@ void main()
float sin; // okay
sin;
sin(0.7); // ERROR, use of hidden function
f(1,2,3);
float f; // hides f()
@@ -65,4 +68,7 @@ void main()
S S = S(0); // 'S' is only visible as a struct and constructor
S.x; // 'S' is now visible as a variable
}
int degrees;
degrees(3.2); // ERROR, use of hidden built-in function
}

View File

@@ -16,6 +16,9 @@ int f(int a, int b, int c); // okay to redeclare
bool b;
float b(int a); // ERROR: redefinition
float c(int a);
bool c; // ERROR: redefinition
float f; // ERROR: redefinition
float tan; // okay, hides built-in function
float sin(float x); // okay, can redefine built-in functions
@@ -37,7 +40,7 @@ void main()
float sin; // okay
sin;
sin(0.7); // ERROR, use of hidden function
f(1,2,3);
float f; // hides f()
@@ -65,4 +68,7 @@ void main()
S S = S(0); // 'S' is only visible as a struct and constructor
S.x; // 'S' is now visible as a variable
}
int degrees;
degrees(3.2); // ERROR, use of hidden built-in function
}

View File

@@ -1,14 +1,17 @@
100scope.vert
ERROR: 0:5: 'a' : redefinition
ERROR: 0:17: 'b' : function name is redeclaration of existing name
ERROR: 0:19: 'f' : redefinition
ERROR: 0:21: 'redefinition of built-in function' : not supported with this profile: es
ERROR: 0:22: 'redefinition of built-in function' : not supported with this profile: es
ERROR: 0:35: 'local function declaration' : not supported with this profile: es
ERROR: 0:54: 'z' : undeclared identifier
ERROR: 0:54: 'z' : redefinition
ERROR: 0:70: 'vertex-shader struct output' : not supported for this version or the enabled extensions
ERROR: 9 compilation errors. No code generated.
ERROR: 0:20: 'c' : redefinition
ERROR: 0:22: 'f' : redefinition
ERROR: 0:24: 'redefinition of built-in function' : not supported with this profile: es
ERROR: 0:25: 'redefinition of built-in function' : not supported with this profile: es
ERROR: 0:38: 'local function declaration' : not supported with this profile: es
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: 0:76: 'vertex-shader struct output' : not supported for this version or the enabled extensions
ERROR: 12 compilation errors. No code generated.
ERROR: node is still EOpNull!
@@ -29,87 +32,91 @@ ERROR: node is still EOpNull!
0:8 1.000000
0:11 Branch: Return with expression
0:11 'a' (in highp int)
0:22 Function Definition: cos(f1; (highp float)
0:22 Function Parameters:
0:22 'x' (in highp float)
0:24 Sequence
0:24 Branch: Return with expression
0:24 Constant:
0:24 1.000000
0:26 Function Definition: radians(b1; (bool)
0:26 Function Parameters:
0:26 'x' (in bool)
0:28 Sequence
0:28 Branch: Return with expression
0:28 Constant:
0:28 true (const bool)
0:33 Function Definition: main( (void)
0:33 Function Parameters:
0:25 Function Definition: cos(f1; (highp float)
0:25 Function Parameters:
0:25 'x' (in highp float)
0:27 Sequence
0:27 Branch: Return with expression
0:27 Constant:
0:27 1.000000
0:29 Function Definition: radians(b1; (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( (void)
0:36 Function Parameters:
0:? Sequence
0:36 Function Call: g( (highp int)
0:39 'sin' (highp float)
0:41 Function Call: f(i1;i1;i1; (highp int)
0:41 Constant:
0:41 1 (const int)
0:41 Constant:
0:41 2 (const int)
0:41 Constant:
0:41 3 (const int)
0:44 move second child to first child (highp float)
0:44 'f' (highp float)
0:39 Function Call: g( (highp int)
0:42 'sin' (highp float)
0:43 Constant:
0:43 0.000000
0:44 Function Call: f(i1;i1;i1; (highp int)
0:44 Constant:
0:44 3.000000
0:46 move second child to first child (highp 4-component vector of float)
0:46 'gl_Position' (invariant gl_Position highp 4-component vector of float)
0:46 Construct vec4 (highp 4-component vector of float)
0:46 'f' (highp float)
0:48 Sequence
0:48 Sequence
0:48 move second child to first child (highp int)
0:48 'f' (highp int)
0:48 Constant:
0:48 0 (const int)
0:48 Loop with condition tested first
0:48 Loop Condition
0:48 Compare Less Than (bool)
0:48 'f' (highp int)
0:48 Constant:
0:48 10 (const int)
0:48 Loop Body
0:49 Pre-Increment (highp int)
0:49 'f' (highp int)
0:48 Loop Terminal Expression
0:48 Pre-Increment (highp int)
0:48 'f' (highp int)
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 (highp float)
0:47 'f' (highp float)
0:47 Constant:
0:47 3.000000
0:49 move second child to first child (highp 4-component vector of float)
0:49 'gl_Position' (invariant gl_Position highp 4-component vector of float)
0:49 Construct vec4 (highp 4-component vector of float)
0:49 'f' (highp float)
0:51 Sequence
0:51 move second child to first child (highp int)
0:51 'x' (highp int)
0:51 Constant:
0:51 1 (const int)
0:53 Sequence
0:53 Sequence
0:53 move second child to first child (highp float)
0:53 'x' (highp float)
0:53 Constant:
0:53 2.000000
0:53 move second child to first child (highp float)
0:53 'y' (highp float)
0:53 'x' (highp float)
0:57 Sequence
0:57 Sequence
0:57 move second child to first child (highp int)
0:57 'x' (highp int)
0:57 'x' (highp int)
0:65 Sequence
0:65 Sequence
0:65 move second child to first child (structure{x})
0:65 'S' (structure{x})
0:65 Constant:
0:65 0 (const int)
0:66 x: direct index for structure (highp int)
0:66 'S' (structure{x})
0:66 Constant:
0:66 0 (const int)
0:51 Sequence
0:51 move second child to first child (highp int)
0:51 'f' (highp 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 (bool)
0:51 'f' (highp int)
0:51 Constant:
0:51 10 (const int)
0:51 Loop Body
0:52 Pre-Increment (highp int)
0:52 'f' (highp int)
0:51 Loop Terminal Expression
0:51 Pre-Increment (highp int)
0:51 'f' (highp int)
0:54 Sequence
0:54 move second child to first child (highp int)
0:54 'x' (highp int)
0:54 Constant:
0:54 1 (const int)
0:56 Sequence
0:56 Sequence
0:56 move second child to first child (highp float)
0:56 'x' (highp float)
0:56 Constant:
0:56 2.000000
0:56 move second child to first child (highp float)
0:56 'y' (highp float)
0:56 'x' (highp float)
0:60 Sequence
0:60 Sequence
0:60 move second child to first child (highp int)
0:60 'x' (highp int)
0:60 'x' (highp int)
0:68 Sequence
0:68 Sequence
0:68 move second child to first child (structure{x})
0:68 'S' (structure{x})
0:68 Constant:
0:68 0 (const int)
0:69 x: direct index for structure (highp int)
0:69 'S' (structure{x})
0:69 Constant:
0:69 0 (const int)
0:73 Constant:
0:73 0.000000
0:? Linker Objects
0:? 'b' (bool)
0:? 'tan' (highp float)

View File

@@ -0,0 +1,122 @@
110scope.vert
ERROR: 0:5: 'a' : redefinition
ERROR: 0:57: 'z' : undeclared identifier
ERROR: 0:57: 'z' : redefinition
ERROR: 3 compilation errors. No code generated.
ERROR: node is still EOpNull!
0:3 Function Definition: f(i1;i1;i1; (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 (float)
0:8 'a' (float)
0:8 add (float)
0:8 Convert int to float (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; (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; (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( (void)
0:36 Function Parameters:
0:? Sequence
0:39 Function Call: g( (int)
0:42 'sin' (float)
0:43 Function Call: sin(f1; (float)
0:43 Constant:
0:43 0.700000
0:44 Function Call: f(i1;i1;i1; (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 (float)
0:47 'f' (float)
0:47 Constant:
0:47 3.000000
0:49 move second child to first child (4-component vector of float)
0:49 'gl_Position' (gl_Position 4-component vector of float)
0:49 Construct vec4 (4-component vector of float)
0:49 'f' (float)
0:51 Sequence
0:51 Sequence
0:51 move second child to first child (int)
0:51 'f' (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 (bool)
0:51 'f' (int)
0:51 Constant:
0:51 10 (const int)
0:51 Loop Body
0:52 Pre-Increment (int)
0:52 'f' (int)
0:51 Loop Terminal Expression
0:51 Pre-Increment (int)
0:51 'f' (int)
0:54 Sequence
0:54 move second child to first child (int)
0:54 'x' (int)
0:54 Constant:
0:54 1 (const int)
0:56 Sequence
0:56 Sequence
0:56 move second child to first child (float)
0:56 'x' (float)
0:56 Constant:
0:56 2.000000
0:56 move second child to first child (float)
0:56 'y' (float)
0:56 'x' (float)
0:60 Sequence
0:60 Sequence
0:60 move second child to first child (int)
0:60 'x' (int)
0:60 'x' (int)
0:68 Sequence
0:68 Sequence
0:68 move second child to first child (structure{x})
0:68 'S' (structure{x})
0:68 Constant:
0:68 0 (const int)
0:69 x: direct index for structure (int)
0:69 'S' (structure{x})
0:69 Constant:
0:69 0 (const int)
0:73 Constant:
0:73 183.346494
0:? Linker Objects
0:? 'b' (bool)
0:? 'c' (bool)
0:? 'f' (float)
0:? 'tan' (float)
Linked vertex stage:

View File

@@ -14,7 +14,7 @@ ERROR: 0:32: 'length' : method does not accept any arguments
ERROR: 0:33: 'flizbit' : only the length method is supported for array
ERROR: 0:33: '=' : cannot convert from '7-element array of float' to 'int'
ERROR: 0:34: 'flizbit' : only the length method is supported for array
ERROR: 0:34: 'f' : no matching overloaded function found
ERROR: 0:34: 'f' : can't use function syntax on variable
ERROR: 0:34: 'a4' : redefinition
ERROR: 0:35: 'arrays of arrays' : not supported with this profile: none
ERROR: 0:36: 'arrays of arrays' : not supported with this profile: none
@@ -38,13 +38,14 @@ ERROR: 0:57: 'float' : overloaded functions must have the same return type
ERROR: 0:87: 'overloadC' : no matching overloaded function found
ERROR: 0:90: 'overloadC' : no matching overloaded function found
ERROR: 0:95: 'overloadD' : ambiguous function signature match: multiple signatures match under implicit type conversion
ERROR: 0:98: 'overloadB' : can't use function syntax on variable
ERROR: 0:106: 'overloadC' : no matching overloaded function found
ERROR: 0:107: 'overloadE' : no matching overloaded function found
ERROR: 0:108: 'overloadE' : no matching overloaded function found
ERROR: 0:111: 'overloadE' : no matching overloaded function found
ERROR: 0:117: 'overloadF' : no matching overloaded function found
ERROR: 0:121: 'gl_TexCoord array size' : must be less than gl_MaxTextureCoords (32)
ERROR: 45 compilation errors. No code generated.
ERROR: 46 compilation errors. No code generated.
ERROR: node is still EOpNull!
@@ -138,10 +139,8 @@ ERROR: node is still EOpNull!
0:95 Function Call: overloadD(f1;i1; (3-component vector of float)
0:95 'i' (int)
0:95 'i' (int)
0:98 Function Call: overloadB(f1;f1; (2-component vector of float)
0:98 Constant:
0:98 1 (const int)
0:98 'i' (int)
0:98 Constant:
0:98 0.000000
0:100 Constant:
0:100 0.000000
0:101 Function Call: texture2D(s21;vf2; (4-component vector of float)

View File

@@ -1,21 +1,24 @@
300scope.vert
ERROR: 0:5: 'a' : redefinition
ERROR: 0:17: 'b' : function name is redeclaration of existing name
ERROR: 0:19: 'f' : redefinition
ERROR: 0:20: 'tan' : redefinition
ERROR: 0:21: 'redefinition of built-in function' : not supported with this profile: es
ERROR: 0:21: 'sin' : function name is redeclaration of existing name
ERROR: 0:22: 'redefinition of built-in function' : not supported with this profile: es
ERROR: 0:22: 'cos' : function name is redeclaration of existing name
ERROR: 0:22: 'cos' : function already has a body
ERROR: 0:24: 'return' : void function cannot return a value
ERROR: 0:26: 'radians' : function name is redeclaration of existing name
ERROR: 0:26: 'radians' : can't find function
ERROR: 0:28: 'return' : void function cannot return a value
ERROR: 0:35: 'local function declaration' : not supported with this profile: es
ERROR: 0:54: 'z' : undeclared identifier
ERROR: 0:54: 'z' : redefinition
ERROR: 16 compilation errors. No code generated.
ERROR: 0:20: 'c' : redefinition
ERROR: 0:22: 'f' : redefinition
ERROR: 0:23: 'tan' : redefinition
ERROR: 0:24: 'redefinition of built-in function' : not supported with this profile: es
ERROR: 0:24: 'sin' : function name is redeclaration of existing name
ERROR: 0:25: 'redefinition of built-in function' : not supported with this profile: es
ERROR: 0:25: 'cos' : function name is redeclaration of existing name
ERROR: 0:25: 'cos' : function already has a body
ERROR: 0:27: 'return' : void function cannot return a value
ERROR: 0:29: 'radians' : function name is redeclaration of existing name
ERROR: 0:29: 'radians' : can't find function
ERROR: 0:31: 'return' : void function cannot return a value
ERROR: 0:38: 'local function declaration' : not supported with this profile: es
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: 19 compilation errors. No code generated.
ERROR: node is still EOpNull!
@@ -36,87 +39,91 @@ ERROR: node is still EOpNull!
0:8 1.000000
0:11 Branch: Return with expression
0:11 'a' (in highp int)
0:22 Function Definition: cos(f1; (highp float)
0:22 Function Parameters:
0:22 'x' (in highp float)
0:24 Sequence
0:24 Branch: Return with expression
0:24 Constant:
0:24 1.000000
0:26 Function Definition: radians(b1; (bool)
0:26 Function Parameters:
0:26 'x' (in bool)
0:28 Sequence
0:28 Branch: Return with expression
0:28 Constant:
0:28 true (const bool)
0:33 Function Definition: main( (void)
0:33 Function Parameters:
0:25 Function Definition: cos(f1; (highp float)
0:25 Function Parameters:
0:25 'x' (in highp float)
0:27 Sequence
0:27 Branch: Return with expression
0:27 Constant:
0:27 1.000000
0:29 Function Definition: radians(b1; (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( (void)
0:36 Function Parameters:
0:? Sequence
0:36 Function Call: g( (highp int)
0:39 'sin' (highp float)
0:41 Function Call: f(i1;i1;i1; (highp int)
0:41 Constant:
0:41 1 (const int)
0:41 Constant:
0:41 2 (const int)
0:41 Constant:
0:41 3 (const int)
0:44 move second child to first child (highp float)
0:44 'f' (highp float)
0:39 Function Call: g( (highp int)
0:42 'sin' (highp float)
0:43 Constant:
0:43 0.000000
0:44 Function Call: f(i1;i1;i1; (highp int)
0:44 Constant:
0:44 3.000000
0:46 move second child to first child (highp 4-component vector of float)
0:46 'gl_Position' (invariant gl_Position highp 4-component vector of float)
0:46 Construct vec4 (highp 4-component vector of float)
0:46 'f' (highp float)
0:48 Sequence
0:48 Sequence
0:48 move second child to first child (highp int)
0:48 'f' (highp int)
0:48 Constant:
0:48 0 (const int)
0:48 Loop with condition tested first
0:48 Loop Condition
0:48 Compare Less Than (bool)
0:48 'f' (highp int)
0:48 Constant:
0:48 10 (const int)
0:48 Loop Body
0:49 Pre-Increment (highp int)
0:49 'f' (highp int)
0:48 Loop Terminal Expression
0:48 Pre-Increment (highp int)
0:48 'f' (highp int)
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 (highp float)
0:47 'f' (highp float)
0:47 Constant:
0:47 3.000000
0:49 move second child to first child (highp 4-component vector of float)
0:49 'gl_Position' (invariant gl_Position highp 4-component vector of float)
0:49 Construct vec4 (highp 4-component vector of float)
0:49 'f' (highp float)
0:51 Sequence
0:51 move second child to first child (highp int)
0:51 'x' (highp int)
0:51 Constant:
0:51 1 (const int)
0:53 Sequence
0:53 Sequence
0:53 move second child to first child (highp float)
0:53 'x' (highp float)
0:53 Constant:
0:53 2.000000
0:53 move second child to first child (highp float)
0:53 'y' (highp float)
0:53 'x' (highp float)
0:57 Sequence
0:57 Sequence
0:57 move second child to first child (highp int)
0:57 'x' (highp int)
0:57 'x' (highp int)
0:65 Sequence
0:65 Sequence
0:65 move second child to first child (structure{x})
0:65 'S' (structure{x})
0:65 Constant:
0:65 0 (const int)
0:66 x: direct index for structure (highp int)
0:66 'S' (structure{x})
0:66 Constant:
0:66 0 (const int)
0:51 Sequence
0:51 move second child to first child (highp int)
0:51 'f' (highp 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 (bool)
0:51 'f' (highp int)
0:51 Constant:
0:51 10 (const int)
0:51 Loop Body
0:52 Pre-Increment (highp int)
0:52 'f' (highp int)
0:51 Loop Terminal Expression
0:51 Pre-Increment (highp int)
0:51 'f' (highp int)
0:54 Sequence
0:54 move second child to first child (highp int)
0:54 'x' (highp int)
0:54 Constant:
0:54 1 (const int)
0:56 Sequence
0:56 Sequence
0:56 move second child to first child (highp float)
0:56 'x' (highp float)
0:56 Constant:
0:56 2.000000
0:56 move second child to first child (highp float)
0:56 'y' (highp float)
0:56 'x' (highp float)
0:60 Sequence
0:60 Sequence
0:60 move second child to first child (highp int)
0:60 'x' (highp int)
0:60 'x' (highp int)
0:68 Sequence
0:68 Sequence
0:68 move second child to first child (structure{x})
0:68 'S' (structure{x})
0:68 Constant:
0:68 0 (const int)
0:69 x: direct index for structure (highp int)
0:69 'S' (structure{x})
0:69 Constant:
0:69 0 (const int)
0:73 Constant:
0:73 0.000000
0:? Linker Objects
0:? 'b' (bool)
0:? 'gl_VertexID' (gl_VertexId highp int)

View File

@@ -2,10 +2,13 @@
Warning, version 430 is not yet complete; some version-specific features are present, but many are missing.
ERROR: 0:5: 'a' : redefinition
ERROR: 0:17: 'b' : function name is redeclaration of existing name
ERROR: 0:19: 'f' : redefinition
ERROR: 0:54: 'z' : undeclared identifier
ERROR: 0:54: 'z' : redefinition
ERROR: 5 compilation errors. No code generated.
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.
ERROR: node is still EOpNull!
@@ -26,90 +29,94 @@ ERROR: node is still EOpNull!
0:8 1.000000
0:11 Branch: Return with expression
0:11 'a' (in int)
0:22 Function Definition: cos(f1; (float)
0:22 Function Parameters:
0:22 'x' (in float)
0:24 Sequence
0:24 Branch: Return with expression
0:24 Constant:
0:24 1.000000
0:26 Function Definition: radians(b1; (bool)
0:26 Function Parameters:
0:26 'x' (in bool)
0:28 Sequence
0:28 Branch: Return with expression
0:28 Constant:
0:28 true (const bool)
0:33 Function Definition: main( (void)
0:33 Function Parameters:
0:25 Function Definition: cos(f1; (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; (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( (void)
0:36 Function Parameters:
0:? Sequence
0:36 Function Call: g( (int)
0:39 'sin' (float)
0:41 Function Call: f(i1;i1;i1; (int)
0:41 Constant:
0:41 1 (const int)
0:41 Constant:
0:41 2 (const int)
0:41 Constant:
0:41 3 (const int)
0:44 move second child to first child (float)
0:44 'f' (float)
0:39 Function Call: g( (int)
0:42 'sin' (float)
0:43 Constant:
0:43 0.000000
0:44 Function Call: f(i1;i1;i1; (int)
0:44 Constant:
0:44 3.000000
0:46 move second child to first child (4-component vector of float)
0:46 gl_Position: direct index for structure (invariant gl_Position 4-component vector of float)
0:46 '__anon__0' (out block{gl_Position,gl_PointSize,gl_ClipDistance,gl_ClipVertex,gl_FrontColor,gl_BackColor,gl_FrontSecondaryColor,gl_BackSecondaryColor,gl_TexCoord,gl_FogFragCoord})
0:46 Constant:
0:46 0 (const uint)
0:46 Construct vec4 (4-component vector of float)
0:46 'f' (float)
0:48 Sequence
0:48 Sequence
0:48 move second child to first child (int)
0:48 'f' (int)
0:48 Constant:
0:48 0 (const int)
0:48 Loop with condition tested first
0:48 Loop Condition
0:48 Compare Less Than (bool)
0:48 'f' (int)
0:48 Constant:
0:48 10 (const int)
0:48 Loop Body
0:49 Pre-Increment (int)
0:49 'f' (int)
0:48 Loop Terminal Expression
0:48 Pre-Increment (int)
0:48 'f' (int)
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 (float)
0:47 'f' (float)
0:47 Constant:
0:47 3.000000
0:49 move second child to first child (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{gl_Position,gl_PointSize,gl_ClipDistance,gl_ClipVertex,gl_FrontColor,gl_BackColor,gl_FrontSecondaryColor,gl_BackSecondaryColor,gl_TexCoord,gl_FogFragCoord})
0:49 Constant:
0:49 0 (const uint)
0:49 Construct vec4 (4-component vector of float)
0:49 'f' (float)
0:51 Sequence
0:51 move second child to first child (int)
0:51 'x' (int)
0:51 Constant:
0:51 1 (const int)
0:53 Sequence
0:53 Sequence
0:53 move second child to first child (float)
0:53 'x' (float)
0:53 Constant:
0:53 2.000000
0:53 move second child to first child (float)
0:53 'y' (float)
0:53 'x' (float)
0:57 Sequence
0:57 Sequence
0:57 move second child to first child (int)
0:57 'x' (int)
0:57 'x' (int)
0:65 Sequence
0:65 Sequence
0:65 move second child to first child (structure{x})
0:65 'S' (structure{x})
0:65 Constant:
0:65 0 (const int)
0:66 x: direct index for structure (int)
0:66 'S' (structure{x})
0:66 Constant:
0:66 0 (const int)
0:51 Sequence
0:51 move second child to first child (int)
0:51 'f' (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 (bool)
0:51 'f' (int)
0:51 Constant:
0:51 10 (const int)
0:51 Loop Body
0:52 Pre-Increment (int)
0:52 'f' (int)
0:51 Loop Terminal Expression
0:51 Pre-Increment (int)
0:51 'f' (int)
0:54 Sequence
0:54 move second child to first child (int)
0:54 'x' (int)
0:54 Constant:
0:54 1 (const int)
0:56 Sequence
0:56 Sequence
0:56 move second child to first child (float)
0:56 'x' (float)
0:56 Constant:
0:56 2.000000
0:56 move second child to first child (float)
0:56 'y' (float)
0:56 'x' (float)
0:60 Sequence
0:60 Sequence
0:60 move second child to first child (int)
0:60 'x' (int)
0:60 'x' (int)
0:68 Sequence
0:68 Sequence
0:68 move second child to first child (structure{x})
0:68 'S' (structure{x})
0:68 Constant:
0:68 0 (const int)
0:69 x: direct index for structure (int)
0:69 'S' (structure{x})
0:69 Constant:
0:69 0 (const int)
0:73 Constant:
0:73 0.000000
0:? Linker Objects
0:? 'b' (bool)
0:? 'tan' (float)

View File

@@ -45,6 +45,7 @@ switch.frag
tokenLength.vert
100Limits.vert
100scope.vert
110scope.vert
300scope.vert
400.frag
420.vert