Diff for /gforth/engine/engine.c between versions 1.56 and 1.62

version 1.56, 2003/01/19 23:35:33 version 1.62, 2003/08/01 08:11:26
Line 1 Line 1
 /* Gforth virtual machine (aka inner interpreter)  /* Gforth virtual machine (aka inner interpreter)
   
   Copyright (C) 1995-2003 Free Software Foundation, Inc.    Copyright (C) 1995,1996,1997,1998,2000,2003 Free Software Foundation, Inc.
   
   This file is part of Gforth.    This file is part of Gforth.
   
Line 72 Line 72
 #define ftello ftell  #define ftello ftell
 #endif  #endif
   
 #define IOR(flag)       ((flag)? -512-errno : 0)  
   
 struct F83Name {  
   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))  
   
 #define NULLC '\0'  #define NULLC '\0'
   
 #ifdef MEMCMP_AS_SUBROUTINE  #ifdef MEMCMP_AS_SUBROUTINE
Line 174  extern int gforth_memcmp(const char * s1 Line 156  extern int gforth_memcmp(const char * s1
 # define CPU_DEP1 0  # define CPU_DEP1 0
 #endif  #endif
   
 /* instructions containing these must be the last instruction of a  /* instructions containing SUPER_END must be the last instruction of a
    super-instruction (e.g., branches, EXECUTE, and other instructions     super-instruction (e.g., branches, EXECUTE, and other instructions
    ending the basic block). Instructions containing SET_IP get this     ending the basic block). Instructions containing SET_IP get this
    automatically, so you usually don't have to write it.  If you have     automatically, so you usually don't have to write it.  If you have
Line 307  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.56  
changed lines
  Added in v.1.62


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