1/* Test extensions to __float128 quiet signaling NaNs.  */
2/* { dg-do run { target i?86-*-* x86_64-*-* ia64-*-* } } */
3/* { dg-options "-fsignaling-nans" } */
4/* { dg-require-effective-target fenv_exceptions } */
5
6#include <fenv.h>
7#include <float.h>
8#include <stdlib.h>
9
10volatile long double a = __builtin_nansl ("");
11
12int
13main (void)
14{
15#if LDBL_MANT_DIG < 113
16  volatile __float128 r = a;
17  feclearexcept (FE_INVALID);
18  r += 1;
19  if (fetestexcept (FE_INVALID))
20    abort ();
21#endif
22  exit (0);
23}
24