1#version 400
2
3void main()
4{
5    int o00 = 00;
6    int o000 = 000;
7    int o0000 = 0000;
8    int o5 = 05;
9    int o05 = 005;
10    int o006 = 0006;
11    int o7 = 07;
12    int o58 = 072;
13    int omax = 037777777777;
14    int o8 = 08;                      // ERROR
15    int o08 = 008;                    // ERROR
16    int o009 = 0009;                  // ERROR
17    int obig = 07324327323472347234;  // ERROR
18    int omax1 = 040000000000;         // ERROR
19
20    uint uo5 = 05u;
21    uint uo6 = 06u;
22    uint uo7 = 07u;
23    uint uo8 = 08u;                   // ERROR
24    uint uo9 = 09u;                   // ERROR
25
26    int h0 = 0x0;
27    int h00 = 0x00;
28    int h000 = 0x000;
29    int h1 = 0x1;
30    int h2 = 0x00000002;
31    int h300 = 0x000300;
32    int hABCDEF = 0xAbCdEF;
33    int hFFFFFFFF = 0xFFFFFFFF;
34    int h12345678 = 0xBC614E;
35    int hToBeOrNotToBe = 0x2b | ~0x2B;
36
37    uint uh0 = 0x0u;
38    uint uhg = (0xcu);
39    uint uh000 = 0x000u;
40    uint uh1 = 0x1u;
41    uint uh2 = 0x00000002u;
42    uint uh300 = 0x000300u;
43    uint uhABCDEF = 0xAbCdEFu;
44    uint uhFFFFFFFF = 0xFFFFFFFFu;
45    uint uh12345678 = 0xBC614Eu;
46    uint uhToBeOrNotToBe = 0x2bu | ~0x2BU;
47
48    //int he1 = 0xG;                     // ERROR
49    int he2 = 0x;                      // ERROR
50    int hbig = 0xFFFFFFFF1;            // ERROR
51
52    float f1 = 1.0;
53    float f2 = 2.;
54    float f3 = 3e0;
55    float f4 = 40e-1;
56    float f5 = 05.;
57    float f6 = 006.;
58    float f7 = .7e1;
59    float f8 = 08e0;
60    float f9 = .9e+1;
61    float f10 = 10.0;
62    float f11 = .011e+3;
63    float f12 = .0012e4;
64    float f543 = 000000543.;
65    float f6789 = 00006789.;
66    float f88 = 0000088.;
67
68    float g1 = 5.3876e4;
69    float g2 = 4000000000e-11;
70    float g3 = 1e+5;
71    float g4 = 7.321E-3;
72    float g5 = 3.2E+4;
73    float g6 = 0.5e-5;
74    float g7 = 0.45;
75    float g8 = 6.e10;
76
77    double gf1 = 1.0lf;
78    double gf2 = 2.Lf;
79    double gf3 = .3e1lF;
80    double gf4 = .4e1LF;
81    float gf5 = 5.f;
82    float gf6 = 6.F;
83
84    //float e1 = 1..;        // ERROR
85    //float e2 = 2.l;        // ERROR
86    //float e3 = ..3;        // ERROR
87    //float e4 = 4ee1;       // ERROR
88    float e5 = 5f;         // ERROR
89}
90
91layout (location = 2) out vec4 c2;
92layout (location = 3u) out vec4 c3;
93layout (location = 04) out vec4 c4;
94layout (location = 005u) out vec4 c5;
95layout (location = 0x6) out vec4 c6;
96layout (location = 0x7u) out vec4 c7;
97
98uint g1 = 4294967296u; // ERROR, too big
99uint g2 = 4294967295u;
100uint g3 = 4294967294u;
101int g4 = 4294967296;   // ERROR, too big
102int g5 = 4294967295;
103int g6 = 4294967294;
104float inf1 = -1.#INF;
105float inf2 =  1.#INF;
106float inf3 = +1.#INF;
107