Hi all,
As information: since r2037 lazarus problem wasn't fixed in 2040.
JoJo,
Joost.

Mailing lists / fpc-devel / 2005-12
6 messages · 4 people · –
Reply by email Subscribe to this list Your subscription
Read-only archive. Use j and k to move between messages.
Hi all,
As information: since r2037 lazarus problem wasn't fixed in 2040.
JoJo,
Joost.
As information: since r2037 lazarus 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
And in case nightly lazarus snapshots failed because of ansi2wide/ wide2ansi parameter incompatibilities: I've reverted that change as well.
Jonas
It wasn't mine intention to make the snapshot compile. I mean: 2.1.1 is development build, thus may have problems. As long as the developer knows them, and the problems are fixable in the foreseable future, I have no problems with them.
JoJo,
Joost.
The rule for FPC is that committed code must compile. If it does not compile, don't commit.
Michael.
The code did compile, it was lazarus which didn't compile/run anymore.
Jonas