| /* { dg-do compile { target ia32 } } */ | |
| /* { dg-options "-O2 -mno-sse -mno-mmx -miamcu" } */ | |
| extern void abort (void); | |
| int | |
| main (int argc, char **argv) | |
| { | |
| int size = 10; | |
| typedef struct | |
| { | |
| char val[size]; | |
| } | |
| block; | |
| block a, b; | |
| block __attribute__((noinline)) | |
| retframe_block () | |
| { | |
| return *(block *) &b; | |
| } | |
| b.val[0] = 1; | |
| b.val[9] = 2; | |
| a=retframe_block (); | |
| if (a.val[0] != 1 | |
| || a.val[9] != 2) | |
| abort (); | |
| return 0; | |
| } |