can reverse a loop even if function call is present as long
authorsandeep <sandeep@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sat, 29 Dec 2001 22:38:35 +0000 (22:38 +0000)
committersandeep <sandeep@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sat, 29 Dec 2001 22:38:35 +0000 (22:38 +0000)
as the loop control variable is local & is not passed as parameter

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@1746 4a8a32a2-be11-0410-ad9d-d568d2c75423

src/SDCCast.c

index fcf5aa16960e4576feefae78cbb6794fd7ca9aea..26cd0353fc5f154fa3db4b351c127390a5869e36 100644 (file)
@@ -1644,6 +1644,9 @@ isConformingBody (ast * pbody, symbol * sym, ast * body)
       /*       function call        */
 /*----------------------------*/
     case CALL:
+       /* if local & not passed as paramater then ok */
+       if (sym->level && !astHasSymbol(pbody->right,sym)) 
+           return TRUE;
       return FALSE;
 
 /*------------------------------------------------------------------*/