--- gforth/engine/libcc.h.in 2008/09/18 15:47:05 1.5 +++ gforth/engine/libcc.h.in 2012/03/17 01:36:04 1.11 @@ -1,6 +1,6 @@ /* 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. @@ -33,12 +33,14 @@ typedef double Float; typedef unsigned Clongest UClongest; #ifdef HAS_BACKLINK -extern Cell *gforth_SP; -extern Float *gforth_FP; -extern Cell *gforth_RP; -extern char *gforth_LP; -extern char *gforth_UP; -extern void *gforth_engine(void *, Cell *, Cell *, Float *, char *, char *); +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 *, Cell *, Cell *, Float *, char *); +extern char *cstr(char *from, Cell size); +extern char *tilde_cstr(char *from, Cell size); #define GFORTH_ARGS void #else #define gforth_SP *((Cell **)(gforth_pointers[0])) @@ -46,7 +48,9 @@ extern void *gforth_engine(void *, Cell #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 *(*)(Xt *, Cell *, Cell *, Float *, char *, char *))(((void **)(gforth_pointers[5])))) +#define gforth_engine ((char *(*)(Xt *, Cell *, Cell *, Float *, char *))(((void **)(gforth_pointers[5])))) +#define cstr ((char *(*)(char *, Cell))(((void **)(gforth_pointers[6])))) +#define tilde_cstr ((char *(*)(char *, Cell))(((void **)(gforth_pointers[7])))) #define GFORTH_ARGS void ** gforth_pointers #endif