Diff for /gforth/engine/libcc.h.in between versions 1.3 and 1.16

version 1.3, 2007/12/31 18:40:25 version 1.16, 2012/07/23 13:27:48
Line 1 Line 1
 /* header file for libcc-generated C code  /* header file for libcc-generated C code
   
   Copyright (C) 2006,2007 Free Software Foundation, Inc.    Copyright (C) 2006,2007,2008 Free Software Foundation, Inc.
   
   This file is part of Gforth.    This file is part of Gforth.
   
Line 19 Line 19
 */  */
   
 #include <gforth/@PACKAGE_VERSION@/config.h>  #include <gforth/@PACKAGE_VERSION@/config.h>
   #include <setjmp.h>
   
   #if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) || defined(__ANDROID__)
   #undef HAS_BACKLINK
   #else
   #define HAS_BACKLINK 1
   #endif
   
 typedef CELL_TYPE Cell;  typedef CELL_TYPE Cell;
   typedef unsigned char Char;
 typedef double Float;  typedef double Float;
   typedef Char *Address;
   typedef void **Xt;
   
 #define Clongest long long  #define Clongest long long
 typedef unsigned Clongest UClongest;  typedef unsigned Clongest UClongest;
   
 extern Cell *gforth_SP;  typedef struct {
 extern Float *gforth_FP;    Cell next_task;
     Cell prev_task;
     Cell save_task;
     Cell* sp0;
     Cell* rp0;
     Float* fp0;
     Address lp0;
     Xt *throw_entry;
   } user_area;
   
   #ifdef HAS_BACKLINK
   extern __thread Cell *gforth_SP;
   extern __thread Float *gforth_FP;
   extern __thread Cell *gforth_RP;
   extern __thread char *gforth_LP;
   extern __thread char *gforth_UP;
   extern void *gforth_engine(void *);
   extern char *cstr(char *from, Cell size);
   extern char *tilde_cstr(char *from, Cell size);
   extern __thread jmp_buf *throw_jmp_handler;
   extern user_area* gforth_stacks();
   #define GFORTH_ARGS void
   #else
   #define gforth_SP *((Cell **)(gforth_pointers(0)))
   #define gforth_FP *((Float **)(gforth_pointers(1)))
   #define gforth_LP *((char **)(gforth_pointers(2)))
   #define gforth_RP *((Cell **)(gforth_pointers(3)))
   #define gforth_UP *((char **)(gforth_pointers(4)))
   #define gforth_engine ((char *(*)(void *))gforth_pointers(5))
   #define cstr ((char *(*)(char *, Cell))gforth_pointers(6))
   #define tilde_cstr ((char *(*)(char *, Cell))gforth_pointers(7))
   #define throw_jmp_handler *((jmp_buf**)(gforth_pointers(8)))
   #define gforth_stacks ((user_area *(*)())gforth_pointers(9))
   #define GFORTH_ARGS void *(*gforth_pointers)(Cell)
   #endif
   
 #define CELL_BITS       (sizeof(Cell) * 8)  #define CELL_BITS       (sizeof(Cell) * 8)
   

Removed from v.1.3  
changed lines
  Added in v.1.16


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