1 /* { dg-do compile } */
2 
3 int
foo(void)4 foo (void)
5 {
6   union { char e[8]; int i; } a, b;
7   char *c, *d;
8   unsigned int i;
9   c = a.e;
10   d = &b.e[sizeof (int) - 1];
11   for (i = 0; i < sizeof (int); i++)
12     {
13       *d = *c++;
14       --d;
15     }
16   return b.i;
17 }
18