diff options
author | johnvg | 2003-12-01 13:45:36 +0000 |
---|---|---|
committer | johnvg | 2003-12-01 13:45:36 +0000 |
commit | 896206e51e90af602770ff7cfc94784dab32a250 (patch) | |
tree | 95989a586e73e61be577a70d388d2ae23f51c7f4 /backendC | |
parent | use same default fixity and priority (infixl 9) everywhere (diff) |
bug fix for strict and unboxed list constructors on a cycle in
a strict context or lazy context with evaluated head (and/or tail)
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1422 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'backendC')
-rw-r--r-- | backendC/CleanCompilerSources/codegen2.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/backendC/CleanCompilerSources/codegen2.c b/backendC/CleanCompilerSources/codegen2.c index 775f686..50fbf51 100644 --- a/backendC/CleanCompilerSources/codegen2.c +++ b/backendC/CleanCompilerSources/codegen2.c @@ -3074,9 +3074,9 @@ static void FillNormalNode (Node node,int *asp_p,int *bsp_p,NodeId update_node_i GenBuildh (node->node_arity==2 ? &cons_lab : strict_cons_lab_p,a_size); } else { if (symb->symb_head_strictness==4) - GenFillR (strict_cons_lab_p,a_size,b_size,*asp_p+a_size-update_node_id->nid_a_index,0,0,node->node_state.state_kind==SemiStrict ? ReleaseAndFill : NormalFill,True); + GenFillR (strict_cons_lab_p,a_size,b_size,*asp_p-update_node_id->nid_a_index,0,0,node->node_state.state_kind==SemiStrict ? ReleaseAndFill : NormalFill,True); else - GenFillh (strict_cons_lab_p,a_size,*asp_p-update_node_id->nid_a_index,node->node_state.state_kind==SemiStrict ? ReleaseAndFill : NormalFill); + GenFillh (node->node_arity==2 ? &cons_lab : strict_cons_lab_p,a_size,*asp_p-update_node_id->nid_a_index,node->node_state.state_kind==SemiStrict ? ReleaseAndFill : NormalFill); *asp_p-=a_size; } } |