Find something wrong in this description?  Help us fix it! 
BlackNavy Harmony BlackNavy Harmony Harmony Harmony SAS SAS SAS BlackNavy SAS BlackNavy wOgpqEB BlackNavy Harmony BlackNavy Harmony Harmony Harmony SAS SAS SAS BlackNavy SAS BlackNavy wOgpqEB BlackNavy Harmony BlackNavy Harmony Harmony Harmony SAS SAS SAS BlackNavy SAS BlackNavy wOgpqEB BlackNavy Harmony BlackNavy Harmony Harmony Harmony SAS SAS SAS BlackNavy SAS BlackNavy wOgpqEB BlackNavy Harmony BlackNavy Harmony Harmony Harmony SAS SAS SAS BlackNavy SAS BlackNavy wOgpqEB BlackNavy Harmony BlackNavy Harmony Harmony Harmony SAS SAS SAS BlackNavy SAS BlackNavy wOgpqEB

Why does PolySpace 5.1.1 (R2008a) show a red non-terminating loop (NTL) check in my code?

BlackNavy Harmony BlackNavy Harmony Harmony Harmony SAS SAS SAS BlackNavy SAS BlackNavy wOgpqEB

My C code looks as follows. When I run a PolySpace verification, the "for" keyword that is mentioned in the comments is marked red with a message that the loop never terminates. Also, I get another red check for a underflow error. I am using the option "-detect-unsigned-overflows".

int main () {
    int intC;
    unsigned int uintA, uintB, i = 0;
    uintA = 20;
    uintB = 30;
    intC = 10;
    // The following keyword "for" is marked with
    // a red NTL check.
    for(i; i < 10; i++) {
      // Subtraction marked with a red UNFL check
      // for a possible underflow.
      if ((uintA - uintB) < uintC) { // UNFL: 20 - 30
        //...
      }
    }
}

Tags

No tags entered yet.

BlackNavy SAS Harmony Harmony SAS Harmony BlackNavy SAS BlackNavy SAS BlackNavy Harmony
Covert Arishi Black New White Mink Black BlackHemp OvercastPigment Dark Vintage v1 Green 1Burgundy Balance MoonbeamMagnet Vivid IndigoSilver Gull Black Cobalt GreyDark GunmetalTempest AFOxF5zwq

1 Answer

Answer by MathWorks Support Team Harmony Harmony BlackNavy SAS SAS SAS Harmony BlackNavy Harmony BlackNavy SAS BlackNavy on 27 Jun 2009
  Accepted Answer

The red NTL check is caused by the red underflow check (UNFL) within the loop. Correcting the code that causes the UNFL check or removing the option "-detect-unsigned-overflows" will cause the NTL check to disappear.

  0 Comments

Sign in to comment.