> Ideally the human programmer would be freed from
> the mundane task of having to figure out if
> inlining a function is worth it or not, and
> would employ any spare time in more interesting
> stuff (like providing more or better features).
Well, there is a simple solution to that: don't use the inline keyword(s). Or better yet, don't use C-- use a higher-level language instead.
Independently of that, what modern compilers have done with the traditional inline keyword is ridiculous. The behavior is worse than compiler-specific: it's compiler-version-specific, and nobody can explain what exactly it does, if anything. I agree with Andrew: use nothing, or use __always_inline.