Catch2 icon indicating copy to clipboard operation
Catch2 copied to clipboard

clang: do not issue bogus warnings about integer manipulation in hash functions with fsanitize=undefined/integer

Open jcelerier opened this issue 9 months ago • 1 comments

With -fsanitize=integer every over/under-flowing integer manipulation triggers a warning. This is extremely useful as it allows to find some non-obvious bugs such as

for(size_t i = 0; i < N - 1; i++) { ... }

But it comes with a lot of false positives, for instance with every hash function doing shifting on unsigned integer. Random number generators are also often detected with this sanitizer.

This marks a few of these functions as safe in this case.

Description

GitHub Issues

jcelerier avatar Mar 22 '25 14:03 jcelerier

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 90.98%. Comparing base (914aeec) to head (afea2f6). Report is 37 commits behind head on devel.

Additional details and impacted files
@@            Coverage Diff             @@
##            devel    #2965      +/-   ##
==========================================
- Coverage   91.01%   90.98%   -0.03%     
==========================================
  Files         198      198              
  Lines        8599     8599              
==========================================
- Hits         7826     7823       -3     
- Misses        773      776       +3     
:rocket: New features to boost your workflow:
  • :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

codecov[bot] avatar Mar 22 '25 15:03 codecov[bot]

Thanks

horenmar avatar Jul 02 '25 11:07 horenmar