From 9575a4457559ed280bdd66e600fbd9f1b54d86d2 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Wed, 7 Apr 1993 14:06:14 +0000 Subject: [PATCH] * Microscopic corrections to make things compile on the Cray APP. * Removed one use of $> in Makefile and warned about others. Added configurable lines in Makefile to change CC and AR. --- Modules/arraymodule.c | 10 +++++++++- Modules/mathmodule.c | 5 +++++ Modules/socketmodule.c | 9 +++++++++ Objects/floatobject.c | 6 ++++++ Objects/intobject.c | 4 ++-- Python/ceval.c | 3 +-- 6 files changed, 32 insertions(+), 5 deletions(-) diff --git a/Modules/arraymodule.c b/Modules/arraymodule.c index 8812ad613cb..e5bf46a1e9c 100644 --- a/Modules/arraymodule.c +++ b/Modules/arraymodule.c @@ -31,8 +31,16 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. #include "modsupport.h" #include "ceval.h" -#ifdef sun +#ifdef i860 +/* Cray APP doesn't have memmove */ #define NEED_MEMMOVE +extern char *memcpy(); +#endif + +#ifdef sun +/* SunOS doesn't have memmove */ +#define NEED_MEMMOVE +extern char *memcpy(); #endif #ifdef NEED_MEMMOVE diff --git a/Modules/mathmodule.c b/Modules/mathmodule.c index 15211339bfc..979155e481b 100644 --- a/Modules/mathmodule.c +++ b/Modules/mathmodule.c @@ -35,6 +35,11 @@ extern int errno; #include +#ifdef i860 +/* Cray APP has bogus definition of HUGE_VAL in */ +#undef HUGE_VAL +#endif + #ifndef __STDC__ extern double fmod PROTO((double, double)); #endif diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c index 0e20307f7da..e2328fb9543 100644 --- a/Modules/socketmodule.c +++ b/Modules/socketmodule.c @@ -82,6 +82,11 @@ Socket methods: #include #include +#ifdef i860 +/* Cray APP doesn't have getpeername() */ +#define NO_GETPEERNAME +#endif + /* Global variable holding the exception type for errors detected by this module (but not argument type or memory errors, etc.). */ @@ -594,6 +599,7 @@ sock_getsockname(s, args) } +#ifndef NO_GETPEERNAME /* s.getpeername() method */ static object * @@ -614,6 +620,7 @@ sock_getpeername(s, args) return socket_error(); return makesockaddr((struct sockaddr *) addrbuf, addrlen); } +#endif /* s.listen(n) method */ @@ -809,7 +816,9 @@ static struct methodlist sock_methods[] = { {"connect", sock_connect}, {"fileno", sock_fileno}, {"getsockname", sock_getsockname}, +#ifndef NO_GETPEERNAME {"getpeername", sock_getpeername}, +#endif {"listen", sock_listen}, {"makefile", sock_makefile}, {"recv", sock_recv}, diff --git a/Objects/floatobject.c b/Objects/floatobject.c index 8533e0e7be4..6a95ebf82f9 100644 --- a/Objects/floatobject.c +++ b/Objects/floatobject.c @@ -38,6 +38,11 @@ extern int errno; #include #include +#ifdef i860 +/* Cray APP has bogus definition of HUGE_VAL in */ +#undef HUGE_VAL +#endif + #ifdef HUGE_VAL #define CHECK(x) if (errno != 0) ; \ else if (-HUGE_VAL <= (x) && (x) <= HUGE_VAL) ; \ @@ -170,6 +175,7 @@ float_hash(v) } else { fractpart = frexp(fractpart, &expo); + fractpart = fractpart*4294967296.0; /* 2**32 */ x = (long) (intpart + fractpart) ^ expo; /* Rather arbitrary */ } if (x == -1) diff --git a/Objects/intobject.c b/Objects/intobject.c index 6806f0c109a..3021873acde 100644 --- a/Objects/intobject.c +++ b/Objects/intobject.c @@ -426,7 +426,7 @@ int_int(v) intobject *v; { INCREF(v); - return v; + return (object *)v; } static object * @@ -512,5 +512,5 @@ typeobject Inttype = { &int_as_number, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ - &int_hash, /*tp_hash*/ + int_hash, /*tp_hash*/ }; diff --git a/Python/ceval.c b/Python/ceval.c index cdd71a89d9c..12065703c88 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -125,9 +125,8 @@ save_thread() release_lock(interpreter_lock); return res; } - else - return NULL; #endif + return NULL; } void