[analyzer] Do not infer nullability inside function-like macros, even when macro is explicitly returning NULL
We already suppress such reports for inlined functions, we should then
get the same behavior for macros.
The underlying reason is that the same macro, can be called from many
different contexts, and nullability can only be expected in _some_ of
them.
Assuming that the macro can return null in _all_ of them sometimes leads
to a large number of false positives.
E.g. consider the test case for the dynamic cast implementation in
macro: in such cases, the bug report is unwanted.
Tracked in rdar://
36304776
Differential Revision: https://reviews.llvm.org/D42404
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@324161
91177308-0d34-0410-b5e6-
96231b3b80d8