modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/20081218-1.c (about) 1 struct A { int i, j; char pad[512]; } a; 2 3 int __attribute__((noinline)) 4 foo (void) 5 { 6 __builtin_memset (&a, 0x26, sizeof a); 7 return a.i; 8 } 9 10 void __attribute__((noinline)) 11 bar (void) 12 { 13 __builtin_memset (&a, 0x36, sizeof a); 14 a.i = 0x36363636; 15 a.j = 0x36373636; 16 } 17 18 int 19 main (void) 20 { 21 int i; 22 if (sizeof (int) != 4 || __CHAR_BIT__ != 8) 23 return 0; 24 25 if (foo () != 0x26262626) 26 __builtin_abort (); 27 for (i = 0; i < sizeof a; i++) 28 if (((char *)&a)[i] != 0x26) 29 __builtin_abort (); 30 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; 39 }