1 /* Test -fno-fp-int-builtin-inexact. */
3 /* { dg-options "-fno-fp-int-builtin-inexact" } */
4 /* { dg-add-options c99_runtime } */
5 /* { dg-require-effective-target fenv_exceptions } */
9 /* Define functions locally to ensure that if the calls are not
10 expanded inline, failures do not occur because of libm raising
13 #define LOCAL_FN(NAME, TYPE) \
14 __attribute__ ((noinline, noclone)) TYPE \
20 #define LOCAL_FNS(NAME) \
21 LOCAL_FN (NAME, double) \
22 LOCAL_FN (NAME ## f, float) \
23 LOCAL_FN (NAME ## l, long double)
30 extern void abort (void);
31 extern void exit (int);
33 #define TEST(FN, TYPE) \
36 volatile TYPE a = 1.5, b; \
38 if (fetestexcept (FE_INEXACT)) \
43 #define FN_TESTS(FN) \
46 TEST (__builtin_ ## FN, double); \
47 TEST (__builtin_ ## FN ## f, float); \
48 TEST (__builtin_ ## FN ## l, long double); \
61 /* This file may be included by architecture-specific tests. */