aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.target/i386/pr55141.c
blob: a4577559939e0aad4b16088e74eded6c28d2a291 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/* { dg-do run } */
/* { dg-options "-O -fno-split-wide-types" } */

typedef struct
{
  long int p_x, p_y;
} Point;

static __attribute__ ((noinline, noclone))
     void foo (Point p0, Point p1, Point p2, Point p3)
{
  if (p0.p_x != 1
      || p1.p_x != 3
      || p2.p_x != 5
      || p3.p_x != 7)
    __builtin_abort ();
}

int
main (int argc, char *argv[])
{
  Point p0, p1, p2, p3, p4, p5;
  p0.p_x = 1;
  p1.p_x = 3;
  p2.p_x = 5;
  p3.p_x = 7;
  foo (p0, p1, p2, p3);
  return 0;
}