On Thu, 29 Dec 2011 22:00:12 +0200, Walter Bright
<[email protected]> wrote:
Examining the assembler output, it inlines everything except COPY_SHIFT,
COPY_NO_SHIFT, and COPY_REMAINING. The inliner in dmd could definitely
be improved, but that is not a problem with the language, but the
implementation.
Continuing in that vein, please note that neither C nor C++ require
inlining of any sort. The "inline" keyword is merely a hint to the
compiler. What inlining takes place is completely implementation
defined, not language defined.
The same goes for all those language extensions you mentioned. Those are
not part of Standard C. They are vendor extensions. Does that mean that
C is not actually a systems language? No.
I wish to note that the D version semantically accomplishes the same
thing as the C version without using mixins or CTFE - it's all
straightforward code, without the abusive preprocessor tricks.
Yet every big C/C++ compiler has to support it, no?
Lets forget D for a second.
Will you, as a compiler vendor support controlled inline in DMD with an
extension?
Or let me try another way, will you "let" community to do it?