On Sat, 6 Sep 2025, Sven Barth via fpc-devel wrote:
michael via fpc-devel <[email protected]> schrieb am Do., 4.
Sep. 2025, 09:29:
On 2025-09-04 08:55, Hairy Pixels via fpc-devel wrote:
On Sep 4, 2025 at 1:43:23 PM, michael via fpc-devel
<[email protected]> wrote:
Personally, I think we already have too much intrinsics to begin
with;
no matter their behaviour. But that is another discussion
entirely...
How so? The reason intrinsics are used is because they can’t be
replicated at runtime. If you remove them then you lose that
functionality entirely.
As I wrote, for some it is needed. No arguments there.
But AFAIK many regular functions such as Length(), Inc/Dec() etc. are
also converted to intrinsics.
No doubt for performance reasons, but I'd rather have as little as
possible "compiler magic".
Not performance reasons, but because they need to be usable by many types
and thus can't be expressed using ordinary Pascal in a typesafe way.
Why inc() dec() cannot be expressed in a typesafe way ?
We have InterlockedIncrement etc, and they do the same thing ?
Implicit function specialization would change that, however that would mean
the generation of a specialized definition each time it is used in a
different unit and for every type.
As I said, for some it is needed. For Length() that may be the case, as you
point out.
In each case, my point of view remains that the less intrinsics we have, the
better it is.
Michael.
_______________________________________________
fpc-devel maillist - [email protected]
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel