1 #version 130 2 3 struct s { 4 float c; 5 float x; 6 }; 7 8 void main() 9 { 10 float fooFloat; 11 s fooStruct; 12 13 fooFloat = fooStruct.c; 14 fooStruct.c = 10.0; 15 fooFloat = fooStruct.c; 16 fooStruct.c = 20.0; 17 18 /* Technically .x is also uninitialized, but detecting this is beyond 19 * scope. FWIW, gcc doesn't detect this neither. 20 */ 21 fooFloat = fooStruct.x; 22 } 23 24