diff options
author | Andreas Schwab <schwab@linux-m68k.org> | 2012-09-05 13:45:10 +0200 |
---|---|---|
committer | Andreas Schwab <schwab@linux-m68k.org> | 2012-09-05 13:53:43 +0200 |
commit | a0070b7e7054df5f2a8da0467f15496ef8a3662f (patch) | |
tree | d76a4f72913536a525e474fd1358268765a71ab2 | |
parent | e1343020fb81b1d034d667aea2d8744afc245e40 (diff) | |
download | glibc-a0070b7e7054df5f2a8da0467f15496ef8a3662f.tar.gz glibc-a0070b7e7054df5f2a8da0467f15496ef8a3662f.tar.xz glibc-a0070b7e7054df5f2a8da0467f15496ef8a3662f.zip |
Use LDBL_MIN_EXP to distinguish Intel and Motorola extended float format
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | stdlib/tst-strtod-round.c | 28 |
2 files changed, 14 insertions, 17 deletions
diff --git a/ChangeLog b/ChangeLog index d8960216fa..73da793cfa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,7 +3,8 @@ * stdlib/gen-tst-strtod-round.c (formats): Add Motorola extended float format. * stdlib/tst-strtod-round.c (TEST) [LDBL_MANT_DIG == 64 && - LDBL_MAX_EXP]: Add case for Motorola extended float format. + LDBL_MAX_EXP == 16384]: Add case for Motorola extended float + format. (test): Regenerate. 2012-09-04 David S. Miller <davem@davemloft.net> diff --git a/stdlib/tst-strtod-round.c b/stdlib/tst-strtod-round.c index 3e75c11c91..1edeff6c17 100644 --- a/stdlib/tst-strtod-round.c +++ b/stdlib/tst-strtod-round.c @@ -39,26 +39,22 @@ struct test { ld106exact, ld106d, ld106n, ld106z, ld106u, \ ld113d, ld113n, ld113z, ld113u) \ { s, fn, dn, true, ld53n } -#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384 -# if defined __i386__ || defined __x86_64__ || defined __ia64__ +#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384 && LDBL_MIN_EXP == -16381 /* This is for the Intel extended float format. */ -# define TEST(s, fd, fn, fz, fu, dd, dn, dz, du, ld53d, ld53n, ld53z, ld53u, \ - ld64id, ld64in, ld64iz, ld64iu, \ - ld64md, ld64mn, ld64mz, ld64mu, \ - ld106exact, ld106d, ld106n, ld106z, ld106u, \ - ld113d, ld113n, ld113z, ld113u) \ +# define TEST(s, fd, fn, fz, fu, dd, dn, dz, du, ld53d, ld53n, ld53z, ld53u, \ + ld64id, ld64in, ld64iz, ld64iu, \ + ld64md, ld64mn, ld64mz, ld64mu, \ + ld106exact, ld106d, ld106n, ld106z, ld106u, \ + ld113d, ld113n, ld113z, ld113u) \ { s, fn, dn, true, ld64in } -# elif defined __mc68000__ +#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384 && LDBL_MIN_EXP == -16382 /* This is for the Motorola extended float format. */ -# define TEST(s, fd, fn, fz, fu, dd, dn, dz, du, ld53d, ld53n, ld53z, ld53u, \ - ld64id, ld64in, ld64iz, ld64iu, \ - ld64md, ld64mn, ld64mz, ld64mu, \ - ld106exact, ld106d, ld106n, ld106z, ld106u, \ - ld113d, ld113n, ld113z, ld113u) \ +# define TEST(s, fd, fn, fz, fu, dd, dn, dz, du, ld53d, ld53n, ld53z, ld53u, \ + ld64id, ld64in, ld64iz, ld64iu, \ + ld64md, ld64mn, ld64mz, ld64mu, \ + ld106exact, ld106d, ld106n, ld106z, ld106u, \ + ld113d, ld113n, ld113z, ld113u) \ { s, fn, dn, true, ld64mn } -# else -# error "unknown long double format" -# endif #elif LDBL_MANT_DIG == 106 && LDBL_MAX_EXP == 1024 # define TEST(s, fd, fn, fz, fu, dd, dn, dz, du, ld53d, ld53n, ld53z, ld53u, \ ld64id, ld64in, ld64iz, ld64iu, \ |