Gabriel Dos Reis wrote:
I would say that is a bit extreme. I don't think we're going to implement any of the solutions without giving people options to disable the correct instruction generation when they don't care about it.
I would hesitate a bit about options in this general class of generate-wrong-code-i-don't-care I think such options should only be in place if you can really show a substantial effect. Point in case, GNAT put in a truly horrible overflow detection circuit very early on, that works by doing everything in double precision and range checking the results. This seemed so very inefficient that we made overflow checks off by default and provided an option (-gnato) to turn them on. But in practice, most large applications find that -gnato is not noticeably expensive, and probably at the very least it should have been made the default. P.S. it would seem that -ftrapv would be just what Ada needs, but our local gcc folks claim that -ftrapv is completely broken and unusable :-(