1/* powerpc64-linux gcc miscompiled this due to rs6000.c:expand_block_move
2   not setting mem aliasing info correctly for the code implementing the
3   structure assignment.  */
4
5struct termios
6{
7  unsigned int a;
8  unsigned int b;
9  unsigned int c;
10  unsigned int d;
11  unsigned char pad[28];
12};
13
14struct tty_driver
15{
16  unsigned char pad1[38];
17  struct termios t __attribute__ ((aligned (8)));
18};
19
20static struct termios zero_t;
21static struct tty_driver pty;
22
23void ini (void)
24{
25  pty.t = zero_t;
26  pty.t.a = 1;
27  pty.t.b = 2;
28  pty.t.c = 3;
29  pty.t.d = 4;
30}
31
32int main (void)
33{
34  extern void abort (void);
35
36  ini ();
37  if (pty.t.a != 1
38      || pty.t.b != 2
39      || pty.t.c != 3
40      || pty.t.d != 4)
41    abort ();
42  return 0;
43}
44