diff options
-rw-r--r-- | frontend/transform.icl | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/frontend/transform.icl b/frontend/transform.icl index caa94e2..2cddb80 100644 --- a/frontend/transform.icl +++ b/frontend/transform.icl @@ -1272,8 +1272,6 @@ where has_no_curried_macro_Selections [] = True -import StdDebug - partitionateAndLiftFunctions :: ![IndexRange] !Index !PredefSymbolsForTransform !*{#FunDef} !*{#*{#FunDef}} !*{#DclModule} !*VarHeap !*ExpressionHeap !*SymbolTable !*ErrorAdmin -> (!*{!Group}, !*{#FunDef},!*{#*{#FunDef}},!.{#DclModule},!*VarHeap,!*ExpressionHeap,!*SymbolTable,!*ErrorAdmin ) partitionateAndLiftFunctions ranges main_dcl_module_n predef_symbols_for_transform fun_defs macro_defs modules var_heap symbol_heap symbol_table error @@ -1342,21 +1340,14 @@ where )) -> (max_fun_nr, (modules, pi)) GeneratedBody -/* + /* // allocate a group that contains this and only this function | fun_def.fun_info.fi_group_index == NoIndex - # pi = - { pi - & pi_fun_defs.[fun_index] = - { fun_def - & fun_info.fi_group_index = pi.pi_next_group - } - , pi_groups = [[FunctionOrIclMacroIndex fun_index] : pi.pi_groups] - , pi_next_group = inc pi.pi_next_group - } + # pi = { pi & pi_fun_defs.[fun_index] = { fun_def & fun_info.fi_group_index = pi.pi_next_group }, + pi_groups = [[FunctionOrIclMacroIndex fun_index] : pi.pi_groups] , pi_next_group = inc pi.pi_next_group } -> (max_fun_nr, (modules, pi)) -> abort ("generated function already has a group index: " +++ toString fun_def.fun_symb +++ " " +++ toString fun_index +++ "\n") -*/ + */ // do not allocate a group, it will be allocated during generic phase -> (max_fun_nr, (modules, pi)) partitionate_macro mod_index max_fun_nr macro_module_index macro_index (modules, pi) @@ -1854,7 +1845,7 @@ where # (new_info_ptr,symbol_heap) = newPtr EI_Empty cos.cos_symbol_heap # kase = Case { case_expr=e1, case_guards=BasicPatterns BT_Bool [{bp_value=BVB True,bp_expr=e2,bp_position=NoPos}], case_default=Yes e3, case_ident=No, case_info_ptr=new_info_ptr, case_default_pos = NoPos, - case_explicit = False } + case_explicit = True } = (kase,{cos & cos_symbol_heap=symbol_heap}); two_args [_,_] |