summaryrefslogtreecommitdiff
path: root/llvm/lib/IR/Core.cpp
diff options
context:
space:
mode:
authorArseniy Zaostrovnykh <necto.ne@gmail.com>2024-08-28 11:30:18 +0200
committerGitHub <noreply@github.com>2024-08-28 11:30:18 +0200
commit82e314e3664d2c8768212e74f751187d51950b87 (patch)
tree291b7f56b37ac7107397fd5a95cd721f24b1ae3f /llvm/lib/IR/Core.cpp
parent07514fa9b607fd80a72a80270d714e22d842fa39 (diff)
[analyzer] Fix false positive for mutexes inheriting mutex_base (#106240)
If a mutex interface is split in inheritance chain, e.g. struct mutex has `unlock` and inherits `lock` from __mutex_base then calls m.lock() and m.unlock() have different "this" targets: m and the __mutex_base of m, which used to confuse the `ActiveCritSections` list. Taking base region canonicalizes the region used to identify a critical section and enables search in ActiveCritSections list regardless of which class the callee is the member of. This likely fixes #104241 CPP-5541
Diffstat (limited to 'llvm/lib/IR/Core.cpp')
0 files changed, 0 insertions, 0 deletions