aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/c11-float-7.c
blob: a8a7ef5bc3317ba0db12198cbd0bcc60053371fb (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
/* Test C11 definition of LDBL_EPSILON.  Based on
   gcc.target/powerpc/rs6000-ldouble-2.c.  */
/* { dg-do run } */
/* { dg-options "-std=c11 -pedantic-errors" } */

#include <float.h>

extern void abort (void);
extern void exit (int);

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 ();
  exit (0);
}