diff options
Diffstat (limited to 'tnslc/tnslc.tnsl')
-rw-r--r-- | tnslc/tnslc.tnsl | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/tnslc/tnslc.tnsl b/tnslc/tnslc.tnsl index 2695706..b80a2ab 100644 --- a/tnslc/tnslc.tnsl +++ b/tnslc/tnslc.tnsl @@ -2932,8 +2932,16 @@ /; if (layer` > 1) ;log_debug("Dot tmp variable generated") - ;Variable tt = scope`.new_tmp_var(wk.data_type, out) + ;Variable tt + + /; if (wk.is_ref()) + ;tt = scope`.new_tmp_var({8, "void", {PTYPE.POINTER}, {}, 0}, out) + ;; else + ;tt = scope`.new_tmp_var(wk.data_type, out) + ;/ + ;tt.set_raw(wk, out) + ;tt.data_type = wk.data_type ;wk = tt ;; else if (layer` == 1) ;wk.move_register(2, out) |