diff options
author | johnvg | 2006-11-06 10:51:46 +0000 |
---|---|---|
committer | johnvg | 2006-11-06 10:51:46 +0000 |
commit | cf372c16cd6ab5eb6a47657eb5beb64dd67649d0 (patch) | |
tree | dd258721908354821b0165e092f5b2ad6f9fda17 | |
parent | fix printing of _ label in .n directive for lazy record field selectors (diff) |
add var to exi_vars in function check_existential_var if an error occurs,
and therefore to TFA, to prevent crash later in the compiler (would cause invalid pointer)
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1623 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
-rw-r--r-- | frontend/typesupport.icl | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/frontend/typesupport.icl b/frontend/typesupport.icl index 41e433f..54358b0 100644 --- a/frontend/typesupport.icl +++ b/frontend/typesupport.icl @@ -406,7 +406,9 @@ where TE -> (exi_vars, all_vars, cus) _ - -> (exi_vars, all_vars, { cus & cus_var_env = { cus.cus_var_env & [var_number] = TE }, cus_error = existentialError cus.cus_error }) + # (TV var, cus) = cus!cus_var_env.[var_number] + -> ([{atv_attribute = var_attr, atv_variable = var } : exi_vars ], all_vars, + { cus & cus_var_env = { cus.cus_var_env & [var_number] = TE }, cus_error = existentialError cus.cus_error }) # (TV var, cus) = cus!cus_var_env.[var_number] = ([{atv_attribute = var_attr, atv_variable = var } : exi_vars ], [var_number : all_vars], { cus & cus_var_env = { cus.cus_var_env & [var_number] = TE }}) |