feature request: nim's compilation option pragmas

Stefan Koch via Digitalmars-d digitalmars-d at puremagic.com
Sat Dec 17 22:19:06 PST 2016


On Sunday, 18 December 2016 at 04:46:34 UTC, Timothee Cour wrote:
> Could we support something similar to nim's compilation option 
> pragmas [1]:
>
> ```
> {.push checks: off.}
> # compile this section without runtime checks as it is speed 
> critical
> # ... some code ...
> {.pop.} # restore old settings
> ```
>
> in D could look like:
>
> ```
> pragma(push, "-noboundscheck -O -release");
> // compile this section with specified flags as it's critical
> pragma(pop);
> ```
>
> [1] 
> http://nim-lang.org/docs/manual.html#pragmas-compilation-option-pragmas

That approach has a number of problems.
Basically the optimizer works at module scope, I'd be difficult 
to constrain it's use.
Secondly what happens if conflicting options are nested ?



More information about the Digitalmars-d mailing list