From 2c46d1148650edf5d02051c3794227d52618db0c Mon Sep 17 00:00:00 2001 From: "Paul E. Murphy" Date: Mon, 12 Sep 2016 17:32:07 -0500 Subject: Build s_nan* objects from a generic template This requires adding a macro to synthesize the call to __strto*_nan. Since this is likely to be the only usage ever for strto* functions in generated libm calls, a dedicated macro is defined for it. --- sysdeps/generic/math-type-macros-double.h | 1 + sysdeps/generic/math-type-macros-float.h | 1 + sysdeps/generic/math-type-macros-ldouble.h | 1 + sysdeps/generic/math-type-macros.h | 3 +++ 4 files changed, 6 insertions(+) (limited to 'sysdeps/generic') diff --git a/sysdeps/generic/math-type-macros-double.h b/sysdeps/generic/math-type-macros-double.h index 284a6a48db..6d0f20635a 100644 --- a/sysdeps/generic/math-type-macros-double.h +++ b/sysdeps/generic/math-type-macros-double.h @@ -25,6 +25,7 @@ #define M_SUF(c) c #define FLOAT double #define CFLOAT _Complex double +#define M_STRTO_NAN __strtod_nan /* Machines without a distinct long double type alias long double functions to their double diff --git a/sysdeps/generic/math-type-macros-float.h b/sysdeps/generic/math-type-macros-float.h index aab88fdfa5..33f51304a1 100644 --- a/sysdeps/generic/math-type-macros-float.h +++ b/sysdeps/generic/math-type-macros-float.h @@ -24,6 +24,7 @@ #define M_SUF(c) c ## f #define FLOAT float #define CFLOAT _Complex float +#define M_STRTO_NAN __strtof_nan /* Standard/GNU macro literals do not exist for the float type. Use the double macro constants. */ diff --git a/sysdeps/generic/math-type-macros-ldouble.h b/sysdeps/generic/math-type-macros-ldouble.h index 90773fa578..4f959da05f 100644 --- a/sysdeps/generic/math-type-macros-ldouble.h +++ b/sysdeps/generic/math-type-macros-ldouble.h @@ -25,6 +25,7 @@ #define M_SUF(c) c ## l #define FLOAT long double #define CFLOAT _Complex long double +#define M_STRTO_NAN __strtold_nan /* Supply the generic macros. */ #include diff --git a/sysdeps/generic/math-type-macros.h b/sysdeps/generic/math-type-macros.h index 78b883c877..c2488ec600 100644 --- a/sysdeps/generic/math-type-macros.h +++ b/sysdeps/generic/math-type-macros.h @@ -30,6 +30,9 @@ i.e expf expl exp. FLOAT - Resolves to the C typename of M_TYPE. CFLOAT - Resolves to the complex typename of M_TYPE. + M_STRTO_NAN - Resolves to the internal libc function which + converts a string into the appropriate FLOAT nan + value. Optionally, these headers may inject a non-standard definition for the following: -- cgit v1.2.3