1617a3babSopenharmony_ci#version 410 core
2617a3babSopenharmony_ci
3617a3babSopenharmony_civoid main()
4617a3babSopenharmony_ci{
5617a3babSopenharmony_ci    gl_ViewportIndex = 7;
6617a3babSopenharmony_ci}
7617a3babSopenharmony_ci
8617a3babSopenharmony_ciin gl_PerVertex {
9617a3babSopenharmony_ci    float gl_PointSize;
10617a3babSopenharmony_ci} myIn[];  // ERROR, can't redeclare a different name
11617a3babSopenharmony_ci
12617a3babSopenharmony_ciin gl_PerVertex {
13617a3babSopenharmony_ci    float gl_PointSize;
14617a3babSopenharmony_ci} gl_myIn[];  // ERROR, can't redeclare a different name
15617a3babSopenharmony_ci
16617a3babSopenharmony_ciin gl_PerVertex {
17617a3babSopenharmony_ci    float gl_PointSize;
18617a3babSopenharmony_ci} gl_in[];
19617a3babSopenharmony_ci
20617a3babSopenharmony_ciin gl_PerVertex {
21617a3babSopenharmony_ci    float gl_PointSize;
22617a3babSopenharmony_ci} gl_in[];     // ERROR, can't do it again
23617a3babSopenharmony_ci
24617a3babSopenharmony_ciout gl_PerVertex {
25617a3babSopenharmony_ci    float gl_PointSize;
26617a3babSopenharmony_ci};
27617a3babSopenharmony_ci
28617a3babSopenharmony_civoid foo()
29617a3babSopenharmony_ci{
30617a3babSopenharmony_ci    float p = gl_in[1].gl_PointSize;  // use of redeclared
31617a3babSopenharmony_ci    gl_PointSize = p;                 // use of redeclared
32617a3babSopenharmony_ci    vec4 v = gl_in[1].gl_Position;    // ERROR, not included in the redeclaration
33617a3babSopenharmony_ci    gl_Position = vec4(1.0);          // ERROR, not included in the redeclaration
34617a3babSopenharmony_ci}
35617a3babSopenharmony_ci
36617a3babSopenharmony_cifloat foo5()
37617a3babSopenharmony_ci{
38617a3babSopenharmony_ci    return 4;  // implicit conversion of return type
39617a3babSopenharmony_ci}
40