[analyzer] Weaken assertion in trackNullOrUndefValue()
authorDevin Coughlin <dcoughlin@apple.com>
Fri, 19 Aug 2016 01:05:31 +0000 (01:05 +0000)
committerDevin Coughlin <dcoughlin@apple.com>
Fri, 19 Aug 2016 01:05:31 +0000 (01:05 +0000)
commit1319614c1b7fd72d64c7561b89f3b9872a4f7a69
tree6f3575f1bfadcb275334df0667dc35fe9e379780
parentbf02f12c8926b98cbe8b8840efaefa54d19ae69a
[analyzer] Weaken assertion in trackNullOrUndefValue()

We should ignore paren casts when making sure that the semantic expression
in a PseudoObjectExpr for an ObjC getter is a message send.

This has no other intended functionality change.

Adding a test for this exposed an interesting issue in another test case
that only manifests under ARC. trackNullOrUndefValue() is not properly
suppressing for nil values that are the result of nil propagation from a nil
receiver when the nil is returned from a function. I've added a FIXME for that
missing suppression.

rdar://problem/27290568

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279181 91177308-0d34-0410-b5e6-96231b3b80d8
lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
test/Analysis/inlining/false-positive-suppression.m