MaskRay wrote:

This is a UI discussion about how command line options should behave.
Some folks prefer simpler rules while some prefer smart rules (guessing what 
the user intends).

A 
[-fwrapv](https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#index-fwrapv)
 user may either:

* rely on the wraparound behavior
* or prevent certain optimizations that would raise security concerns

Our -fsanitize=signed-integer-overflow design have been assuming that -fwrapv 
users don't need the check.
This PR suggests that an important user does want overflow checks.
It seems very confusing to have two options doing the same thing.

I think we can try -fsanitize=signed-integer-overflow effective when -fwrapv.

There is a precedent that -fsanitize=undefined enables different checks for 
different targets.
We could make -fsanitize=undefined not imply -fsanitize=signed-integer-overflow 
when -fwrapv is specified, if we do want to guess the user intention.
Personally I'd prefer moving away from such behaviors and be more orthogonal.


https://github.com/llvm/llvm-project/pull/80089
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to