1/* { dg-do run } */ 2/* { dg-skip-if "requires alloca" { ! alloca } { "-O0" } { "" } } */ 3 4extern void abort (void); 5int 6main (int argc, char **argv) 7{ 8 int size = 10; 9 typedef struct 10 { 11 char val[size]; 12 } 13 block; 14 block a, b; 15 block __attribute__((noinline)) 16 retframe_block () 17 { 18 return *(block *) &b; 19 } 20 b.val[0] = 1; 21 b.val[9] = 2; 22 a=retframe_block (); 23 if (a.val[0] != 1 24 || a.val[9] != 2) 25 abort (); 26 return 0; 27} 28