Diff for /gforth/vmgen-ex2/mini.h between versions 1.1 and 1.5

version 1.1, 2002/06/02 15:46:17 version 1.5, 2002/12/27 15:51:28
Line 21 Line 21
   
 #include <stdio.h>  #include <stdio.h>
   
   #ifdef __GNUC__
 typedef void *Label;   typedef void *Label; 
   
 #ifdef USE_CASTS  
 typedef long Cell;  
 Typedef Cell Inst;  
   
 /* type change macros; these are specific to the types you use, so you  
    have to change this part */  
 #define vm_Cell2i(_cell,x) ((x)=(long)(_cell))  
 #define vm_i2Cell(_cell,x) ((x)=(Cell)(_cell))  
 #define vm_Cell2target(_cell,x) ((x)=(Inst *)(_cell))  
 #define vm_target2Cell(_cell,x) ((x)=(Cell)(_cell))  
 #define vm_Cell2a(_cell,x) ((x)=(char *)(_cell))  
 #define vm_a2Cell(_cell,x) ((x)=(Cell)(_cell))  
 #else  #else
   typedef long Label;
   #endif
   
 typedef union Cell {  typedef union Cell {
   long i;    long i;
   union Cell *target;    union Cell *target;
Line 49  typedef union Cell { Line 40  typedef union Cell {
 #define vm_target2Cell(_x,_cell) ((_cell).target=(_x))    #define vm_target2Cell(_x,_cell) ((_cell).target=(_x))  
 #define vm_Cell2a(_cell,_x)     ((_x)=(_cell).a)  #define vm_Cell2a(_cell,_x)     ((_x)=(_cell).a)
 #define vm_a2Cell(_x,_cell)     ((_cell).a=(_x))          #define vm_a2Cell(_x,_cell)     ((_cell).a=(_x))        
 #endif  #define vm_Cell2Cell(_x,_y) ((_y)=(_x))
   
   /* for future extensions */
   #define IMM_ARG(access,value)           (access)
   
 #define VM_IS_INST(_inst, n) ((_inst).inst == vm_prim[n])  #define VM_IS_INST(_inst, n) ((_inst).inst == vm_prim[n])
   
Line 64  extern FILE *vm_out; Line 58  extern FILE *vm_out;
 extern Inst *vmcodep;  extern Inst *vmcodep;
 extern Inst *last_compiled;  extern Inst *last_compiled;
 extern Inst *vmcode_end;  extern Inst *vmcode_end;
   extern int use_super;
   
 /* generic vmgen support functions (e.g., wrappers) */  /* generic vmgen support functions (e.g., wrappers) */
 void gen_inst(Inst **vmcodepp, Label i);  void gen_inst(Inst **vmcodepp, Label i);

Removed from v.1.1  
changed lines
  Added in v.1.5


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