steakhal added inline comments.
================ Comment at: clang/test/Analysis/out-of-bounds-false-positive.c:34 + +void symbolic_uint_and_int0(unsigned len) { + (void)a[len + 1]; // no-warning ---------------- martong wrote: > Hmm, this seems to be quite redundant with the `size_t` tests. Why is it not > enough to have test for one unsigned type? > Are you trying to check for overflow errors? Then I'd expect to have indexes > around UINT_MAX and so on. > > Same comment applies to the tests with the signed types. In the current implementation - and in any implementation of the checker logic will have to deal with //integral-promotion// during the //simplification// of the //array indexer expression// and the given //extent//. All of these can have different signess and bitwidth which makes the implementation quite tricky. In fact, this resulted in the bug, which this patch-stack aims to fix. I'm gonna highlight the related parts in the refactoring patch if you think it helps. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D86870/new/ https://reviews.llvm.org/D86870 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits