On 2014-06-22, at 23:31 , Daniel Micay <danielmi...@gmail.com> wrote:
> On 22/06/14 05:09 PM, Rick Richardson wrote:
>> Apologies if this has been suggested, but would it be possible to have a
>> compiler switch that can add runtime checks and abort on
>> overflow/underflow/carry for debugging purposes, but the default
>> behavior is no check?  IMO this would be the best of both worlds,
>> because I would assume that one would really only care about checked
>> math during testing and dev.
> 
> You would need to build an entirely separate set of standard libraries
> with checked overflow.

>From my understanding, everything would be built with checked overflow
(unless explicitly disabled/bypassed), and the overflow check could be
disabled at compile-time/.

I don't think that's a good solution, but that's what Swift's `-Ofast`
does, it completely removes a number of checks (including overflow
checking), essentially making the language unsafe but much faster.

As a side-question, were the performances of ftrapv (in clang) ever
actually tested? There were some discussion on testing the impact
in Firefox, but that ended up with GCC's ftrapv being broken and
not doing anything, and Firefox not working with clang -ftrapv.
I've not seen any numbers since, just lots of assertions that
it's far too slow to be an option.
_______________________________________________
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to