Summary: This patch fixes __not_null's detection of nullptr by breaking it down into 4 cases. 1. `__not_null(Tp const&)`: Default case. Tp is not null. 2. `__not_null(Tp* __ptr);` Case for pointers to functions. 3. `__not_null(_Ret _Class::* __ptr);` Case for pointers to members. 4. `__not_null(function<Tp> const&);`: Cases for other std::functions. Reviewers: mclow.lists Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D11111 llvm-svn: 245335 |
||
|---|---|---|
| .. | ||
| F.pass.cpp | ||
| F_assign.pass.cpp | ||
| F_incomplete.pass.cpp | ||
| F_nullptr.pass.cpp | ||
| alloc.pass.cpp | ||
| alloc_F.pass.cpp | ||
| alloc_function.pass.cpp | ||
| alloc_nullptr.pass.cpp | ||
| alloc_rfunction.pass.cpp | ||
| copy.pass.cpp | ||
| copy_assign.pass.cpp | ||
| default.pass.cpp | ||
| nullptr_t.pass.cpp | ||
| nullptr_t_assign.pass.cpp | ||