llvm-capstone/clang/lib/Analysis
Aaron Puchert 44ae49e1a7 Thread safety analysis: Handle compound assignment and ->* overloads
Like regular assignment, compound assignment operators can be assumed to
write to their left-hand side operand. So we strengthen the requirements
there. (Previously only the default read access had been required.)

Just like operator->, operator->* can also be assumed to dereference the
left-hand side argument, so we require read access to the pointee. This
will generate new warnings if the left-hand side has a pt_guarded_by
attribute. This overload is rarely used, but it was trivial to add, so
why not. (Supporting the builtin operator requires changes to the TIL.)

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D124966
2022-05-09 15:35:43 +02:00
..
FlowSensitive [clang-tidy] New check for safe usage of std::optional and like types. 2022-05-06 18:50:36 +00:00
plugins
AnalysisDeclContext.cpp [clang] Add a raw_ostream operator<< overload for QualType 2022-04-20 22:09:05 +01:00
BodyFarm.cpp Treat std::move, forward, etc. as builtins. 2022-04-20 17:58:31 -07:00
CalledOnceCheck.cpp
CallGraph.cpp
CFG.cpp [analyzer] Allow CFG dumps in release builds 2022-05-02 11:48:52 +02:00
CFGReachabilityAnalysis.cpp
CFGStmtMap.cpp
CloneDetection.cpp
CMakeLists.txt
CocoaConventions.cpp
CodeInjector.cpp
ConstructionContext.cpp
Consumed.cpp
Dominators.cpp
ExprMutationAnalyzer.cpp
IssueHash.cpp
LiveVariables.cpp
MacroExpansionContext.cpp
ObjCNoReturn.cpp
PathDiagnostic.cpp [msan] Advance before destroying entry 2022-04-19 16:42:04 -07:00
PostOrderCFGView.cpp
ProgramPoint.cpp
ReachableCode.cpp
RetainSummaryManager.cpp [clang][NFC] Inclusive language: remove use of Whitelist in clang/lib/Analysis/ 2022-04-25 15:26:36 -05:00
ThreadSafety.cpp Thread safety analysis: Handle compound assignment and ->* overloads 2022-05-09 15:35:43 +02:00
ThreadSafetyCommon.cpp Thread safety analysis: Store capability kind in CapabilityExpr 2022-04-29 22:30:33 +02:00
ThreadSafetyLogical.cpp
ThreadSafetyTIL.cpp
UninitializedValues.cpp