Ignore my terrible programming practices with the define being an "anti-include/function-guard" (please suggest some better ones if you have any; I'm not sure what the best way is to prevent the same function being compiled twice, but being able to specify what you want to compile at the same time).
Thanks for not giving up on this, Muntoo. I have found and fixed a defect in the compiler as a result of your gentle reminders. Basically, if you have a prototype with "inline" as part of the prototype then it currently confuses the compiler as to whether it should be inlining functions or not. It so happens that an inline function does not need to have "inline" in its prototype so long as the actual function definition includes that keyword.
In any case, I have made the required code changes to fix this defect and will include the fix in the next test release.