Lines Matching refs:P

18 void derefAfterMove(std::unique_ptr<int> P) {  in derefAfterMove()  argument
19 std::unique_ptr<int> Q = std::move(P); in derefAfterMove()
23 if (P) in derefAfterMove()
26 *P.get() = 1; // expected-warning {{Method called on moved-from object 'P' [cplusplus.Move]}} in derefAfterMove()
51 std::unique_ptr<A> P(new A()); in derefAfterValidCtr() local
53 P->foo(); // No warning. in derefAfterValidCtr()
56 void derefOfUnknown(std::unique_ptr<A> P) { in derefOfUnknown() argument
57 P->foo(); // No warning. in derefOfUnknown()
61 std::unique_ptr<A> P; in derefAfterDefaultCtr() local
63 P->foo(); // expected-warning {{Dereference of null smart pointer 'P' [alpha.cplusplus.SmartPtr]}} in derefAfterDefaultCtr()
67 std::unique_ptr<A> P(nullptr); in derefAfterCtrWithNull() local
69 *P; // expected-warning {{Dereference of null smart pointer 'P' [alpha.cplusplus.SmartPtr]}} in derefAfterCtrWithNull()
74 std::unique_ptr<A> P(InnerPtr); in derefAfterCtrWithNullVariable() local
76 P->foo(); // expected-warning {{Dereference of null smart pointer 'P' [alpha.cplusplus.SmartPtr]}} in derefAfterCtrWithNullVariable()
80 std::unique_ptr<A> P(new A()); in derefAfterRelease() local
81 P.release(); in derefAfterRelease()
83 P->foo(); // expected-warning {{Dereference of null smart pointer 'P' [alpha.cplusplus.SmartPtr]}} in derefAfterRelease()
87 std::unique_ptr<A> P(new A()); in derefAfterReset() local
88 P.reset(); in derefAfterReset()
90 P->foo(); // expected-warning {{Dereference of null smart pointer 'P' [alpha.cplusplus.SmartPtr]}} in derefAfterReset()
94 std::unique_ptr<A> P(new A()); in derefAfterResetWithNull() local
95 P.reset(nullptr); in derefAfterResetWithNull()
96 P->foo(); // expected-warning {{Dereference of null smart pointer 'P' [alpha.cplusplus.SmartPtr]}} in derefAfterResetWithNull()
100 std::unique_ptr<A> P; in derefAfterResetWithNonNull() local
101 P.reset(new A()); in derefAfterResetWithNonNull()
103 P->foo(); // No warning. in derefAfterResetWithNonNull()
107 std::unique_ptr<A> P(new A()); in derefAfterReleaseAndResetWithNonNull() local
108 P.release(); in derefAfterReleaseAndResetWithNonNull()
109 P.reset(new A()); in derefAfterReleaseAndResetWithNonNull()
110 P->foo(); // No warning. in derefAfterReleaseAndResetWithNonNull()
114 std::unique_ptr<A> P; in derefOnReleasedNullRawPtr() local
115 A *AP = P.release(); in derefOnReleasedNullRawPtr()
120 std::unique_ptr<A> P(new A()); in derefOnReleasedValidRawPtr() local
121 A *AP = P.release(); in derefOnReleasedValidRawPtr()
133 std::unique_ptr<A> P; in regioninvalidationWithPassByRef() local
134 pass_smart_ptr_by_ref(P); in regioninvalidationWithPassByRef()
135 P->foo(); // no-warning in regioninvalidationWithPassByRef()
139 std::unique_ptr<A> P; in regioninvalidationWithPassByCostRef() local
140 pass_smart_ptr_by_const_ref(P); in regioninvalidationWithPassByCostRef()
141 P->foo(); // expected-warning {{Dereference of null smart pointer 'P' [alpha.cplusplus.SmartPtr]}} in regioninvalidationWithPassByCostRef()
145 std::unique_ptr<A> P; in regioninvalidationWithPassByRValueRef() local
146 pass_smart_ptr_by_rvalue_ref(std::move(P)); in regioninvalidationWithPassByRValueRef()
147 P->foo(); // no-warning in regioninvalidationWithPassByRValueRef()
151 std::unique_ptr<A> P; in regioninvalidationWithPassByConstRValueRef() local
152 pass_smart_ptr_by_const_rvalue_ref(std::move(P)); in regioninvalidationWithPassByConstRValueRef()
153 P->foo(); // expected-warning {{Dereference of null smart pointer 'P' [alpha.cplusplus.SmartPtr]}} in regioninvalidationWithPassByConstRValueRef()
157 std::unique_ptr<A> P; in regioninvalidationWithPassByPtr() local
158 pass_smart_ptr_by_ptr(&P); in regioninvalidationWithPassByPtr()
159 P->foo(); in regioninvalidationWithPassByPtr()
163 std::unique_ptr<A> P; in regioninvalidationWithPassByConstPtr() local
164 pass_smart_ptr_by_const_ptr(&P); in regioninvalidationWithPassByConstPtr()
165 P->foo(); // expected-warning {{Dereference of null smart pointer 'P' [alpha.cplusplus.SmartPtr]}} in regioninvalidationWithPassByConstPtr()
169 std::unique_ptr<A> P; member
182 S.P->foo(); // no-warning in regioninvalidationWithinStructPassByRef()
188 …S.P->foo(); // expected-warning {{Dereference of null smart pointer 'S.P' [alpha.cplusplus.SmartPt… in regioninvalidationWithinStructPassByConstRef()
194 S.P->foo(); // no-warning in regioninvalidationWithinStructPassByRValueRef()
200 …S.P->foo(); // expected-warning {{Dereference of null smart pointer 'S.P' [alpha.cplusplus.SmartPt… in regioninvalidationWithinStructPassByConstRValueRef()
206 S.P->foo(); // no-warning in regioninvalidationWithinStructPassByPtr()
212 …S.P->foo(); // expected-warning {{Dereference of null smart pointer 'S.P' [alpha.cplusplus.SmartPt… in regioninvalidationWithinStructPassByConstPtr()
217 std::unique_ptr<A> P(new A()); in derefAfterAssignment() local
219 Q = std::move(P); in derefAfterAssignment()
223 std::unique_ptr<A> P; in derefAfterAssignment() local
225 Q = std::move(P); in derefAfterAssignment()
231 std::unique_ptr<A> P(new A()); in derefOnSwappedNullPtr() local
233 P.swap(PNull); in derefOnSwappedNullPtr()
235 …(*P).foo(); // expected-warning {{Dereference of null smart pointer 'P' [alpha.cplusplus.SmartPtr]… in derefOnSwappedNullPtr()
239 std::unique_ptr<A> P; in derefOnFirstStdSwappedNullPtr() local
241 std::swap(P, PNull); in derefOnFirstStdSwappedNullPtr()
242 P->foo(); // expected-warning {{Dereference of null smart pointer 'P' [alpha.cplusplus.SmartPtr]}} in derefOnFirstStdSwappedNullPtr()
246 std::unique_ptr<A> P; in derefOnSecondStdSwappedNullPtr() local
248 std::swap(P, PNull); in derefOnSecondStdSwappedNullPtr()
253 std::unique_ptr<A> P(new A()); in derefOnSwappedValidPtr() local
255 P.swap(PValid); in derefOnSwappedValidPtr()
256 (*P).foo(); // No warning. in derefOnSwappedValidPtr()
258 std::swap(P, PValid); in derefOnSwappedValidPtr()
259 P->foo(); // No warning. in derefOnSwappedValidPtr()
264 std::unique_ptr<A> P; in derefOnRawPtrFromGetOnNullPtr() local
265 P.get()->foo(); // expected-warning {{Called C++ object pointer is null [core.CallAndMessage]}} in derefOnRawPtrFromGetOnNullPtr()
269 std::unique_ptr<A> P(new A()); in derefOnRawPtrFromGetOnValidPtr() local
270 P.get()->foo(); // No warning. in derefOnRawPtrFromGetOnValidPtr()
273 void derefOnRawPtrFromGetOnUnknownPtr(std::unique_ptr<A> P) { in derefOnRawPtrFromGetOnUnknownPtr() argument
274 P.get()->foo(); // No warning. in derefOnRawPtrFromGetOnUnknownPtr()
277 void derefOnRawPtrFromMultipleGetOnUnknownPtr(std::unique_ptr<A> P) { in derefOnRawPtrFromMultipleGetOnUnknownPtr() argument
278 A *X = P.get(); in derefOnRawPtrFromMultipleGetOnUnknownPtr()
279 A *Y = P.get(); in derefOnRawPtrFromMultipleGetOnUnknownPtr()
288 std::unique_ptr<A> P; in derefOnMovedFromValidPtr() local
289 P = std::move(PToMove); in derefOnMovedFromValidPtr()
295 std::unique_ptr<A> P; in derefOnMovedToNullPtr() local
296 P = std::move(PToMove); // No note. in derefOnMovedToNullPtr()
297 P->foo(); // No warning. in derefOnMovedToNullPtr()
301 std::unique_ptr<A> P(new A()); in derefOnNullPtrGotMovedFromValidPtr() local
303 P = std::move(PToMove); in derefOnNullPtrGotMovedFromValidPtr()
304 P->foo(); // expected-warning {{Dereference of null smart pointer 'P' [alpha.cplusplus.SmartPtr]}} in derefOnNullPtrGotMovedFromValidPtr()
308 std::unique_ptr<A> P; in derefOnMovedFromUnknownPtr() local
309 P = std::move(PToMove); in derefOnMovedFromUnknownPtr()
310 P->foo(); // No warning. in derefOnMovedFromUnknownPtr()
314 std::unique_ptr<A> P; in derefOnMovedUnknownPtr() local
315 P = std::move(PToMove); in derefOnMovedUnknownPtr()
320 std::unique_ptr<A> P; in derefOnAssignedNullPtrToNullSmartPtr() local
321 P = nullptr; in derefOnAssignedNullPtrToNullSmartPtr()
322 P->foo(); // expected-warning {{Dereference of null smart pointer 'P' [alpha.cplusplus.SmartPtr]}} in derefOnAssignedNullPtrToNullSmartPtr()
326 std::unique_ptr<A> P(new A()); in derefOnAssignedZeroToNullSmartPtr() local
327 P = 0; in derefOnAssignedZeroToNullSmartPtr()
328 P->foo(); // expected-warning {{Dereference of null smart pointer 'P' [alpha.cplusplus.SmartPtr]}} in derefOnAssignedZeroToNullSmartPtr()
331 void derefOnAssignedNullToUnknowSmartPtr(std::unique_ptr<A> P) { in derefOnAssignedNullToUnknowSmartPtr() argument
332 P = nullptr; in derefOnAssignedNullToUnknowSmartPtr()
333 P->foo(); // expected-warning {{Dereference of null smart pointer 'P' [alpha.cplusplus.SmartPtr]}} in derefOnAssignedNullToUnknowSmartPtr()
339 std::unique_ptr<A> P(new A()); in drefOnAssignedNullFromMethodPtrValidSmartPtr() local
340 P = returnRValRefOfUniquePtr(); in drefOnAssignedNullFromMethodPtrValidSmartPtr()
341 P->foo(); // No warning. in drefOnAssignedNullFromMethodPtrValidSmartPtr()
346 std::unique_ptr<A> P(std::move(PToMove)); in derefMoveConstructedWithValidPtr() local
347 P->foo(); // No warning. in derefMoveConstructedWithValidPtr()
352 std::unique_ptr<A> P(std::move(PToMove)); in derefMoveConstructedWithNullPtr() local
353 P->foo(); // expected-warning {{Dereference of null smart pointer 'P' [alpha.cplusplus.SmartPtr]}} in derefMoveConstructedWithNullPtr()
357 std::unique_ptr<A> P(std::move(PToMove)); in derefMoveConstructedWithUnknownPtr() local
358 P->foo(); // No warning. in derefMoveConstructedWithUnknownPtr()
363 std::unique_ptr<A> P(std::move(PToMove)); in derefValidPtrMovedToConstruct() local
369 std::unique_ptr<A> P(std::move(PToMove)); in derefNullPtrMovedToConstruct() local
374 std::unique_ptr<A> P(std::move(PToMove)); in derefUnknownPtrMovedToConstruct() local
381 std::unique_ptr<A> P(functionReturnsRValueRef()); in derefMoveConstructedWithRValueRefReturn() local
382 P->foo(); // No warning. in derefMoveConstructedWithRValueRefReturn()
386 std::unique_ptr<A> P; in derefConditionOnNullPtr() local
387 if (P) in derefConditionOnNullPtr()
388 P->foo(); // No warning. in derefConditionOnNullPtr()
390P->foo(); // expected-warning {{Dereference of null smart pointer 'P' [alpha.cplusplus.SmartPtr]}} in derefConditionOnNullPtr()
394 std::unique_ptr<A> P; in derefConditionOnNotNullPtr() local
395 if (!P) in derefConditionOnNotNullPtr()
396P->foo(); // expected-warning {{Dereference of null smart pointer 'P' [alpha.cplusplus.SmartPtr]}} in derefConditionOnNotNullPtr()
400 std::unique_ptr<A> P(new A()); in derefConditionOnValidPtr() local
402 if (P) in derefConditionOnValidPtr()
407 std::unique_ptr<A> P(new A()); in derefConditionOnNotValidPtr() local
409 if (!P) in derefConditionOnNotValidPtr()
413 void derefConditionOnUnKnownPtr(std::unique_ptr<A> P) { in derefConditionOnUnKnownPtr() argument
414 if (P) in derefConditionOnUnKnownPtr()
415 P->foo(); // No warning. in derefConditionOnUnKnownPtr()
417P->foo(); // expected-warning {{Dereference of null smart pointer 'P' [alpha.cplusplus.SmartPtr]}} in derefConditionOnUnKnownPtr()
420 void derefOnValidPtrAfterReset(std::unique_ptr<A> P) { in derefOnValidPtrAfterReset() argument
421 P.reset(new A()); in derefOnValidPtrAfterReset()
422 if (!P) in derefOnValidPtrAfterReset()
423 P->foo(); // No warning. in derefOnValidPtrAfterReset()
425 P->foo(); // No warning. in derefOnValidPtrAfterReset()
429 std::unique_ptr<int> P(new int()); in innerPointerSymbolLiveness() local
430 clang_analyzer_warnOnDeadSymbol(P.get()); in innerPointerSymbolLiveness()
431 int *RP = P.release(); in innerPointerSymbolLiveness()
434 void boolOpCreatedConjuredSymbolLiveness(std::unique_ptr<int> P) { in boolOpCreatedConjuredSymbolLiveness() argument
435 if (P) { in boolOpCreatedConjuredSymbolLiveness()
436 int *X = P.get(); in boolOpCreatedConjuredSymbolLiveness()
441 void getCreatedConjuredSymbolLiveness(std::unique_ptr<int> P) { in getCreatedConjuredSymbolLiveness() argument
442 int *X = P.get(); in getCreatedConjuredSymbolLiveness()
445 if (!P) { in getCreatedConjuredSymbolLiveness()
446 Y = *P.get(); // expected-warning {{Dereference of null pointer [core.NullDereference]}} in getCreatedConjuredSymbolLiveness()
452 std::unique_ptr<int> P(q); in derefConditionOnUnKnownPtr() local
453 if (P) in derefConditionOnUnKnownPtr()
454 return *P; // No warning. in derefConditionOnUnKnownPtr()
456 …return *P; // expected-warning {{Dereference of null smart pointer 'P' [alpha.cplusplus.SmartPtr]}} in derefConditionOnUnKnownPtr()
459 void derefAfterBranchingOnUnknownInnerPtr(std::unique_ptr<A> P) { in derefAfterBranchingOnUnknownInnerPtr() argument
460 A *RP = P.get(); in derefAfterBranchingOnUnknownInnerPtr()
462P->foo(); // expected-warning {{Dereference of null smart pointer 'P' [alpha.cplusplus.SmartPtr]}} in derefAfterBranchingOnUnknownInnerPtr()
517 void testOstreamOverload(std::unique_ptr<int> P) { in testOstreamOverload() argument
519 auto &PtrCout = std::cout << P; in testOstreamOverload()
531 void testOstreamDoesntInvalidateGlobals(std::unique_ptr<int> P) { in testOstreamDoesntInvalidateGlobals() argument
533 std::cout << P; in testOstreamDoesntInvalidateGlobals()