summaryrefslogtreecommitdiff
path: root/conf/conf.h
diff options
context:
space:
mode:
Diffstat (limited to 'conf/conf.h')
-rw-r--r--conf/conf.h9
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 */