diff options
-rw-r--r-- | Modules/arraymodule.c | 8 | ||||
-rw-r--r-- | Modules/mathmodule.c | 5 | ||||
-rw-r--r-- | Modules/socketmodule.c | 9 | ||||
-rw-r--r-- | Objects/floatobject.c | 6 | ||||
-rw-r--r-- | Objects/intobject.c | 4 | ||||
-rw-r--r-- | Python/ceval.c | 3 |
6 files changed, 31 insertions, 4 deletions
diff --git a/Modules/arraymodule.c b/Modules/arraymodule.c index 8812ad6..e5bf46a 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 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 1521133..979155e 100644 --- a/Modules/mathmodule.c +++ b/Modules/mathmodule.c @@ -35,6 +35,11 @@ extern int errno; #include <math.h> +#ifdef i860 +/* Cray APP has bogus definition of HUGE_VAL in <math.h> */ +#undef HUGE_VAL +#endif + #ifndef __STDC__ extern double fmod PROTO((double, double)); #endif diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c index 0e20307..e2328fb 100644 --- a/Modules/socketmodule.c +++ b/Modules/socketmodule.c @@ -82,6 +82,11 @@ Socket methods: #include <sys/un.h> #include <netdb.h> +#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 8533e0e..6a95ebf 100644 --- a/Objects/floatobject.c +++ b/Objects/floatobject.c @@ -38,6 +38,11 @@ extern int errno; #include <ctype.h> #include <math.h> +#ifdef i860 +/* Cray APP has bogus definition of HUGE_VAL in <math.h> */ +#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 6806f0c..3021873 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 cdd71a8..1206570 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 |