[fpc-devel] QueryInterface on linux/i386 - adding 'in' parameter type?
Michael Van Canneyt
michael at freepascal.org
Sun Aug 29 17:35:42 CEST 2010
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.
More information about the fpc-devel
mailing list