another missing return value fix
[fw/sdcc] / src / SDCCopt.c
index 33c226d334bc4d508a06fd30ab31b40c71017766..25ca302e7583af2e80a0b09587b9cba3fa6578c7 100644 (file)
@@ -886,10 +886,13 @@ eBBlockFromiCode (iCode * ic)
 
     }
 
+  /* sort it back by block number */
+  qsort (ebbs, saveCount, sizeof (eBBlock *), bbNumCompare);
+
   if (!options.lessPedantic) {
     // this is a good place to check missing return values
     if (currFunc) {
-      if (!IS_VOID(currFunc->type->next)) {
+      if (!IS_VOID(currFunc->etype)) {
        eBBlock *bp;
        // make sure all predecessors of the last block end in a return
        for (bp=setFirstItem(ebbs[saveCount-1]->predList); 
@@ -903,9 +906,6 @@ eBBlockFromiCode (iCode * ic)
     }
   }
 
-  /* sort it back by block number */
-  qsort (ebbs, saveCount, sizeof (eBBlock *), bbNumCompare);
-
   /* if cyclomatic info requested then print it */
   if (options.cyclomatic)
     printCyclomatic (ebbs, saveCount);