[fpc-pascal] When the variable freed in Optimize compile
michael.vancanneyt at wisa.be
michael.vancanneyt at wisa.be
Wed Jun 8 13:38:19 CEST 2011
On Wed, 8 Jun 2011, Zaher Dirkey wrote:
> On Wed, Jun 8, 2011 at 11:22 AM, <michael.vancanneyt at wisa.be> wrote:
>
>>
>>
>> On Wed, 8 Jun 2011, Zaher Dirkey wrote:
>>
>> Hi, I know when compile the project with optimize in Delphi the variable
>>> freed/allocated after the last line used.
>>> How can i make same in FPC, O3 not worked for me.
>>> I used FPC 2.4.4
>>>
>>> var
>>> c: Currency;
>>> begin
>>> c := 10;
>>> writeln(c);
>>> <<now c freed
>>> some code here
>>> end;
>>>
>>
>> C (as a currency) is never 'freed'. It is declared throughout the whole
>> procedure.
>>
>
> What if C is string or Interface of TInterfacedObject?
It is the same logic. It's freed only at the end.
For compiler-generated temporary variables, you should not make any assumptions.
Michael.
More information about the fpc-pascal
mailing list