diff options
| author | Paul Eggert | 2012-09-09 09:06:33 -0700 |
|---|---|---|
| committer | Paul Eggert | 2012-09-09 09:06:33 -0700 |
| commit | f6196b87e1ceee0d56f2fe6f3aa2b9d1d82c44b0 (patch) | |
| tree | 3400f2f4898ce1fc39ad437faa5e55714129d30b /src/ChangeLog | |
| parent | 8ed43f154827121c624a5a93808340618bd8f03f (diff) | |
| download | emacs-f6196b87e1ceee0d56f2fe6f3aa2b9d1d82c44b0.tar.gz emacs-f6196b87e1ceee0d56f2fe6f3aa2b9d1d82c44b0.zip | |
Assume C89 or later for math functions.
This simplifies the code, and makes it a bit smaller and faster,
and (most important) makes it easier to clean up signal handling
since we can stop worring about floating-point exceptions in
library code. That was a problem before C89, but the problem
went away many years ago on all practical Emacs targets.
* configure.ac (frexp, fmod): Remove checks for these functions,
as we now assume them.
(FLOAT_CHECK_DOMAIN, HAVE_INVERSE_HYPERBOLIC, NO_MATHERR)
(HAVE_EXCEPTION):
Remove; no longer needed.
* admin/CPP-DEFINES (HAVE_FMOD, HAVE_FREXP, FLOAT_CHECK_DOMAIN)
(HAVE_INVERSE_HYPERBOLIC, NO_MATHERR): Remove.
* src/data.c, src/image.c, src/lread.c, src/print.c:
Don't include <math.h>; no longer needed.
* src/data.c, src/floatfns.c (IEEE_FLOATING_POINT): Don't worry that it
might be autoconfigured, as that never happens.
* src/data.c (fmod):
* src/doprnt.c (DBL_MAX_10_EXP):
* src/print.c (DBL_DIG):
Remove. C89 or later always defines these.
* src/floatfns.c (HAVE_MATHERR, FLOAT_CHECK_ERRNO, FLOAT_CHECK_DOMAIN)
(in_float, float_error_arg, float_error_arg2, float_error_fn_name)
(arith_error, domain_error, domain_error2):
Remove all this pre-C89 cruft. Do not include <errno.h> as that's
no longer needed -- we simply return what C returns. All uses removed.
(IN_FLOAT, IN_FLOAT2): Remove. All uses replaced with
the wrapped code.
(FLOAT_TO_INT, FLOAT_TO_INT2, range_error, range_error2):
Remove. All uses expanded, as these macros are no longer used
more than once and are now more trouble than they're worth.
(Ftan): Use tan, not sin / cos.
(Flogb): Assume C89 frexp.
(fmod_float): Assume C89 fmod.
(matherr) [HAVE_MATHERR]: Remove; no longer needed.
(init_floatfns): Remove. All uses removed.
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 56b96fda519..ae99fcc138d 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,35 @@ | |||
| 1 | 2012-09-09 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | Assume C89 or later for math functions (Bug#12381). | ||
| 4 | This simplifies the code, and makes it a bit smaller and faster, | ||
| 5 | and (most important) makes it easier to clean up signal handling | ||
| 6 | since we can stop worring about floating-point exceptions in | ||
| 7 | library code. That was a problem before C89, but the problem | ||
| 8 | went away many years ago on all practical Emacs targets. | ||
| 9 | * data.c, image.c, lread.c, print.c: | ||
| 10 | Don't include <math.h>; no longer needed. | ||
| 11 | * data.c, floatfns.c (IEEE_FLOATING_POINT): Don't worry that it | ||
| 12 | might be autoconfigured, as that never happens. | ||
| 13 | * data.c (fmod): | ||
| 14 | * doprnt.c (DBL_MAX_10_EXP): | ||
| 15 | * print.c (DBL_DIG): | ||
| 16 | Remove. C89 or later always defines these. | ||
| 17 | * floatfns.c (HAVE_MATHERR, FLOAT_CHECK_ERRNO, FLOAT_CHECK_DOMAIN) | ||
| 18 | (in_float, float_error_arg, float_error_arg2, float_error_fn_name) | ||
| 19 | (arith_error, domain_error, domain_error2): | ||
| 20 | Remove all this pre-C89 cruft. Do not include <errno.h> as that's | ||
| 21 | no longer needed -- we simply return what C returns. All uses removed. | ||
| 22 | (IN_FLOAT, IN_FLOAT2): Remove. All uses replaced with | ||
| 23 | the wrapped code. | ||
| 24 | (FLOAT_TO_INT, FLOAT_TO_INT2, range_error, range_error2): | ||
| 25 | Remove. All uses expanded, as these macros are no longer used | ||
| 26 | more than once and are now more trouble than they're worth. | ||
| 27 | (Ftan): Use tan, not sin / cos. | ||
| 28 | (Flogb): Assume C89 frexp. | ||
| 29 | (fmod_float): Assume C89 fmod. | ||
| 30 | (matherr) [HAVE_MATHERR]: Remove; no longer needed. | ||
| 31 | (init_floatfns): Remove. All uses removed. | ||
| 32 | |||
| 1 | 2012-09-08 Jan Djärv <jan.h.d@swipnet.se> | 33 | 2012-09-08 Jan Djärv <jan.h.d@swipnet.se> |
| 2 | 34 | ||
| 3 | * nsterm.m (ns_draw_fringe_bitmap, ns_dumpglyphs_image): Take back | 35 | * nsterm.m (ns_draw_fringe_bitmap, ns_dumpglyphs_image): Take back |