[fpc-devel] Looking for insight on the current status (or rather, non-status) of the {$CLASSESINLINE} define

Ben Grasset operator97 at gmail.com
Sun Mar 8 02:16:27 CET 2020

It's not clear to me how many people are specifically aware of this, but as
it stands currently, each and every instance of the "inline" modifier in
the Classes unit is hidden behind a CLASSESINLINE define.

Unlike the SYSTEMINLINE and MATHINLINE defines (which are always set
automatically in-source when building FPC), the CLASSESINLINE define is not
set anywhere, at any time.

What this means of course is that currently, literally nothing in the
entire Classes unit is inlined, at all, ever. IMO this is a Very Bad Thing
for reasons that I feel like are probably obvious to most people.

So my question is, do any of the people currently reading this mailing list
know *why* this is the case? (Note, I'm aware it's possible that there is
no real reason and it's simply just an accidental oversight.)

If there *is* (or at least was in the past) a specific reason though, what
exactly is / was it, and more importantly is it known to be still relevant
on any particular platform?

At least on x86-64 Windows, for example, building FPC with this define
manually set by me causes no issues, and results in the functions marked as
such being inlined properly as expected.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20200307/ac90e691/attachment.html>

More information about the fpc-devel mailing list