blob: f88cb0581b310831aae9e6ba99fbc0375125b145 [file] [log] [blame]
John Kessenichfbe01522013-06-12 06:13:17 +00001#version 300 es
2
3int f(int a, int b, int c)
4{
5 int a = b; // ERROR, redefinition
6
7 {
8 float a = float(a) + 1.0;
9 }
10
11 return a;
12}
13
14int f(int a, int b, int c); // okay to redeclare
15
16bool b;
17float b(int a); // ERROR: redefinition
18
19float f; // ERROR: redefinition
20float tan; // ERROR: redefines built-in function
John Kessenicha4351c52013-11-11 04:21:31 +000021float sin(float x); // ERROR: can't redefine built-in functions
22float cos(float x) // ERROR: can't redefine built-in functions
John Kessenichfbe01522013-06-12 06:13:17 +000023{
24 return 1.0;
25}
John Kessenicha4351c52013-11-11 04:21:31 +000026bool radians(bool x) // ERROR: can't overload built-in functions
27{
28 return true;
29}
John Kessenichfbe01522013-06-12 06:13:17 +000030
31invariant gl_Position;
32
33void main()
34{
35 int g(); // ERROR: no local function declarations
36 g();
37
38 float sin; // okay
39 sin;
40
41 f(1,2,3);
42
43 float f; // hides f()
44 f = 3.0;
45
46 gl_Position = vec4(f);
47
48 for (int f = 0; f < 10; ++f)
49 ++f;
50
51 int x = 1;
52 {
53 float x = 2.0, /* 2nd x visible here */ y = x; // y is initialized to 2
54 int z = z; // ERROR: z not previously defined.
55 }
56 {
57 int x = x; // x is initialized to '1'
58 }
59
60 struct S
61 {
62 int x;
63 };
64 {
65 S S = S(0); // 'S' is only visible as a struct and constructor
66 S.x; // 'S' is now visible as a variable
67 }
68}