1/* { dg-do run } */ 2/* { dg-options "-O2" } */ 3 4extern void abort (void); 5extern void exit (int); 6 7char buf[8]; 8 9void bar(char *p) 10{ 11} 12 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