ExprWithCleanups that cleans up function arguments (or any other stuff) at the end of the full-expression may break AST pattern-matching for figuring out that a null pointer was produced by the inlined function during trackNullOrUndefValue(). Because this expression doesn't do anything, skip it during getDerefExpr().
Details
Details
- Reviewers
dcoughlin xazax.hun a.sidorin george.karpenkov szepet rnkovacs - Commits
- rG57790c56853d: [analyzer] Track null and undef values through expressions with cleanups.
rL335559: [analyzer] Track null and undef values through expressions with cleanups.
rC335559: [analyzer] Track null and undef values through expressions with cleanups.
Diff Detail
Diff Detail
- Repository
- rC Clang
Event Timeline
Comment Actions
This is supposed to suppress a few Inlined-Defensive-Checks-related false positives that accidentally spiked up during my testing of copy elision.
test/Analysis/inlining/inline-defensive-checks.cpp | ||
---|---|---|
93 | what is the argument doing? |
test/Analysis/inlining/inline-defensive-checks.cpp | ||
---|---|---|
93 | Causing cleanups (: |
what is the argument doing?