{ "tokens": { "input": 8570, "cache_read": 21445, "cache_write": 4289, "output": 2249 }, "reviews": [ { "key": [ "https://ftp.debian.org/debian/pool/main/h/halide/halide_21.0.0.orig.tar.xz", "main halide-21.0.0/test/correctness/extern_sort.cpp:36:25: error: Iterators of different containers 'reference(0)' and 'reference(100)' are used together. [mismatchingContainers]" ], "verdict": { "verdict": "neutral", "confidence": "medium", "explanation": "`&reference(0)` and `&reference(100)` are addresses of elements in the same Halide Buffer (begin and one-past-end), so this warning is a false positive both before and after the PR. The PR only changes the wording from 'Iterators of different containers' to 'Addresses of different objects'. The new text better describes what Cppcheck thinks it sees, but the diagnosis itself is still wrong. Rewording a false positive does not help or hurt users." } }, { "key": [ "https://ftp.debian.org/debian/pool/main/h/halide/halide_21.0.0.orig.tar.xz", "main halide-21.0.0/test/correctness/legal_race_condition.cpp:59:23: error: Iterators of different containers 'out(0)' and 'out(256)' are used together. [mismatchingContainers]" ], "verdict": { "verdict": "neutral", "confidence": "medium", "explanation": "`out(0)` and `out(256)` are references into the same Halide Buffer, so `&out(0)` and `&out(256)` are pointers into one array. The mismatchingContainers warning is a false positive both before and after the PR. The PR only changes the wording from 'Iterators of different containers' to 'Addresses of different objects'. The new wording describes the address-of expressions a bit better, but the warning is still wrong and still reported. For users the change makes no practical difference." } }, { "key": [ "https://ftp.debian.org/debian/pool/main/h/halide/halide_21.0.0.orig.tar.xz", "main halide-21.0.0/test/performance/sort.cpp:182:27: error: Iterators of different containers 'correct(0)' and 'correct(N)' are used together. [mismatchingContainers]" ], "verdict": { "verdict": "neutral", "confidence": "medium", "explanation": "`&correct(0)` and `&correct(N)` point to the start and one-past-end of the same Halide Buffer, so passing them to `std::sort` is valid. The warning is a false positive both before and after the PR. The PR only rewords the message from 'Iterators of different containers' to 'Addresses of different objects', which better describes the address-of lifetime Cppcheck tracked. The same false positive is still reported at the same location, so users see no real change." } }, { "key": [ "https://ftp.debian.org/debian/pool/main/h/halide/halide_21.0.0.orig.tar.xz", "your halide-21.0.0/test/correctness/extern_sort.cpp:36:25: error: Addresses of different objects 'reference(0)' and 'reference(100)' are used together. [mismatchingContainers]" ], "verdict": { "verdict": "neutral", "confidence": "medium", "explanation": "`&reference(0)` and `&reference(100)` are addresses of elements of the same Halide buffer (begin and one-past-end), so passing them to `std::sort` is correct. The mismatchingContainers warning is a false positive both before and after the PR. The PR only rewords it from \"Iterators of different containers\" to \"Addresses of different objects\". The new wording describes `&` expressions more literally, but the warning is still wrong, so nothing changes in practice for users." } }, { "key": [ "https://ftp.debian.org/debian/pool/main/h/halide/halide_21.0.0.orig.tar.xz", "your halide-21.0.0/test/correctness/legal_race_condition.cpp:59:23: error: Addresses of different objects 'out(0)' and 'out(256)' are used together. [mismatchingContainers]" ], "verdict": { "verdict": "neutral", "confidence": "medium", "explanation": "`out(0)` and `out(256)` return references into the same Halide buffer, so `&out(0)` and `&out(256)` are a valid begin/end pointer pair for `std::sort`. The warning is a false positive both before and after the change. The PR only rewords it from \"Iterators of different containers\" to \"Addresses of different objects\". That describes the pointer arguments slightly better, but the false claim and the false positive are still there, so nothing changes for users." } }, { "key": [ "https://ftp.debian.org/debian/pool/main/h/halide/halide_21.0.0.orig.tar.xz", "your halide-21.0.0/test/performance/sort.cpp:182:27: error: Addresses of different objects 'correct(0)' and 'correct(N)' are used together. [mismatchingContainers]" ], "verdict": { "verdict": "neutral", "confidence": "medium", "explanation": "`std::sort(&correct(0), &correct(N))` takes the addresses of elements of the same Halide Buffer: `operator()` returns a reference into one contiguous allocation. The two pointers form a valid range, so the mismatchingContainers warning is a false positive both before and after the PR. The PR only rewords it from 'Iterators of different containers' to 'Addresses of different objects'. The new wording better matches what Cppcheck thinks it sees, but the warning is still wrong, so users gain nothing either way." } } ], "started": "2026-11-02 15:31:56 UTC", "runner": "aws-testrunner-1" }