aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.target/mips/pr59137.c
blob: 898650656806e165e927daa6d539f6fb60b426d8 (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
30
31
32
33
34
/* { dg-do run } */
/* { dg-options "-mno-plt" } */

extern void abort (void);

struct lispstruct
{
  int e;
  int t;
};

struct lispstruct Cnil_body;
struct lispstruct Ct_body;
int nvalues;

struct lispstruct * __attribute__ ((noinline))
fLlistp (struct lispstruct *x0)
{
  if (x0 == &Cnil_body
      || (((unsigned long) x0 >= 0x80000000) ? 0
	  : (!x0->e ? (x0 != &Cnil_body) : x0->t)))
    x0 = &Ct_body;
  else
    x0 = &Cnil_body;
  nvalues = 1;
  return x0;
}

int main ()
{
  if (fLlistp ((struct lispstruct *) 0xa0000001) != &Cnil_body)
    abort ();
  return 0;
}