[fpc-devel] Debugging Loop Unroll Optimization
Marco van de Voort
marcov at stack.nl
Fri May 18 13:28:30 CEST 2018
In our previous episode, Mattias Gaertner said:
> > ISO7185: "After a for-statement is executed, other than being left by a goto-statement, the
> > control-variable shall be undefined"
> > http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Declarations_and_Statements_(Delphi)#For_Statements:
> > "After the for statement terminates (provided this was not forced by a Break or an Exit procedure),
> > the value of counter is undefined."
> > So this shall not be unrolled, but is still error prone, if Result is not set after the regular end of the for loop.
> To avoid misunderstandings:
> The above clearly says, that using break/goto/exit is safe:
Well, well, clearly. One could interpret it that it says that the for
statement terminates naturally if not forced by break or exit. It doesn't
say what happens with break or exit.
The fact that this exception is not documented with an example makes it very
More information about the fpc-devel