diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2014-06-01 16:58:38 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2014-06-01 16:58:38 -0700 |
commit | eed652d649d28e9dafdb01f9c7425d7d28899e0d (patch) | |
tree | 07fbdfd51e4877c85a23b996dc244ff7f21a0d57 /lib/ftoastr.h | |
parent | b9928bbace87a54feffa5fc21eab791f658406b9 (diff) | |
download | emacs-eed652d649d28e9dafdb01f9c7425d7d28899e0d.tar.gz |
Merge from gnulib.
This incorporates:
2014-06-02 acl: apply pure attribute to two functions
2014-06-01 gnulib-common.m4: add _GL_UNUSED_LABEL
2014-05-31 dup2, fcntl, fcntl-h: port to AIX 7.1
2014-05-30 ftoastr: work around compiler bug in IBM xlc 12.1
* lib/acl-internal.h, lib/fcntl.in.h, lib/ftoastr.h:
* m4/dup2.m4, m4/fcntl.m4, m4/gnulib-common.m4:
Update from gnulib.
Diffstat (limited to 'lib/ftoastr.h')
-rw-r--r-- | lib/ftoastr.h | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/lib/ftoastr.h b/lib/ftoastr.h index 6236292d9d9..26cad7369ce 100644 --- a/lib/ftoastr.h +++ b/lib/ftoastr.h @@ -72,12 +72,13 @@ enum /* _GL_FLT_PREC_BOUND is an upper bound on the precision needed to represent a float value without losing information. Likewise for - _GL_DBL_PREC_BOUND and double, and _GL_LDBL_PREC_BOUND and long double. */ + _GL_DBL_PREC_BOUND and double, and _GL_LDBL_PREC_BOUND and long double. + These are macros, not enums, to work around a bug in IBM xlc 12.1. */ #if FLT_RADIX == 10 /* decimal floating point */ - enum { _GL_FLT_PREC_BOUND = FLT_MANT_DIG }; - enum { _GL_DBL_PREC_BOUND = DBL_MANT_DIG }; - enum { _GL_LDBL_PREC_BOUND = LDBL_MANT_DIG }; +# define _GL_FLT_PREC_BOUND FLT_MANT_DIG +# define _GL_DBL_PREC_BOUND DBL_MANT_DIG +# define _GL_LDBL_PREC_BOUND LDBL_MANT_DIG #else /* An upper bound on the number of bits needed to represent a single @@ -95,13 +96,13 @@ enum DIG digits. For why the "+ 1" is needed, see "Binary to Decimal Conversion" in David Goldberg's paper "What Every Computer Scientist Should Know About Floating-Point Arithmetic" - <http://docs.sun.com/source/806-3568/ncg_goldberg.html>. */ + <http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html>. */ # define _GL_FLOAT_PREC_BOUND(dig) \ (INT_BITS_STRLEN_BOUND ((dig) * _GL_FLOAT_DIG_BITS_BOUND) + 1) - enum { _GL_FLT_PREC_BOUND = _GL_FLOAT_PREC_BOUND ( FLT_MANT_DIG) }; - enum { _GL_DBL_PREC_BOUND = _GL_FLOAT_PREC_BOUND ( DBL_MANT_DIG) }; - enum { _GL_LDBL_PREC_BOUND = _GL_FLOAT_PREC_BOUND (LDBL_MANT_DIG) }; +# define _GL_FLT_PREC_BOUND _GL_FLOAT_PREC_BOUND ( FLT_MANT_DIG) +# define _GL_DBL_PREC_BOUND _GL_FLOAT_PREC_BOUND ( DBL_MANT_DIG) +# define _GL_LDBL_PREC_BOUND _GL_FLOAT_PREC_BOUND (LDBL_MANT_DIG) #endif |