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.
_______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel