diff --git a/ChangeLog b/ChangeLog index 52ea0d96aa..e45b749a40 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 2017-10-16 Joseph Myers + * math/Makefile (test-types): Add + $(type-float128-$(float128-alias-fcts)). + * math/test-float128.h (TYPE_STR): Define conditional on + [FLT128_MANT_DIG == LDBL_MANT_DIG]. + (ULP_IDX): Likewise. + (ULP_I_IDX): Likewise. + * stdlib/strtold.c: Include [__HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128] (strtof128): Define and later undefine as macro. Define as weak alias if diff --git a/math/Makefile b/math/Makefile index 4014471f74..2d4720939c 100644 --- a/math/Makefile +++ b/math/Makefile @@ -127,7 +127,8 @@ type-float128-suffix := f128 type-float128-routines := t_sincosf128 k_sincosf128 type-float128-yes := float128 types = $(types-basic) $(type-float128-$(float128-fcts)) -test-types = $(test-types-basic) $(type-float128-$(float128-fcts)) +test-types = $(test-types-basic) $(type-float128-$(float128-fcts)) \ + $(type-float128-$(float128-alias-fcts)) # For each of the basic types (float, double, long double), replace the # occurrences of 'F' in arg 1 with the appropriate suffix for the type. diff --git a/math/test-float128.h b/math/test-float128.h index 3132766aa4..3fd9f5448e 100644 --- a/math/test-float128.h +++ b/math/test-float128.h @@ -28,9 +28,15 @@ #define CFLOAT __CFLOAT128 #define BUILD_COMPLEX(real, imag) (CMPLXF128 ((real), (imag))) #define PREFIX FLT128 -#define TYPE_STR "float128" -#define ULP_IDX ULP_FLT128 -#define ULP_I_IDX ULP_I_FLT128 +#if FLT128_MANT_DIG == LDBL_MANT_DIG +# define TYPE_STR "ldouble" +# define ULP_IDX ULP_LDBL +# define ULP_I_IDX ULP_I_LDBL +#else +# define TYPE_STR "float128" +# define ULP_IDX ULP_FLT128 +# define ULP_I_IDX ULP_I_FLT128 +#endif #define LIT(x) __f128 (x) #define LITM(x) x ## f128 #define FTOSTR strfromf128