All of this is hardly related to the simple feature I initially asked for:

        string escString (string s) @tellmeifnotinlined {
            s2 = s.replace("\n","\\n");
            s2 = s.replace("\t","\\t");
             return s2;
         }
        void show (X x) {
            // ... use escString ...
         }
==>
Warning: function 'escString' in module 'foo' (line 123) was not inlined.
        (or else it was actually inlined)

Which (I guess) is not that a big deal since the compiler needs to decide anyway. I just wish to be informed of the result of the decision procedure, only in case of 'no'.

Denis

Guys, i don't know what are you trying or why you simply seem to avoid my reasoning on this, if you don't need this (and you all seem not use it) why are you trying to find solutions for the problems that doesn't affect you directly? :)

Unline a few of you said this is not a complex problem and actually it hasn't been complex in C++ either for again, practical purposes.

Standard C++ says:
For class/struct methods, compiler inlines things and it is aware of most of them wrappers so you don't need "inline" keyword there. But still it does have this keyword as a hint to use other methods. This has never been enough and all major compilers now have forced inlines. (always_inline, __forceinline...) What they do is forcing to compiler inline a function and if compiler won't do it it issues an error to state why.

All is needed is just i said in another post:
@inline // inline or issue and error why you won't.

- simple
- serves practical purposes rather than fiction
- it does no harm to anyone
- so easy to implement
- it is sometimes advanced but still something controllable

Now please what is wrong here someone enlighten me.

Thanks.

Reply via email to