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