From 739ef02e5f2f53f67dc560b1ef9c3256c6f6556d Mon Sep 17 00:00:00 2001 From: johnvg Date: Thu, 4 Jan 2007 11:27:27 +0000 Subject: 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 [] = []; git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1632 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d --- backendC/CleanCompilerSources/sa.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'backendC/CleanCompilerSources') diff --git a/backendC/CleanCompilerSources/sa.c b/backendC/CleanCompilerSources/sa.c index d71a500..ca777d4 100644 --- a/backendC/CleanCompilerSources/sa.c +++ b/backendC/CleanCompilerSources/sa.c @@ -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); -- cgit v1.2.3