| #define SUPER_CONTINUE |
#define SUPER_CONTINUE |
| |
|
| #ifdef GFORTH_DEBUGGING |
#ifdef GFORTH_DEBUGGING |
| |
#if DEBUG |
| |
#define NAME(string) { saved_ip=ip; asm(""); fprintf(stderr,"%08lx depth=%3ld: "string"\n",(Cell)ip,sp0+3-sp);} |
| |
#else /* !DEBUG */ |
| #define NAME(string) { saved_ip=ip; asm(""); } |
#define NAME(string) { saved_ip=ip; asm(""); } |
| /* the asm here is to avoid reordering of following stuff above the |
/* the asm here is to avoid reordering of following stuff above the |
| assignment; this is an old-style asm (no operands), and therefore |
assignment; this is an old-style asm (no operands), and therefore |
| is treated like "asm volatile ..."; i.e., it prevents most |
is treated like "asm volatile ..."; i.e., it prevents most |
| reorderings across itself. We want the assignment above first, |
reorderings across itself. We want the assignment above first, |
| because the stack loads may already cause a stack underflow. */ |
because the stack loads may already cause a stack underflow. */ |
| |
#endif /* !DEBUG */ |
| #elif DEBUG |
#elif DEBUG |
| # define NAME(string) fprintf(stderr,"%08lx depth=%3ld: "string"\n",(Cell)ip,sp0+3-sp); |
# define NAME(string) fprintf(stderr,"%08lx depth=%3ld: "string"\n",(Cell)ip,sp0+3-sp); |
| #else |
#else |