diff options
Diffstat (limited to 'backendC/CleanCompilerSources/pattern_match_2.c')
-rw-r--r-- | backendC/CleanCompilerSources/pattern_match_2.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/backendC/CleanCompilerSources/pattern_match_2.c b/backendC/CleanCompilerSources/pattern_match_2.c index 9a7e53c..2065abc 100644 --- a/backendC/CleanCompilerSources/pattern_match_2.c +++ b/backendC/CleanCompilerSources/pattern_match_2.c @@ -776,7 +776,7 @@ static int determine_failing_cases_and_adjust_ref_counts (NodeP node,NodeIdRefCo node_id_ref_count_list_sorted=0; for (arg=node->node_arguments; arg!=NULL; arg=arg->arg_next) - if (arg->arg_node->node_kind!=CaseNode) + if (arg->arg_node->node_kind!=CaseNode && arg->arg_node->node_kind!=OverloadedCaseNode) break; default_may_fail=1; @@ -853,6 +853,9 @@ static int determine_failing_cases_and_adjust_ref_counts (NodeP node,NodeIdRefCo arg_node=arg->arg_node; switch (arg_node->node_kind){ + case OverloadedCaseNode: + arg_node = arg_node->node_node; + /* no break */ case CaseNode: { int case_may_fail; |