/* { 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; }