On Sun, 29 Aug 2010, Jonas Maebe wrote:
On 29 Aug 2010, at 16:54, Michael Van Canneyt wrote:
His change would mean that the GCC compiler does things which we currently know
nothing about, namely it pushes const parameters by reference in some cases.
No, the problem is many people (wrongly) use "const" in Pascal as an equivalent for "type
const *" (= the unclean "const type *") of C, mostly for lack of a better alternative.
When in fact they should declare it as
const P : ^type
? (knowing fully that this is semantically not quite the same)
This of course means that they must always provide the @ when calling this
method.
In that case, to be more clean, I think it is better to simply correct the declarations
and not to mess with the argument types at all.
Hm. A difficult problem in the case of the interface, since it would require adapting
existing pascal code to match C semantics. Maybe your proposal is not so bad after all,
using "constref"; at least that would make it very explicit.
Michael.
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel