For now this doesn't make a whole lot of sense, but it will allow us to
store the capability kind in a CapabilityExpr and make sure it doesn't
get lost. The capabilities managed by a scoped lockable can of course be
of different kind, so we'll need to store that per entry.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
LGTM aside from a question (if we can't use emplace_back() the code is still fine).
clang/lib/Analysis/ThreadSafety.cpp | ||
---|---|---|
911–919 | I think we can continue to use emplace_back() here, can't we? |
clang/lib/Analysis/ThreadSafety.cpp | ||
---|---|---|
911–919 | For emplace_back we need a constructor and can't just do aggregate initialization. But I could omit the explicit type, like UnderlyingMutexes.push_back({M, UCK_*}). |
Comment Actions
Continues to LGTM
clang/lib/Analysis/ThreadSafety.cpp | ||
---|---|---|
911–919 | Ah good point. No need to change anything, I was just hoping to be able to construct in place. |
I think we can continue to use emplace_back() here, can't we?