--- gforth/arch/generic/machine.h 2003/08/28 16:08:31 1.23 +++ gforth/arch/generic/machine.h 2012/12/31 15:25:18 1.36 @@ -2,13 +2,13 @@ This is a generic file for 32-bit machines with IEEE FP arithmetic (no VMS). It only supports indirect threading. - Copyright (C) 1995,1998,1999,2003 Free Software Foundation, Inc. + Copyright (C) 1995,1998,1999,2003,2007,2008,2010,2012 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 + as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -17,8 +17,7 @@ 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., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + along with this program; if not, see http://www.gnu.org/licenses/. */ /* define SYSCALL */ @@ -48,6 +47,11 @@ #endif #endif +#ifndef CLOBBER_TOS_WORKAROUND_START +#define CLOBBER_TOS_WORKAROUND_START +#define CLOBBER_TOS_WORKAROUND_END +#endif + #ifndef INDIRECT_THREADED #ifndef DIRECT_THREADED #define DIRECT_THREADED @@ -80,17 +84,41 @@ typedef void *Label; /* feature defines, these setting should be identical to the ones in machpc.fs */ -#define HAS_DCOMPS +#ifndef STANDALONE +/* #warning hosted system */ #define HAS_FILE #define HAS_FLOATING -#define HAS_GLOCALS -#define HAS_HASH #define HAS_OS -#define HAS_XCONDS -#define HAS_STANDARDTHREADING #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