aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/execute/ieee/inf-1.c
blob: 34f60f3f1c0095ae94013183e7d81d5f2edf82be (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
35
extern void abort (void);

int main()
{
  float fi = __builtin_inff();
  double di = __builtin_inf();
  long double li = __builtin_infl();

  float fh = __builtin_huge_valf();
  double dh = __builtin_huge_val();
  long double lh = __builtin_huge_vall();

  if (fi + fi != fi)
    abort ();
  if (di + di != di)
    abort ();
  if (li + li != li)
    abort ();

  if (fi != fh)
    abort ();
  if (di != dh)
    abort ();
  if (li != lh)
    abort ();

  if (fi <= 0)
    abort ();
  if (di <= 0)
    abort ();
  if (li <= 0)
    abort ();

  return 0;
}