1/* { dg-do run } */ 2/* { dg-options "-fno-tree-sra" } */ 3 4struct S {int x, y, makemelarge[5];}; 5S __attribute__((noinline)) f (S &s) { 6 S r; 7 r.x = s.y; 8 r.y = s.x; 9 return r; 10} 11int __attribute__((noinline)) glob (int a, int b) 12{ 13 S local = { a, b }; 14 local = f (local); 15 return local.y; 16} 17extern "C" void abort (void); 18int main (void) 19{ 20 if (glob (1, 3) != 1) 21 abort (); 22 return 0; 23} 24 25