summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Modules/arraymodule.c8
-rw-r--r--Modules/mathmodule.c5
-rw-r--r--Modules/socketmodule.c9
-rw-r--r--Objects/floatobject.c6
-rw-r--r--Objects/intobject.c4
-rw-r--r--Python/ceval.c3
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