Regarding compiler switches

Nick Sabalausky a at a.a
Thu Nov 5 13:12:29 PST 2009


"Lars T. Kyllingstad" <public at kyllingen.NOSPAMnet> wrote in message 
news:hcu5bc$at8$1 at digitalmars.com...
> DMD has just a few switches that control how code is compiled, such 
> as -safe, -release, -O and so on. In comparison, GCC has (and this is just 
> a rough estimate) a gazillion switches. For the most part, DMD's simpler 
> approach is a good thing, because it makes the compiler easy to use.
>
> However, from time to time, discussions appear on this NG that indicate 
> not everyone is happy with the situation. For instance, people have 
> complained that it's not possible to separately turn on/off bounds 
> checking and compilation of contracts.
>
> Recently there was a discussion of whether the -safe switch should affect 
> array bounds checking too. I don't think any agreement was reached.
>
> Is there any good reason for NOT letting people choose these things for 
> themselves? I suspect it would be very easy to add more detailed options 
> to DMD:
>
>   --bounds-checking=on|off
>   --mem-safe=on|off
>   --Oxxx=on|off|auto  (There are many possible optimisations, and the
>                       compiler doesn't always know best.)
>   --contracts=on|off
>
> Note that I think it's important that -release & co. are kept, but they 
> should be defined as common combinations of the more detailed options.
>

Sounds like a good time to nag again about the idea of a "treat warnings as 
warnings" option:

http://d.puremagic.com/issues/show_bug.cgi?id=2567

A patch is even there that adds "-ww" as an alternative to "-w" that enables 
warnings, but actually treats them as warnings. I *really* hate that DMD 
doesn't currently offer an ability to enable warnings without treating them 
as errors, because the current way amounts to nothing more than "optional 
errors", which effectively splits D into two different languages (and those 
two languages are a slightly less helpful one, and a somewhat naggy one, but 
the option to treat warnings as warnings would merge them back into the same 
language while maintaining the best of both).





More information about the Digitalmars-d mailing list