1 /* { dg-do compile } */ 2 /* { dg-options "-fdump-tree-gimple" } */ 3 4 struct f 5 { 6 struct { 7 int i; 8 } ff[10]; 9 }; 10 11 struct f g; ffff(int i)12int ffff(int i) 13 { 14 int t1 = 0; 15 int i1 = g.ff[t1].i; 16 int i2 = g.ff[i].i; 17 return i1 + i2; 18 } 19 20 /* We should not use extra temporaries apart from for i1 + i2. */ 21 22 /* { dg-final { scan-tree-dump-times "int" 5 "gimple" } } */ 23 /* { dg-final { scan-tree-dump-times "int D\\\." 1 "gimple" } } */ 24