From: Chris Hanson Date: Sun, 11 Feb 1990 22:34:12 +0000 (+0000) Subject: Changes from JMiller that are needed to get this stuff running on the X-Git-Tag: 20090517-FFI~11533 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=a06540cf38959d37b749f16fc73688e73519ba4c;p=mit-scheme.git Changes from JMiller that are needed to get this stuff running on the DECStation 3100. --- diff --git a/v7/src/microcode/bignum.c b/v7/src/microcode/bignum.c index 07234d848..f6c0bf5f7 100644 --- a/v7/src/microcode/bignum.c +++ b/v7/src/microcode/bignum.c @@ -1,8 +1,8 @@ /* -*-C-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/bignum.c,v 9.29 1990/01/12 23:36:36 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/bignum.c,v 9.30 1990/02/11 22:34:00 cph Exp $ -Copyright (c) 1989 Massachusetts Institute of Technology +Copyright (c) 1989, 1990 Massachusetts Institute of Technology This material was developed by the Scheme project at the Massachusetts Institute of Technology, Department of Electrical Engineering and @@ -36,6 +36,7 @@ MIT in each case. */ #ifdef MIT_SCHEME #include "scheme.h" +#undef CHAR_BIT /* redefined in "limits.h" */ #else #include "bignum.h" #endif @@ -994,7 +995,6 @@ bignum_destructive_add (bignum, n) } (*scan++) = (digit - BIGNUM_RADIX); } - return; } /* Division */ diff --git a/v7/src/microcode/fasload.c b/v7/src/microcode/fasload.c index 8360f1c00..085b36099 100644 --- a/v7/src/microcode/fasload.c +++ b/v7/src/microcode/fasload.c @@ -1,6 +1,6 @@ /* -*-C-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/fasload.c,v 9.49 1990/01/21 23:34:19 jinx Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/fasload.c,v 9.50 1990/02/11 22:34:07 cph Exp $ Copyright (c) 1987, 1988, 1989, 1990 Massachusetts Institute of Technology @@ -327,8 +327,7 @@ Relocate_Block(Scan, Stop_At) --count >= 0; ) { - address = ((long) *Scan); - address = (ADDRESS_TO_DATUM (address)); + address = (ADDRESS_TO_DATUM ((SCHEME_OBJECT *) (*Scan))); *Scan++ = ((SCHEME_OBJECT) Relocate(address)); } break; @@ -348,7 +347,7 @@ Relocate_Block(Scan, Stop_At) Scan = ((SCHEME_OBJECT *) (word_ptr)); word_ptr = (NEXT_LINKAGE_OPERATOR_ENTRY (word_ptr)); EXTRACT_OPERATOR_LINKAGE_ADDRESS (address, Scan); - address = (ADDRESS_TO_DATUM (address)); + address = (ADDRESS_TO_DATUM ((SCHEME_OBJECT *) address)); address = ((long) (Relocate(address))); STORE_OPERATOR_LINKAGE_ADDRESS (address, Scan); } @@ -375,7 +374,7 @@ Relocate_Block(Scan, Stop_At) Scan = ((SCHEME_OBJECT *) (word_ptr)); word_ptr = (NEXT_MANIFEST_CLOSURE_ENTRY (word_ptr)); EXTRACT_CLOSURE_ENTRY_ADDRESS (address, Scan); - address = (ADDRESS_TO_DATUM (address)); + address = (ADDRESS_TO_DATUM ((SCHEME_OBJECT *) address)); address = ((long) (Relocate (address))); STORE_CLOSURE_ENTRY_ADDRESS (address, Scan); } @@ -848,7 +847,7 @@ DEFINE_PRIMITIVE ("LOAD-BAND", Prim_band_load, 1, 1, 0) Trapping = false; Return_Hook_Address = NULL; History = Make_Dummy_History(); - Prev_Restore_History_Stacklet = SHARP_F; + Prev_Restore_History_Stacklet = ((SCHEME_OBJECT *) SHARP_F); Prev_Restore_History_Offset = 0; end_band_load(true, false); diff --git a/v7/src/microcode/flonum.c b/v7/src/microcode/flonum.c index 8b46ae1f1..3f9226a93 100644 --- a/v7/src/microcode/flonum.c +++ b/v7/src/microcode/flonum.c @@ -1,8 +1,8 @@ /* -*-C-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/flonum.c,v 9.32 1989/10/28 06:44:35 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/flonum.c,v 9.33 1990/02/11 22:34:12 cph Exp $ -Copyright (c) 1987, 1988, 1989 Massachusetts Institute of Technology +Copyright (c) 1987, 1988, 1989, 1990 Massachusetts Institute of Technology This material was developed by the Scheme project at the Massachusetts Institute of Technology, Department of Electrical Engineering and @@ -60,7 +60,8 @@ double_to_flonum (value) ALIGN_FLOAT (Free); Primitive_GC_If_Needed (FLONUM_SIZE); (*Free++) = (MAKE_OBJECT (TC_MANIFEST_NM_VECTOR, (FLONUM_SIZE - 1))); - (*((double *) Free)++) = value; + (*((double *) Free)) = value; + Free += (sizeof (double)); return (MAKE_POINTER_OBJECT (TC_BIG_FLONUM, (Free - FLONUM_SIZE))); }