Daily bump.
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / pr57018.c
blobfb0d849adc99a530c32d7594683cc7d302d8fcc4
1 /* { dg-do run } */
2 /* { dg-options "-Os -fomit-frame-pointer -fno-asynchronous-unwind-tables" } */
3 /* { dg-additional-options "-march=i686" { target ia32 } } */
5 struct A { char a[16]; } a;
7 void __attribute__((noinline, noclone))
8 foo (struct A b)
10 if (__builtin_memcmp (b.a, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16))
11 __builtin_abort ();
12 asm volatile ("" : : : "memory");
15 void __attribute__((noinline, noclone))
16 bar (struct A b)
18 foo (a);
19 a = b;
22 int
23 main ()
25 struct A b = { "\0\1\2\3\4\5\6\7\10\11\12\13\14\15\16\17" };
26 bar (b);
27 if (__builtin_memcmp (a.a, b.a, 16))
28 __builtin_abort ();
29 return 0;