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