Regarding compiler switches
Lars T. Kyllingstad
public at kyllingen.NOSPAMnet
Thu Nov 5 01:19:32 PST 2009
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.
-Lars
More information about the Digitalmars-d
mailing list