Am 17.05.2018 um 19:01 schrieb Martok:
> Same documentation for FPC, 
> <https://www.freepascal.org/docs-html/ref/refsu58.html>
> 
> But, someone clearly explicitly thought otherwise at some point:

Sometime ago, fpc behaved strange in case of for loops and dfa, so it might 
have been that the
compiler even didn't recognize that result is always initialized in the body or 
whatever.

> <https://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/compiler/aasmcnst.pas?view=markup#l860>
> That warning is only "wrong" if Result is well-defined after exiting the loop.
> 
>> So this shall not be unrolled, but is still error prone, if Result is not 
>> set after the regular end
>> of the for loop.
> Am I doing something wrong, or does FPC not emit a warning when a loop 
> variable
> is read after the loop? Delphi has a warning, and does indeed display it for 
> the
> test case. There is no indication anything might be wrong from FPC?

No, still on my todo list.

> 
> This kind of code is used even more than "that other thing", makes me wonder 
> if
> it's a good idea to break this at O3...
> 

-O3 probably "breaks" a lot of code which exploits the limits of a language-
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to