diff options
Diffstat (limited to 'foci.h')
-rw-r--r-- | foci.h | 11 |
1 files changed, 7 insertions, 4 deletions
@@ -35,13 +35,13 @@ #define FTH(w) enter, (w##_body) #define END fexit, }; #define NATIVE(name, tname, prev, attr) \ - static const void * const name##_body[2]; \ + const void * const name##_body[2]; \ NAKED void name(void); \ - static const struct word_t w_##name = { \ + const struct word_t w_##name = { \ name##_body, prev, \ (attr | ATTR_NATIVE) + sizeof(tname) - 1, tname \ }; \ - static const void * const name##_body[2] = { name, fexit }; \ + const void * const name##_body[2] = { name, fexit }; \ NAKED void name(void) #define W(name, tname, prev) WORD(name, tname, prev, 0) @@ -87,6 +87,9 @@ register intptr_t tmp asm("r7"); #define NEXT asm("incd r6\nbr @r6") #endif // FOCI_MSP430 +extern const struct word_t w_immediate; +#define LATEST_INIT &w_immediate + extern void foci_putchar(int); extern int foci_getchar(void); @@ -95,7 +98,7 @@ int depth(void); int rdepth(void); int compiling(void); void interpret(void); -void define(struct word_t *w); +void define(const struct word_t *w); void fexit(void); // internal use only |