summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/powerpc/rs6000-ldouble-2.c
blob: 5dc74cd2de48d5a57b572311c59c65a80d6bd8eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/* { dg-do run { target { { powerpc*-*-darwin* powerpc*-*-aix* rs6000-*-* } || { powerpc*-*-linux* && lp64 } } } } */
/* { dg-options "-mlong-double-128" } */

/* Check that LDBL_EPSILON is right for 'long double'.  */

#include <float.h>

extern void abort (void);

int main(void)
{
  volatile long double ee = 1.0;
  long double eps = ee;
  while (ee + 1.0 != 1.0)
    {
      eps = ee;
      ee = eps / 2;
    }
  if (eps != LDBL_EPSILON)
    abort ();
  return 0;
}