aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorronny2003-12-11 13:06:37 +0000
committerronny2003-12-11 13:06:37 +0000
commit9c6ed30ab5b2b41fb588e7dc5d4c12a106a15c84 (patch)
tree82c931e1f755276f1801ac4273e3a8227e2aeaf8
parentuse 'Error: ' instead of '[Backend]' in the backend too old (diff)
bug fix: use a new ptr in expanded dynamic
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1426 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
-rw-r--r--frontend/transform.icl8
1 files changed, 5 insertions, 3 deletions
diff --git a/frontend/transform.icl b/frontend/transform.icl
index 1fabc93..2ea348c 100644
--- a/frontend/transform.icl
+++ b/frontend/transform.icl
@@ -437,9 +437,11 @@ where
instance unfold DynamicExpr
where
- unfold expr=:{dyn_expr} ui us
- # (dyn_expr, us) = unfold dyn_expr ui us
- = ({ expr & dyn_expr = dyn_expr }, us)
+ unfold expr=:{dyn_expr, dyn_info_ptr} ui us=:{us_symbol_heap}
+ # (dyn_info, us_symbol_heap) = readPtr dyn_info_ptr us_symbol_heap
+ # (new_dyn_info_ptr, us_symbol_heap) = newPtr dyn_info us_symbol_heap
+ # (dyn_expr, us) = unfold dyn_expr ui {us & us_symbol_heap=us_symbol_heap}
+ = ({ expr & dyn_expr = dyn_expr, dyn_info_ptr = new_dyn_info_ptr }, us)
instance unfold Selection
where