diff options
Diffstat (limited to 'conf/conf.h')
-rw-r--r-- | conf/conf.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/conf/conf.h b/conf/conf.h index ffefa519..ce4a3c5a 100644 --- a/conf/conf.h +++ b/conf/conf.h @@ -96,7 +96,7 @@ void order_shutdown(int gr); /* Pools */ - +extern pool *config_pool; extern linpool *cfg_mem; #define cfg_alloc(size) lp_alloc(cfg_mem, size) @@ -137,6 +137,7 @@ struct sym_scope { uint slots; /* Variable slots */ byte active; /* Currently entered */ + byte block; /* No independent stack frame */ byte soft_scopes; /* Number of soft scopes above */ }; @@ -232,6 +233,12 @@ void cf_pop_scope(void); void cf_push_soft_scope(void); void cf_pop_soft_scope(void); +static inline void cf_push_block_scope(void) +{ cf_push_scope(NULL); conf_this_scope->block = 1; } + +static inline void cf_pop_block_scope(void) +{ ASSERT(conf_this_scope->block); cf_pop_scope(); } + char *cf_symbol_class_name(struct symbol *sym); /* Parser */ |