Diff for /gforth/arch/generic/machine.h between versions 1.1 and 1.36

version 1.1, 1997/09/01 23:08:23 version 1.36, 2012/12/31 15:25:18
Line 2 Line 2
   This is a generic file for 32-bit machines with IEEE FP arithmetic (no VMS).    This is a generic file for 32-bit machines with IEEE FP arithmetic (no VMS).
   It only supports indirect threading.    It only supports indirect threading.
   
   Copyright (C) 1995 Free Software Foundation, Inc.    Copyright (C) 1995,1998,1999,2003,2007,2008,2010,2012 Free Software Foundation, Inc.
   
   This file is part of Gforth.    This file is part of Gforth.
   
   Gforth is free software; you can redistribute it and/or    Gforth is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License    modify it under the terms of the GNU General Public License
   as published by the Free Software Foundation; either version 2    as published by the Free Software Foundation, either version 3
   of the License, or (at your option) any later version.    of the License, or (at your option) any later version.
   
   This program is distributed in the hope that it will be useful,    This program is distributed in the hope that it will be useful,
Line 17 Line 17
   GNU General Public License for more details.    GNU General Public License for more details.
   
   You should have received a copy of the GNU General Public License    You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software    along with this program; if not, see http://www.gnu.org/licenses/.
   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  
 */  */
   
 /* define this if IEEE singles and doubles are available as C data types */  /* define SYSCALL */
 #define IEEE_FP  
   
 /* the IEEE types are used only for loading and storing */  #ifndef SYSCALL
 /* the IEEE double precision type */  #define SYSCALL
 typedef double DFloat;  #endif
 /* the IEEE single precision type */  
 typedef float SFloat;  #ifndef SYSSIGNALS
   #define SYSSIGNALS
   #endif
   
 #ifndef USE_FTOS  #ifndef USE_FTOS
 #ifndef USE_NO_FTOS  #ifndef USE_NO_FTOS
Line 39  typedef float SFloat; Line 39  typedef float SFloat;
 #define USE_FTOS  #define USE_FTOS
 #endif  #endif
 #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  #ifndef USE_TOS
    the processor-specific files */  #ifndef USE_NO_TOS
   /* keep top of data stack in register.  Usually a good idea unless registers are very scarce */
 #ifdef DIRECT_THREADED  #define USE_TOS
 /* If you want direct threading, write a .h file for your processor! */  #endif
 /* We could put some stuff here that causes a compile error, but then  #endif
    we could not use this file in the other machine.h files */  
   #ifndef CLOBBER_TOS_WORKAROUND_START
   #define CLOBBER_TOS_WORKAROUND_START
   #define CLOBBER_TOS_WORKAROUND_END
 #endif  #endif
   
   #ifndef INDIRECT_THREADED
   #ifndef DIRECT_THREADED
   #define DIRECT_THREADED
   #endif
   #endif
   
   /* Types: these types are used as Forth's internal types */
   
   /* define this if IEEE singles and doubles are available as C data types */
   #define IEEE_FP
   
   /* the IEEE types are used only for loading and storing */
   /* the IEEE double precision type */
   typedef double DFloat;
   /* the IEEE single precision type */
   typedef float SFloat;
   
   typedef CELL_TYPE Cell;
   typedef unsigned CELL_TYPE UCell;
   typedef Cell Bool;
   typedef unsigned char Char;
   typedef double Float;
   typedef Char *Address;
   
   #if defined(DOUBLY_INDIRECT)
   typedef void **Label;
   #else /* !defined(DOUBLY_INDIRECT) */
   typedef void *Label;
   #endif /* !defined(DOUBLY_INDIRECT) */
   
   /* feature defines, these setting should be identical to the ones in machpc.fs */
   
   #ifndef STANDALONE
   /* #warning hosted system */
   #define HAS_FILE
   #define HAS_FLOATING
   #define HAS_OS
   #define HAS_DEBUG
   #define HAS_GLOCALS
   #define HAS_HASH
   #ifndef HAS_PEEPHOLE
   #define HAS_PEEPHOLE
   #endif
   #else
   #warning standalone system
   #undef HAS_FILE
   #undef HAS_FLOATING
   #undef HAS_OS
   #undef HAS_DEBUG
   #undef HAS_GLOCALS
   #undef HAS_HASH
   #define HAS_F83HEADERSTRING
   #ifndef PUTC
   # define PUTC(x) emit_char(x)
   #endif
   #ifndef TYPE
   # define TYPE(x, l) type_chars(x, l)
   #endif
   #endif
   #define HAS_DCOMPS
   #define HAS_XCONDS
   #define HAS_STANDARDTHREADING
   
   #if SIZEOF_CHAR_P==8
   #define HAS_64BIT
   #endif
   
   #define HAS_OBJECTS
   
   #define RELINFOBITS     8

Removed from v.1.1  
changed lines
  Added in v.1.36


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>