1 /* { dg-do run { target i?86-*-* x86_64-*-*} } */ 2 /* { dg-options "-O2 -fno-strength-reduce" } */ 3 4 extern void abort (void); 5 extern void exit (int); 6 7 char buf[8]; 8 bar(char * p)9void bar(char *p) 10 { 11 } 12 main()13int main() 14 { 15 union { 16 unsigned int val; 17 unsigned char p[4]; 18 } serial; 19 20 int i; 21 serial.val = 0; 22 bar(buf); 23 for(i = 0; i < 8; i += 4) 24 { 25 serial.p [0] += buf [i + 0]; 26 serial.p [1] += buf [i + 1]; 27 serial.p [2] += buf [i + 2]; 28 serial.p [3] += buf [i + 3]; 29 } 30 if (serial.val) 31 abort(); 32 exit(0); 33 } 34