aboutsummaryrefslogtreecommitdiff
path: root/src/environment.h
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2025-04-30 20:42:31 -0400
committerBruce Hill <bruce@bruce-hill.com>2025-04-30 20:42:31 -0400
commitdfedf3f2bb434065da3ddbc931e87a4017535f80 (patch)
tree6c7d9e5e35fd4fd612d51285dcae7d6c06b8838a /src/environment.h
parent46818674d3588dd15ebca5cb7be4afa8cd485cfe (diff)
Update compiler to use randomly generated unique-per-file symbol
suffixes instead of needing to rename symbols with objcopy
Diffstat (limited to 'src/environment.h')
-rw-r--r--src/environment.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/environment.h b/src/environment.h
index 1c6d52a5..74de3449 100644
--- a/src/environment.h
+++ b/src/environment.h
@@ -48,7 +48,7 @@ typedef struct env_s {
type_t *fn_ret;
loop_ctx_t *loop_ctx;
deferral_t *deferred;
- CORD libname; // Currently compiling library name (if any)
+ const char *id_suffix;
namespace_t *namespace;
Closure_t *comprehension_action;
bool do_source_mapping:1;
@@ -61,7 +61,8 @@ typedef struct {
env_t *global_env(bool source_mapping);
env_t *load_module_env(env_t *env, ast_t *ast);
-CORD namespace_prefix(env_t *env, namespace_t *ns);
+CORD namespace_name(env_t *env, namespace_t *ns, CORD name);
+CORD get_id_suffix(const char *filename);
env_t *get_namespace_by_type(env_t *env, type_t *t);
env_t *namespace_scope(env_t *env);
env_t *fresh_scope(env_t *env);