tree 155de5053f2c54416595a8bb0f29a48a28b4b747
parent 72402e8b6709818915debf8cbd6a78faf8849df8
author Utkarsh Saxena <usx@google.com> 1764946750 +0530
committer GitHub <noreply@github.com> 1764946750 +0530
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJpMvM+CRC1aQ7uu5UhlAAA4P4QAHUniZTj+iqfFoSyZoYdUKnx
 QXvysySU8MYGoMOZQ+kSkGikwU9VQmc8UEgk/Eg6oBVsv+ST6ShvDQ+SvHIT14ly
 UNDic9ggbHqJ4JCkV1xK1ctC3P7QNw2PbipF+GbZnixqPTNCf2JL5lK43EOK5T7a
 35MJHZI2PKtEEGTPHX9nFNFg5v84LQGzZo7g4cn7LGVIidkfGhxqLYfMHRasjGHG
 7exMNxTpn9fzMeXTBnnd72Rjc+ivuaCvT38PBhaZKgSjQmlTFjrE64weYyKOTD4m
 17lIInPNhwPUhzpApLVePqeqykr9qd76n1WJhgwzsaUJ/Mfn9ibsLoUIDczbpn9v
 7diHQqlhNFhJCdI3miAk1rsTsslXCkr/VdvXC5wiOot2lwi+HCp+F/vMZdGAJCa7
 /uLuXAVwO0uDti6bmOhHZzQFmTQQZtftxOjP6EzmJG8JIQCONR8pXUzYKxUv1iEr
 ahVi+/Rc3UseYjkjeDgXB3D3p7f5S3fZseNApH34m3WWa1RyJ60vojVXIpvHt/L1
 F9YEmcqj+7RJCaBzgZUySLDx0rYsgFMfyLkRWwRoFEsStc4xUI5cXDtP5FdyAFo1
 twZqixriNoNZmHkAAktLmNVbbYLAI+Z8yBtOy0NCcJTpqBZlONo9qb12BvOe4Q/Q
 3MbvqGs7uWmHeWBmOKA5
 =6/7x
 -----END PGP SIGNATURE-----
 

[ThreadSafety] Ignore parameter destructors (#170843)

Fixes a false positive in thread safety analysis when function
parameters have lock/unlock annotations in their constructor/destructor.

PR #169320 added destructors to the CFG, which introduced false
positives in thread safety analysis for function parameters. According
to [expr.call#6](https://eel.is/c++draft/expr.call#6), parameter
initialization occurs in the caller's context while destruction occurs
in the callee's context.

```cpp
class A {
 public:
  A() EXCLUSIVE_LOCK_FUNCTION(mu_) { mu_.Lock(); }
  ~A() UNLOCK_FUNCTION(mu_) { mu_.Unlock(); }
 private:
  Mutex mu_;
};

int do_something(A a) {  // Previously: false positive warning
  return 0;
}
```

Previously, thread safety analysis would see the destructor (unlock) in
`do_something` but not the corresponding constructor (lock) that
happened in the caller's context, causing a false positive.