[fpc-devel] Need patch for bugs : 0011503 / 0009472
peter at freepascal.org
Sun Jun 22 22:43:39 CEST 2008
>>>>> The behaviour you are counting on is a side effect of an
>>>>> optimisation, not a behaviour by design.
>>>> Oh, btw: fpc 2.2.2rc1 behaves with -O2 like delphi :) Without -O2
>>>> like 2.2.0 :)
>>> Add: I just realized that Peter implemented this some time ago in a
>>> "in most cases" (!) delphi compatible behaviour.
>> My refactoring and optimization of the function return assignment
>> handling is only available in 2.3.1. The change is too intrusive to
>> backport it to 2.2.x.
> So far it works just great. Can we hope for a separated switch for this
> specific "optimization" ;-) . I am running 2.2.2 now.
It is good that it works for you now, but like Jonas already wrote. It
is just pure luck and you rely on optimizations. Something that should
not be done, because some optimizations make debugging hard.
In 2.2.2 there is a bit of function result reuse optimization, but it is
limited. In 2.3.1 the handling is rewritten and made more generic. This
rewrite affects too much code to be ever backported to 2.2.x
More information about the fpc-devel