1extern void abort (void);
2
3int main()
4{
5#ifndef __SPU__
6  /* The SPU single-precision floating point format does not support Inf.  */
7  float fi = __builtin_inff();
8#endif
9  double di = __builtin_inf();
10  long double li = __builtin_infl();
11
12  float fh = __builtin_huge_valf();
13  double dh = __builtin_huge_val();
14  long double lh = __builtin_huge_vall();
15
16#ifndef __SPU__
17  if (fi + fi != fi)
18    abort ();
19#endif
20  if (di + di != di)
21    abort ();
22  if (li + li != li)
23    abort ();
24
25#ifndef __SPU__
26  if (fi != fh)
27    abort ();
28#endif
29  if (di != dh)
30    abort ();
31  if (li != lh)
32    abort ();
33
34#ifndef __SPU__
35  if (fi <= 0)
36    abort ();
37#endif
38  if (di <= 0)
39    abort ();
40  if (li <= 0)
41    abort ();
42
43  return 0;
44}
45