[fpc-devel] Managed Types, Undefined Bhaviour

Michael Van Canneyt michael at freepascal.org
Fri Jun 29 16:33:34 CEST 2018



On Fri, 29 Jun 2018, Martok wrote:

> Am 29.06.2018 um 16:05 schrieb Michael Van Canneyt:
>>> The expected output would be 3 Addrefs and 3 Releases.
>> 
>> I don't get that.
>
> Somewhat current FPC trunk output, annotations added manually:
> ==================================================
> Addref: 0022FAA8 Refcount: 1 at 00404961
>                                   (by fpc_class_as_intf in GetChainer)
> Addref: 0022FAA8 Refcount: 2 at 00404223
>                                   (by fpc_intf_assign of GetChainer Result)
> Release: 0022FAA8 Refcount: 2 at 004041F4
>                                   (by fpc_intf_decr_ref of GetChainer Result)
> Chain: 0022FAA8
> Addref: 0022FAA8 Refcount: 2 at 00404961
>                                   (by fpc_class_as_intf in Chain)
> Addref: 0022FAA8 Refcount: 3 at 00404223
>                                   (by fpc_intf_assign of Chain Result)
> Release: 0022FAA8 Refcount: 3 at 004041F4
>                                   (by fpc_intf_decr_ref of Chain Result)
> Chain: 0022FAA8
> Addref: 0022FAA8 Refcount: 3 at 00404961
> Addref: 0022FAA8 Refcount: 4 at 00404223
> Release: 0022FAA8 Refcount: 4 at 004041F4
> Done: 0022FAA8
> fin
> Release: 0022FAA8 Refcount: 3 at 004041F4
>                                   (by fpc_intf_decr_ref at scope end of Test)
> Release: 0022FAA8 Refcount: 2 at 004041F4
>                                   (dito)
> Release: 0022FAA8 Refcount: 1 at 004041F4
>                                   (dito)
> ==================================================

What OS is this ?

Some help from the compiler people to explain why I get totally different output ?

Michael.



More information about the fpc-devel mailing list