2004-11-25 Vangelis Rokas <vrokas AT otenet.gr>
authorvrokas <vrokas@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Thu, 25 Nov 2004 09:02:58 +0000 (09:02 +0000)
committervrokas <vrokas@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Thu, 25 Nov 2004 09:02:58 +0000 (09:02 +0000)
* src/pic16/pcode.c: fixed bug which may produce error in non-GNU
compilers

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

src/pic16/pcode.c

index d7d6eaf3ba62199698010a15308b4da8e38b5bf6..a33caa4f3507023e156af3889477778647db7b04 100644 (file)
@@ -7069,6 +7069,7 @@ void pic16_OptimizeJumps ()
   pCode *pc_prev = NULL;
   pCode *pc_next = NULL;
   pBlock *pb;
+       int isHandled = 0;
   int opt=0, toofar=0, jumptabs=0, opt_cond = 0, cond_toofar=0, opt_reorder = 0;
   
   if (!the_pFile) return;
@@ -7084,7 +7085,6 @@ void pic16_OptimizeJumps ()
        int condBraType = isSkipOnStatus(pc_prev);
        int dist = findpCodeLabel(pc, label, MAX_DIST_BRA);
        if (dist < 0) dist = -dist;
-       int isHandled = 0;
        //fprintf (stderr, "distance: %d (", dist); pc->print(stderr, pc);fprintf (stderr, ")\n");
 
        if (condBraType != -1 && hasNoLabel(pc)) {
@@ -7178,8 +7178,8 @@ void pic16_OptimizeJumps ()
          // now just turn GOTO into BRA
          if (!isJumptable(pc, pc_prev, pc_next)) {
            if (dist < MAX_DIST_BRA) {
-             isHandled = 1;
              pCode *newBra = pic16_newpCode (POC_BRA, PCI(pc)->pcop);
+             isHandled = 1;
              PCI(newBra)->label = PCI(pc)->label;
              pic16_pCodeInsertAfter (pc, newBra);
              pic16_pCodeInsertAfter(pc_prev, pic16_newpCodeCharP("goto-optimization 3"));