On 23 Dec 2005, at 23:45, [EMAIL PROTECTED] wrote:

As information: since r2037 lazarus crashes at startup. The problem wasn't
fixed in 2040.

Fixed. I've reverted 2037. It doesn't work because "out" has braindead semantics for refcounted types imo: the caller side decreases the refcount and sets the parameter to nil before passing it to the caller. The stupid thing is that

a) in case of non-formal "out" parameters, the callee will decrease the refcount anyway before assigning something to the "out" parameter, so it's not necessary b) in case of formal (i.e. typeless) "out" parameters, the callee will obviously not do that. But that seems to be completely normal to me and not something the compiler should do behind your back, since you have to take care of exactly the same thing with formal "var" parameters.


Jonas
_______________________________________________
fpc-devel maillist  -  [email protected]
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to