Frank wrote:
It's because of the 1. At the start of the loop, the compiler compares the upper and lower bounds (only if <=, the loop is executed). So we have `0 <= nx' and `1 <= nx'. The first is always true. GPC warns for always true comparisons when written explictly by the user, but not in this case (but rather just skip the test). A slight bug made it still warn in some strange cases (which indeed depend on the types involved). Here's a fix (toby1.pas).
BTW, is there any switch to turn this warning off (even in cases where it is appropriate)?
Emil