diff options
author | Aaron Puchert <aaronpuchert@alice-dsl.net> | 2025-08-03 19:50:17 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-08-03 19:50:17 +0200 |
commit | a048aeb06e5de571eadd646860c320b9a67d1efc (patch) | |
tree | 954d6e6bb271409180d58df2538c09244f94ba65 /clang/lib/Analysis/ThreadSafety.cpp | |
parent | 408fe1d369df926eecd6c15ce939d38652b4b58d (diff) | |
download | llvm-a048aeb06e5de571eadd646860c320b9a67d1efc.zip llvm-a048aeb06e5de571eadd646860c320b9a67d1efc.tar.gz llvm-a048aeb06e5de571eadd646860c320b9a67d1efc.tar.bz2 |
Thread safety analysis: Don't warn on acquiring reentrant capability (#150857)
The point of reentrant capabilities is that they can be acquired
multiple times, so they should probably be excluded from requiring a
negative capability on acquisition via -Wthread-safety-negative.
However, we still propagate explicit negative requirements.
Diffstat (limited to 'clang/lib/Analysis/ThreadSafety.cpp')
-rw-r--r-- | clang/lib/Analysis/ThreadSafety.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/Analysis/ThreadSafety.cpp b/clang/lib/Analysis/ThreadSafety.cpp index 80e7c8e..dadb0b7 100644 --- a/clang/lib/Analysis/ThreadSafety.cpp +++ b/clang/lib/Analysis/ThreadSafety.cpp @@ -1331,7 +1331,7 @@ void ThreadSafetyAnalyzer::addLock(FactSet &FSet, FSet.removeLock(FactMan, NegC); } else { - if (inCurrentScope(*Entry) && !Entry->asserted()) + if (inCurrentScope(*Entry) && !Entry->asserted() && !Entry->reentrant()) Handler.handleNegativeNotHeld(Entry->getKind(), Entry->toString(), NegC.toString(), Entry->loc()); } |