On 19.08.2020 21:23, Martin Frb via fpc-devel wrote:
On 22/06/2020 18:36, Jonas Maebe wrote:
On 21/06/2020 22:07, Yuriy Sydorov wrote:
It may also be also broken with FPC's code generator, but simply not get
detected at compile time.
Fixed.
Thanks!


Just tested with 3.3.1 from 17.08.2020.

There are still cases where it goes wrong. (tested on win 64 / with -O- and -O1)
components\lazdebuggers\lazdebugtestbase\testapps\WatchesScopePrg.lpi

FuncFooNestedTwice and FuncFooNestedTwice2
Both do not actually access any variables from the parent.

The value for parentfp is passed in register rcx
And the debug info, correctly says that it is in that register.

This also works fine, if stopped at the first line (after "begin") in either of 
those 2 procedures.
But stepping through the procedure
    "Result := 'abc2';"
uses rcx
and the value is lost.

Fixed in r46514.

Yuriy.

_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to