diff options
| author | 2022-08-24 06:46:23 +0200 | |
|---|---|---|
| committer | 2022-08-24 06:46:23 +0200 | |
| commit | e5ed3b20351a2715fe88d9a5dbcc8e6757fe96aa (patch) | |
| tree | 7333f357bc38ed389e8845d59196594377dc46d6 /src/env.cff | |
| parent | 039ab20bbf6b68c423f420be2481b447d85c606b (diff) | |
llvm defer and more
Diffstat (limited to 'src/env.cff')
| -rw-r--r-- | src/env.cff | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/env.cff b/src/env.cff index 816053e..6bc24fe 100644 --- a/src/env.cff +++ b/src/env.cff @@ -24,9 +24,9 @@ extern fn envparent(env *Env) *Env { return env.parent; } -extern fn envput(env *Env, decl Decl, old **const Decl) *Decl { +extern fn envput_alloc(env *Env, alloc *Allocator, decl Decl, old **const Decl) *Decl { let l **DeclList = env.decls->get_slot(decl.name); - let n *DeclList = anew(env.alloc, DeclList); + let n *DeclList = anew(alloc, DeclList); if *l { // decl with this name exists let old = (*old = &(*l).decl); switch { @@ -51,6 +51,10 @@ extern fn envput(env *Env, decl Decl, old **const Decl) *Decl { return &n.decl; } +extern fn envput(env *Env, decl Decl, old **const Decl) *Decl { + return envput_alloc(env, env.alloc, decl, old); +} + extern fn envfind(env *Env, name *const u8) *Decl { let l **DeclList = env.decls->get(name); if l == #null { |