Diff for /gforth/engine/engine.c between versions 1.51 and 1.60

version 1.51, 2002/12/21 11:59:21 version 1.60, 2003/01/27 18:59:42
Line 64 Line 64
 #define SEEK_SET 0  #define SEEK_SET 0
 #endif  #endif
   
 #define IOR(flag)       ((flag)? -512-errno : 0)  #ifndef HAVE_FSEEKO
   #define fseeko fseek
 struct F83Name {  #endif
   struct F83Name *next;  /* the link field for old hands */  
   char          countetc;  
   char          name[0];  
 };  
   
 #define F83NAME_COUNT(np)       ((np)->countetc & 0x1f)  
   
 struct Longname {  
   struct Longname *next;  /* the link field for old hands */  
   Cell          countetc;  
   char          name[0];  
 };  
   
 #define LONGNAME_COUNT(np)      ((np)->countetc & (((~((UCell)0))<<3)>>3))  #ifndef HAVE_FTELLO
   #define ftello ftell
   #endif
   
 #define NULLC '\0'  #define NULLC '\0'
   
Line 206  extern int gforth_memcmp(const char * s1 Line 196  extern int gforth_memcmp(const char * s1
 #define engine engine2  #define engine engine2
 #define VARIANT(v)      (v)  #define VARIANT(v)      (v)
 #define JUMP(target)    goto I_noop  #define JUMP(target)    goto I_noop
 #define LABEL(name) J_##name: asm(".skip 16"); I_##name:  #define LABEL(name) J_##name: SKIP16; I_##name:
 #define IN_ENGINE2  #define IN_ENGINE2
   
 #elif ENGINE==3  #elif ENGINE==3
Line 262  Label *engine(Xt *ip0, Cell *sp0, Cell * Line 252  Label *engine(Xt *ip0, Cell *sp0, Cell *
     /* the following entry is normally unused;      /* the following entry is normally unused;
        it is there because its index indicates a does-handler */         it is there because its index indicates a does-handler */
     CPU_DEP1,      CPU_DEP1,
 #define INST_ADDR(name) (Label)&&I_##name  #define INST_ADDR(name) ((Label)&&I_##name)
 #include "prim_lab.i"  #include "prim_lab.i"
 #undef INST_ADDR  #undef INST_ADDR
     (Label)&&after_last,      (Label)&&after_last,
     (Label)0,      (Label)0,
 #define INST_ADDR(name) (Label)&&K_##name  #define INST_ADDR(name) ((Label)&&K_##name)
 #include "prim_lab.i"  #include "prim_lab.i"
 #undef INST_ADDR  #undef INST_ADDR
 #define INST_ADDR(name) (Label)&&J_##name  #define INST_ADDR(name) ((Label)&&J_##name)
 #include "prim_lab.i"  #include "prim_lab.i"
 #undef INST_ADDR  #undef INST_ADDR
   };    };
Line 299  Label *engine(Xt *ip0, Cell *sp0, Cell * Line 289  Label *engine(Xt *ip0, Cell *sp0, Cell *
       xts[i] = symbols[i] = (Label)routines[i];        xts[i] = symbols[i] = (Label)routines[i];
     for (; routines[i]!=0; i++) {      for (; routines[i]!=0; i++) {
       if (i>=MAX_SYMBOLS) {        if (i>=MAX_SYMBOLS) {
         fprintf(stderr,"gforth-ditc: more than %d primitives\n",MAX_SYMBOLS);          fprintf(stderr,"gforth-ditc: more than %ld primitives\n",(long)MAX_SYMBOLS);
         exit(1);          exit(1);
       }        }
       xts[i] = symbols[i] = &routines[i];        xts[i] = symbols[i] = &routines[i];

Removed from v.1.51  
changed lines
  Added in v.1.60


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