--- gforth/arch/generic/machine.h 2003/08/06 09:35:49 1.22 +++ gforth/arch/generic/machine.h 2007/01/21 23:22:28 1.24 @@ -40,9 +40,13 @@ #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 */ + +#ifndef USE_TOS +#ifndef USE_NO_TOS +/* keep top of data stack in register. Usually a good idea unless registers are very scarce */ +#define USE_TOS +#endif +#endif #ifndef INDIRECT_THREADED #ifndef DIRECT_THREADED @@ -76,17 +80,26 @@ 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 #ifndef HAS_PEEPHOLE #define HAS_PEEPHOLE #endif +#else +#warning standalone system +#undef HAS_FILE +#undef HAS_FLOATING +#undef HAS_OS +#undef HAS_DEBUG +#endif +#define HAS_DCOMPS +#define HAS_GLOCALS +#define HAS_HASH +#define HAS_XCONDS +#define HAS_STANDARDTHREADING #define RELINFOBITS 8