summaryrefslogtreecommitdiff
path: root/tnslc/tnslc.tnsl
diff options
context:
space:
mode:
Diffstat (limited to 'tnslc/tnslc.tnsl')
-rw-r--r--tnslc/tnslc.tnsl10
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)