diff options
Diffstat (limited to 'src/compiler/decl.zc')
| -rw-r--r-- | src/compiler/decl.zc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/compiler/decl.zc b/src/compiler/decl.zc index 87281ad..1c72ba0 100644 --- a/src/compiler/decl.zc +++ b/src/compiler/decl.zc @@ -133,6 +133,7 @@ int prescan(int kind, int obj) { // compile a whole unit from stdin int unit_stdin() { int src = readsrc(); + xc_src = src + 0; // a plain copy of the address, not a second owner module_name = 0; module_imports = 0; prescan(3, src); src_push(3, src, 0, 0); @@ -381,7 +382,7 @@ int fndef(int chk, int rty, int ret, int n) { sflag[s] = sflag[s] | F_DEF; fixall(sfix[s], here); sfix[s] = 0; fn_begin(chk, ret); - lt = lt_begin(sval[s], sname[s], lfl); + lt = lt_begin(sval[s], sname[s], lfl); xc_fn = sname[s]; finsym = s; finfer = !ret; effect_current = effect_record(s); rt.fill_w(effect_current, 0, 50); effect_current[0] = 1; if (!chk || stubgen) effect_current[0] = 2; effect_current[1] = np; i = 0; while (i < np) { if (pt[i] == 2) { effect_current[2 + i] = EF_CONSUME; effect_current[26 + i] = EF_CONSUME; } i++; } |
