Also, you are using "-Si" ? (its on by default, but...)
No:
-Si-
{$INLINE off}
Yes, those should be obvious. But sometimes ...
Further: Are there circular references between those units (direct, or through a bigger circle)? Because then the order in which the implementation parts are compiled comes into play...
And even further, any clues in form of warnings or hints during compile? Maybe you are using something for which inlining is not implemented (at least not cross unit).
I wasn't using anything. So the inlines were succeeding in the units where the procedures are coded, just not in the other units.
I'll re-verify when I get back for the exact order of things.
Also, this is ARM/Ultibo which may have some bearing on the issue.
No circular references that I can imagine, but I'll re-look. The usage of this pair is:
SpinLock(zzz);
Markwin
A few lines of code with no calls outside other than system (write, etc.).
RestWin
SpinUnLock(zzz);
Indeed, I may add the SpinLock to the one and SpinUnLock to the other.