Again, this seems like an unimportant technicality.<div>For user code, whether the logic is handled in the compiler or druntime shouldn't make a difference, so why not have <span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">version(D_NoBoundsChecks) instead of version(noboundscheck). It makes it more discoverable, and more consistent with the rest (eg: dmd -debug will imply version(debug) is on).</span><br>
<br><div class="gmail_quote">On Mon, Jun 3, 2013 at 4:29 PM, Jonathan M Davis <span dir="ltr"><<a href="mailto:jmdavisProg@gmx.com" target="_blank">jmdavisProg@gmx.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 Monday, June 03, 2013 15:19:22 Ali Çehreli wrote:<br>
>  > B)<br>
>  > Why aren't we using version=noboundscheck (+ friends) instead of<br>
>  > -noboundscheck?<br>
><br>
> Because the runtime is not written in D. :) However, it should be easy<br>
> to translate version=noboundscheck to -noboundscheck.<br>
<br>
</div>The runtime _is_ written in D. It's the compiler that isn't, and the compiler<br>
itself generates different code based on noboundscheck. But the version<br>
D_NoBoundsChecks is new (it might even be new with this release - certainly at<br>
most it's a release or two old). We've had the noboundscheck flag far, far<br>
longer than that. The same goes for the assert version. It was only added very<br>
recently, but we've always had assertions.<br>
<br>
Also, if you'll notice, version is _never_ used to control anything that the<br>
compiler itself does. It affects code that you write, because of what you've<br>
done with version blocks, but the compiler itself doesn't change what it does<br>
due to the version flag save for which version blocks do or don't get compiled<br>
in. Compiler flags are used to control the compiler, not version identifiers.<br>
All of the standard identifiers are for user code to be able to react to what<br>
version of the compiler you're using, what system you're on, and what<br>
compilation flags you used. The only ones that get set by the user are user-<br>
defined versions.<br>
<span class="HOEnZb"><font color="#888888"><br>
- Jonathan M Davis<br>
</font></span></blockquote></div><br></div>