--- gforth/Attic/32bit.h 1994/12/12 17:10:25 1.1 +++ gforth/Attic/32bit.h 1996/02/13 11:12:13 1.4 @@ -1,17 +1,25 @@ /* - Copyright 1992 by the ANSI figForth Development Group - This is a generic file for 32-bit machines with IEEE FP arithmetic (no VMS). It only supports indirect threading. -*/ -/* Cell and UCell must be the same size as a pointer */ -typedef long Cell; -typedef unsigned long UCell; - -/* DCell and UDCell must be twice as large as Cell */ -typedef long long DCell; -typedef unsigned long long UDCell; + Copyright (C) 1995 Free Software Foundation, Inc. + + This file is part of Gforth. + + Gforth is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ /* define this if IEEE singles and doubles are available as C data types */ #define IEEE_FP @@ -22,6 +30,19 @@ typedef double DFloat; /* the IEEE single precision type */ typedef float SFloat; +#ifndef USE_FTOS +#ifndef USE_NO_FTOS +/* keep top of FP stack in register. Since most processors have FP + registers and they are hardly used in gforth, this is usually a + good idea. The 88100 has no separate FP regs, but many general + purpose regs, so it should be ok */ +#define USE_FTOS +#endif +#endif +/* I don't do the same for the data stack (i.e. USE_TOS), since this + loses on processors with few registers. USE_TOS might be defined in + the processor-specific files */ + #ifdef DIRECT_THREADED /* If you want direct threading, write a .h file for your processor! */ /* We could put some stuff here that causes a compile error, but then