X-Git-Url: http://git.subgeniuskitty.com/pforth/.git/blobdiff_plain/b3ad2602f4c6a2236081ed2d913d4e03892182a6..f53726febc36028ff9d524cda6e3ea7b90140c85:/csrc/pf_guts.h diff --git a/csrc/pf_guts.h b/csrc/pf_guts.h index 425f226..80df530 100644 --- a/csrc/pf_guts.h +++ b/csrc/pf_guts.h @@ -23,7 +23,7 @@ ** PFORTH_VERSION changes when PForth is modified and released. ** See README file for version info. */ -#define PFORTH_VERSION "26" +#define PFORTH_VERSION "27" /* ** PFORTH_FILE_VERSION changes when incompatible changes are made @@ -279,6 +279,8 @@ enum cforth_primitive_ids /* Added to support 64 bit operation. */ ID_CELL, ID_CELLS, + /* DELETE-FILE */ + ID_FILE_DELETE, /* If you add a word here, take away one reserved word below. */ #ifdef PF_SUPPORT_FP /* Only reserve space if we are adding FP so that we can detect @@ -297,7 +299,6 @@ enum cforth_primitive_ids ID_RESERVED11, ID_RESERVED12, ID_RESERVED13, - ID_RESERVED14, ID_FP_D_TO_F, ID_FP_FSTORE, ID_FP_FTIMES, @@ -428,9 +429,7 @@ typedef struct pfDictionary_s ucell_t dic_HeaderPtr; ucell_t dic_HeaderLimit; /* Code segment contains tokenized code and data. */ - ucell_t dic_CodeBaseUnaligned; - ucell_t dic_CodeBase; union { @@ -551,15 +550,15 @@ extern cell_t gIncludeIndex; #define IN_DICS(addr) (IN_CODE_DIC(addr) || IN_NAME_DIC(addr)) /* Address conversion */ -#define ABS_TO_NAMEREL( a ) ((cell_t) (((uint8_t *) a) - NAME_BASE )) -#define ABS_TO_CODEREL( a ) ((cell_t) (((uint8_t *) a) - CODE_BASE )) -#define NAMEREL_TO_ABS( a ) ((char *) (((cell_t) a) + NAME_BASE)) -#define CODEREL_TO_ABS( a ) ((cell_t *) (((cell_t) a) + CODE_BASE)) +#define ABS_TO_NAMEREL( a ) ((cell_t) (((ucell_t) a) - NAME_BASE )) +#define ABS_TO_CODEREL( a ) ((cell_t) (((ucell_t) a) - CODE_BASE )) +#define NAMEREL_TO_ABS( a ) ((ucell_t) (((cell_t) a) + NAME_BASE)) +#define CODEREL_TO_ABS( a ) ((ucell_t) (((cell_t) a) + CODE_BASE)) /* The check for >0 is only needed for CLONE testing. !!! */ #define IsTokenPrimitive(xt) ((xt=0)) -#define FREE_VAR(v) { if (v) { pfFreeMem(v); v = NULL; } } +#define FREE_VAR(v) { if (v) { pfFreeMem((void *)(v)); v = 0; } } #define DATA_STACK_DEPTH (gCurrentTask->td_StackBase - gCurrentTask->td_StackPtr) #define DROP_DATA_STACK (gCurrentTask->td_StackPtr++)