diff options
author | johnvg | 2009-12-22 14:09:43 +0000 |
---|---|---|
committer | johnvg | 2009-12-22 14:09:43 +0000 |
commit | ebdaf7aaea3d510ee2567c8351455093ede3561f (patch) | |
tree | 304bccc531cb3a2d7280a364251344d5d0a0d3d4 /backendC | |
parent | fix typo and remove numbers between () in error messages (diff) |
make strictly annotated variables in patterns strict (in case expressions)
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1756 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'backendC')
-rw-r--r-- | backendC/CleanCompilerSources/statesgen.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/backendC/CleanCompilerSources/statesgen.c b/backendC/CleanCompilerSources/statesgen.c index c5d8c3a..e449184 100644 --- a/backendC/CleanCompilerSources/statesgen.c +++ b/backendC/CleanCompilerSources/statesgen.c @@ -3734,12 +3734,16 @@ static NodeDefs *CollectSharedNodeIdsInRootNode (Node* node_p,NodeId parent_node else case_last=CollectSharedNodeIdsInRootNode (&node->node_arguments->arg_node, parent_node_id, case_last); *case_last=NULL; + + AddStrictLhsNodeIdsToNodeDefs (node->node_strict_node_ids,&node->node_node_defs); } else if (node->node_kind==DefaultNode){ NodeDefs *default_last; default_last=&node->node_node_defs; default_last=CollectSharedNodeIdsInRootNode (&node->node_arguments->arg_node, parent_node_id, default_last); *default_last=NULL; + + AddStrictLhsNodeIdsToNodeDefs (node->node_strict_node_ids,&node->node_node_defs); } else if (node->node_kind==OverloadedCaseNode){ NodeP case_node_p; NodeDefs *case_last; @@ -3756,6 +3760,8 @@ static NodeDefs *CollectSharedNodeIdsInRootNode (Node* node_p,NodeId parent_node case_last=&case_node_p->node_node_defs; case_last=CollectSharedNodeIdsInRootNode (&case_node_p->node_arguments->arg_node, parent_node_id, case_last); *case_last=NULL; + + AddStrictLhsNodeIdsToNodeDefs (node->node_strict_node_ids,&node->node_node_defs); } else error_in_function ("CollectSharedNodeIdsInRootNode"); } |