#version 410 core void main() { gl_ViewportIndex = 7; } in gl_PerVertex { float gl_PointSize; } myIn[]; // ERROR, can't redeclare a different name in gl_PerVertex { float gl_PointSize; } gl_myIn[]; // ERROR, can't redeclare a different name in gl_PerVertex { float gl_PointSize; } gl_in[]; in gl_PerVertex { float gl_PointSize; } gl_in[]; // ERROR, can't do it again out gl_PerVertex { float gl_PointSize; }; void foo() { float p = gl_in[1].gl_PointSize; // use of redeclared gl_PointSize = p; // use of redeclared vec4 v = gl_in[1].gl_Position; // ERROR, not included in the redeclaration gl_Position = vec4(1.0); // ERROR, not included in the redeclaration } float foo5() { return 4; // implicit conversion of return type }