"Lars T. Kyllingstad" <[email protected]> wrote in message news:[email protected]... > 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).
