vitalybuka wrote:

> > Can we split `-fsanitize=unsigned-integer-overflow` into 
> > `-fsanitize=unsigned-integer-overflow-patternA,unsigned-integer-overflow-patternB,unsigned-integer-overflow-patternC...`
> >  ?
> > Then it's quite intuitive to disable them with `no-sanitize`.
> 
> Yikes, no way. The pattern exclusions apply to all of the overflow-related 
> sanitizers. Each is a small behavioral difference; they're not separate 
> sanitizers nor do they apply to only one sanitizer.

That's a strong argument, such explanation is good enough to move forward.

> 
> If `-fsanitize-pattern-exclusion` isn't wanted, perhaps 
> `-fsanitize-overflow=pattern-exclude-{none,all,add-overflow-test,post-decr-while,negated-unsigned-const}`?
>  But I still prefer it as-as.

historically we for modifieres we used `-fsanitize-<sanitizer>-<modifier>`, 
e.g. `-fsanitize-address-outline-instrumentation` or 
`-fsanitize-address-use-after-return` `-fsanitize-memory-track-origins`

Then `-fsanitize-undefined-exclude-overflow-pattern=none|all|.....`
I slightly prefer `exclude` -> `ignore`


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

Reply via email to