[clang] [analyzer] Restore commutativity of pointer/null comparison for addresses of fields of symbolic regions (PR #209875)
Balázs Benics via cfe-commits
cfe-commits at lists.llvm.org
Thu Jul 23 05:29:21 PDT 2026
================
@@ -0,0 +1,43 @@
+// RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s
+
+// Regression test for #206798.
+//
+// &r->s is a field of a symbolic region, so it's symbol-based. A Yoda null
+// check (`nullptr == p`) has to build the same constraint as the normal
+// `p == nullptr`. If it doesn't, the analyzer disagrees with itself and
+// reports a null deref that can't actually happen.
----------------
steakhal wrote:
One idea for dropping this comment is to use the `gh206798` token in the name of the top-level test function. That should already signal the source of inspiration.
The rest of the comment should probably go right above or right inside the first test function.
This way again, it gets closer to the place where it matters.
https://github.com/llvm/llvm-project/pull/209875
More information about the cfe-commits
mailing list