--- gforth/Attic/forth.h 1994/05/07 14:55:51 1.4 +++ gforth/Attic/forth.h 1994/07/08 15:00:39 1.7 @@ -1,5 +1,5 @@ /* - $Id: forth.h,v 1.4 1994/05/07 14:55:51 anton Exp $ + $Id: forth.h,v 1.7 1994/07/08 15:00:39 anton Exp $ Copyright 1992 by the ANSI figForth Development Group */ @@ -16,11 +16,19 @@ typedef void *Label; #define DODOES 4 #define DOESJUMP 5 +/* Some versions of some unices (Linux) have the symbol BIG_ENDIAN defined + in their standard headers. Make sure it's undefined -- Lennart */ +#ifdef BIG_ENDIAN +#undef BIG_ENDIAN +#endif + #include "machine.h" /* Forth data types */ typedef int Bool; #define FLAG(b) (-(b)) +#define FILEIO(error) (FLAG(error) & -37) +#define FILEEXIST(error) (FLAG(error) & -38) #define F_TRUE (FLAG(0==0)) #define F_FALSE (FLAG(0!=0)) @@ -36,6 +44,7 @@ typedef Label *Xt; #endif Label *engine(Xt *ip, Cell *sp, Cell *rp, Float *fp, Address lp); +extern Xt *throw_ip; #ifndef DIRECT_THREADED /* i.e. indirect threaded */ @@ -62,7 +71,7 @@ Label *engine(Xt *ip, Cell *sp, Cell *rp #endif #ifdef DEBUG -# define NAME(string) printf("%08x: %s\n",(int)ip,string); +# define NAME(string) printf("%08x: "string"\n",(int)ip); #else # define NAME(string) #endif