Commit 856875e6 authored by John van Groningen's avatar John van Groningen
Browse files

Fix strictness analysis of a guard with no default, followed by a pattern match,

for example the following function was incorrectly analysed as strict in b:

f a b | a==0 = [];
f a [] = [];
parent bc239cd5
......@@ -4267,10 +4267,7 @@ static MatchKind MatchAlternative (Exp *ep,Exp *args_act,Exp *args_for,Alts alt,
case InfiniteMatch:
if (new_e==NULL)
new_e=⊥
if (m==TotalMatch)
m=InfiniteMatch;
else
m=PartialInfiniteMatch;
m=PartialMatch;
break;
case PartialMatch:
new_e=TakeContextLub (&new_e,&next_e,p,context);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment