PR inline-asm/84742
[official-gcc.git] / gcc / testsuite / gcc.c-torture / execute / 20081218-1.c
blob24b7bdd73a76bf2b8f6faee2d53e9bf197ecb9d6
1 struct A { int i, j; char pad[512]; } a;
3 int __attribute__((noinline))
4 foo (void)
6 __builtin_memset (&a, 0x26, sizeof a);
7 return a.i;
10 void __attribute__((noinline))
11 bar (void)
13 __builtin_memset (&a, 0x36, sizeof a);
14 a.i = 0x36363636;
15 a.j = 0x36373636;
18 int
19 main (void)
21 int i;
22 if (sizeof (int) != 4 || __CHAR_BIT__ != 8)
23 return 0;
25 if (foo () != 0x26262626)
26 __builtin_abort ();
27 for (i = 0; i < sizeof a; i++)
28 if (((char *)&a)[i] != 0x26)
29 __builtin_abort ();
31 bar ();
32 if (a.j != 0x36373636)
33 __builtin_abort ();
34 a.j = 0x36363636;
35 for (i = 0; i < sizeof a; i++)
36 if (((char *)&a)[i] != 0x36)
37 __builtin_abort ();
38 return 0;