<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 8 March 2013 18:19, Artur Skawina <span dir="ltr"><<a href="mailto:art.08.09@gmail.com" target="_blank">art.08.09@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On 03/08/13 18:54, Iain Buclaw wrote:<br>
> Also not needed:<br>
> - aligned:  because D has align() for that.<br>
<br>
</div>D's align wasn't nearly enough last time i looked. (There were changes to<br>
it since, but as I can't upgrade, haven't looked at the details)<br>
<div class="im"><br>
> - gnu_inline, artificial:  because D has no inline keyword, nor has need for one.<br>
<br>
</div>always_inline is needed, the heuristics are not always enough. Of course it<br>
should map to just "inline".<br>
<div class="im"><br></div></blockquote><div><br></div><div>inline and always_inline are two subtly different beasts.  But altogether I don't think either make any guarantees of an inline occuring (although always_inline is a little more relaxed about it all).<br>
<br></div><div>Some things are marked as always_inline anyway by gdc:  struct/class methods, lambdas and delegate literals.  Though it is probably known that this only worked within the module being compiled.  Cross-module inlining is not there yet.<br>
</div><div><br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
<br>
> - pure, const:  Although D has pure keyword that does not necessarily follow same as C semantics, I don't think the inclusion of these are beneficial at all.<br>
<br>
</div>"const" may not be needed. "pure" is useful /exactly/ because of the D semantics.<br>
<div class="im"><br></div></blockquote><div><br></div><div>Infact, strongly pure functions (where all parameters are immutable) are indeed marked as C "pure" by gdc if the functions are also nothrow.  Whether this might cause some bad behaviour I'm yet to run into or find a case of...<br>
<br><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
> - optimise, target:  I'm sure the guy who implemented these meant well, but I fail to see the point as to why you'd want such an attribute.<br>
<br>
</div>They are useful. And it reminds me that last time i looked, GDC handled "target", "tune"<br>
etc wrongly: <a href="http://forum.dlang.org/post/mailman.1.1325716211.16222.digitalmars-d@puremagic.com" target="_blank">http://forum.dlang.org/post/mailman.1.1325716211.16222.digitalmars-d@puremagic.com</a><br>
<span class="HOEnZb"></span><br></blockquote></div><br></div><div class="gmail_extra">And I'd rather not want to spend time fixing it.  The code that handles these attributes are a bit bulky, and require a bit of questionable copying from the c-family frontend.<br>
</div><div class="gmail_extra"><br clear="all"><br></div><div class="gmail_extra">Regards<br></div><div class="gmail_extra">-- <br>Iain Buclaw<br><br>*(p < e ? p++ : p) = (c & 0x0f) + '0';
</div></div>