[git] CMU Common Lisp branch master updated. snapshot-2014-09-6-g13bd32f

This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMU Common Lisp". The branch, master has been updated via 13bd32f69a31581b50582d6283ba08b745eca6d3 (commit) from ee7c488f2d0b57d8431ff3bff1b15bb58762e197 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 13bd32f69a31581b50582d6283ba08b745eca6d3 Author: Raymond Toy <toy.raymond@gmail.com> Date: Fri Sep 12 00:29:00 2014 -0700 Remove the NetBSD setexception changes on the master branch. This is only for the upcoming release. diff --git a/src/lisp/GNUmakefile b/src/lisp/GNUmakefile index 056e9ea..c557d3b 100644 --- a/src/lisp/GNUmakefile +++ b/src/lisp/GNUmakefile @@ -12,7 +12,7 @@ FDLIBM = k_sin.c k_cos.c k_tan.c s_sin.c s_cos.c s_tan.c sincos.c \ e_acosh.c s_asinh.c e_atanh.c \ e_atan2.c \ e_rem_pio2.c k_rem_pio2.c \ - setexception.c double-values.c + setexception.c SRCS = lisp.c coreparse.c alloc.c monitor.c print.c interr.c \ vars.c parse.c interrupt.c search.c validate.c globals.c \ diff --git a/src/lisp/double-values.c b/src/lisp/double-values.c deleted file mode 100644 index 79d5921..0000000 --- a/src/lisp/double-values.c +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Some helper functions to return specific double values for use by - * fdlibm_setexceptions on NetBSD. Currently, NetBSD doesn't have - * feraiseexcept so we have to do something special. See - * fdlibm_setexceptions. - */ - -#include "fdlibm.h" - -double -double_zero() -{ - return 0.0; -} - -/* - * Return most-positive-double-float - */ -double -double_huge() -{ - union { int i[2]; double d; } ux; - ux.i[HIWORD] = 0x7fefffff; - ux.i[LOWORD] = 0xffffffff; - - return ux.d; -} - -/* - * Return least-positive-double-float - */ -double -double_tiny() -{ - union { int i[2]; double d; } ux; - ux.i[HIWORD] = 0; - ux.i[LOWORD] = 1; - - return ux.d; -} diff --git a/src/lisp/setexception.c b/src/lisp/setexception.c index d0f4519..a77a9d8 100644 --- a/src/lisp/setexception.c +++ b/src/lisp/setexception.c @@ -1,25 +1,4 @@ -#if defined(__NetBSD__) -/* - * NetBSD doesn't have fenv.h. At least the version currently being - * used to build cmucl doesn't. Assume this also means we don't have - * feraiseexcept. So, to generate the desired exceptions, we have to - * create the appropriate operations to generate the desired - * exceptions. - */ -#undef HAVE_FERAISEEXCEPT - -extern double double_zero(); -extern double double_huge(); -extern double double_tiny(); - -#else -#define HAVE_FERAISEEXCEPT -#endif - -#ifdef HAVE_FERAISEEXCEPT #include <fenv.h> -#endif - #include <math.h> #include <stdio.h> @@ -71,48 +50,32 @@ fdlibm_setexception(double x, enum FDLIBM_EXCEPTION type) /* Division by zero. Use the sign of x to get the correct * signed infinity */ -#ifdef HAVE_FERAISEEXCEPT feraiseexcept(FE_DIVBYZERO); - ret = copysign(INFINITY, x); -#else - ret = copysign(1, x) / double_zero(); -#endif + ret = copysign(INFINITY, x); break; case 1: /* Underflow. Use the sign of x to get a signed zero. */ -#ifdef HAVE_FERAISEEXCEPT feraiseexcept(FE_UNDERFLOW); ret = copysign(0.0, x); -#else - ret = double_tiny() * double_tiny();; -#endif break; case 2: /* overflow */ -#ifdef HAVE_FERAISEEXCEPT feraiseexcept(FE_OVERFLOW); ret = copysign(INFINITY, x); -#else - ret = double_huge() * copysign(double_huge(), x); -#endif break; case 3: { - /* if */ + /* invalid */ if (!isQNaN(x)) { /* * If it's not a quiet NaN, we want to signal an invalid * operation. Otherwise, we silently return a NaN. */ -#ifdef HAVE_FERAISEEXCEPT feraiseexcept(FE_INVALID); -#else - ret = double_zero() / double_zero(); - return ret; -#endif } + /* * FIXME: Of the many NaN values that we have, what NaN * should we return? ----------------------------------------------------------------------- Summary of changes: src/lisp/GNUmakefile | 2 +- src/lisp/double-values.c | 40 ---------------------------------------- src/lisp/setexception.c | 43 +++---------------------------------------- 3 files changed, 4 insertions(+), 81 deletions(-) delete mode 100644 src/lisp/double-values.c hooks/post-receive -- CMU Common Lisp
participants (1)
-
rtoy@common-lisp.net