This test tries to use struct as an interface block name, however we convert the struct into anonymous struct. so the test expects something like in struct { vec4 test; } testBlockInstance; to fail to compile
At least per the GLSL 1.50 specification, this test enforces NON-conformance! The grammar makes it quite clear that in struct { ... } foo; declares a shader input "foo" that is an anonymous structure. Here are the relevant bits of the grammar (with some omissions for clarity): single_declaration: ... fully_specified_type IDENTIFIER ... fully_specified_type: type_specifier type_qualifier type_specifier type_qualifier: storage_qualifier ... storage_qualifier: ... IN ... type_specifier: type_specifier_no_prec precision_qualifier type_specifier_no_prec type_specifier_no_prec: type_specifier_nonarray ... type_specifier_nonarray: VOID FLOAT INT ... struct_specifier TYPE_NAME struct_specifier: ... STRUCT LEFT_BRACE struct_declaration_list RIGHT_BRACE Neither section 4.3.4 (Inputs) nor section 4.3.7 (Interface Blocks) add any limitations that I can see. I'll dig through later specs to see if this changed.
The test is now called KHR-GL33.CommonBugs.CommonBug_ReservedNames and seems to pass with git master. This was likely fixed a while ago. Closing bug.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.