yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
b4e66d7b
main
1#version 400 2 3struct Vector { 4float x ; 5float y ; 6float z ; 7}; 8 9struct Color { 10float r ; 11float g ; 12float b ; 13}; 14 15struct Material { 16float shininess ; 17}; 18 19struct B { 20vec3 t ; 21}; 22 23struct K { 24// Original #3931 issue: struct names used as member names in declarator lists 25// These should be IDENTIFIER tokens, not TYPE_NAME 26float Vector ,Color ;// Two struct names as member names 27int Material ,shininess ;// Mix of struct name and regular name 28vec2 a ,position ,b ;// Regular names in declarator list 29mat3 ambient ,diffuse ,spec ;// Regular names in declarator list 30 31// Original bug report pattern 32float A ,B ;// B is a struct name used as member name 33 34// Array member pattern 35float A_array [2 ],B_array [3 ];// B is a struct name used as array member name 36}; 37 38void main () { 39K k ; 40// Access the members that have struct names 41k .Vector = 1.0 ; 42k .Color = 2.0 ; 43k .Material = 3 ; 44k .B = 4.0 ; 45k .B_array [0 ]= 5.0 ; 46 47// Test variable declarations with struct names 48int x ,B ,y ,K ; 49}