aboutsummaryrefslogtreecommitdiff
path: root/clang/docs/ThreadSafetyAnalysis.rst
AgeCommit message (Collapse)AuthorFilesLines
2021-11-30[clang][docs] Inclusive language: remove use of sanity check in option ↵Zarko Todorovski1-2/+2
description Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D114562
2021-11-15[NFC] Trim trailing whitespace in *.rstShao-Ce SUN1-2/+1
2021-07-23Thread safety analysis: Mock getter for private mutexes can be undefinedAaron Puchert1-2/+2
Usage in an annotation is no odr-use, so I think there needs to be no definition. Upside is that in practice one will get linker errors if it is actually odr-used instead of calling a function that returns 0. Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D106375
2020-09-26Thread safety analysis: Improve documentation for ASSERT_CAPABILITYRussell Yanofsky1-4/+8
Previous description didn't actually state the effect the attribute has on thread safety analysis (causing analysis to assume the capability is held). Previous description was also ambiguous about (or slightly overstated) the noreturn assumption made by thread safety analysis, implying the assumption had to be true about the function's behavior in general, and not just its behavior in places where it's used. Stating the assumption specifically should avoid a perceived need to disable thread safety analysis in places where only asserting that a specific capability is held would be better. Reviewed By: aaronpuchert, vasild Differential Revision: https://reviews.llvm.org/D87629
2020-09-06Thread safety analysis: Improve documentation for scoped capabilitiesAaron Puchert1-1/+67
They are for more powerful than the current documentation implies, this adds * adopting a lock, * deferring a lock, * manually unlocking the scoped capability, * relocking the scoped capability, possibly in a different mode, * try-relocking the scoped capability. Also there is now a generic explanation how attributes on scoped capabilities work. There has been confusion in the past about how to annotate them (see e.g. PR33504), hopefully this clears things up. Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D87066
2020-09-06Thread safety analysis: Test and document release_generic_capabilityAaron Puchert1-10/+16
The old locking attributes had a generic release, but as it turns out the capability-based attributes have it as well. Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D87064
2020-09-05Thread safety analysis: Document how try-acquire is handledAaron Puchert1-0/+20
I don't think this is obvious, since try-acquire seemingly contradicts our usual requirements of "no conditional locking". Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D87065
2017-05-08Correct the attribute spelling for guarded_var and pt_guarded_var.Aaron Ballman1-2/+2
Patch by Roman Lebedev. llvm-svn: 302419
2017-05-05Do not redefine the THREAD_ANNOTATION_ATTRIBUTE__ macro in the documentation.Aaron Ballman1-2/+0
Patch by Roman Lebedev. llvm-svn: 302275
2015-05-22Updating the documentation to include an operator! for negative capability ↵Aaron Ballman1-0/+3
support. llvm-svn: 238020
2014-11-14Correcting some grammar and typos, and adding CERT as a collaborator.Aaron Ballman1-5/+5
llvm-svn: 221992
2014-09-24Thread Safety Analysis: Update to documentation.DeLesley Hutchins1-265/+394
The attribute documentation now conforms to Aaron Ballman's renaming of the thread safety attributes, as well as the new paper that is due to be published in the conference on Source Code Analysis and Manipulation (SCAM 2014) later this week. In addition, recent changes to the analysis, such as checking of references and negative capabilities, are now documented. llvm-svn: 218420
2014-02-19Some of these headings had the incorrect number of "underlines" and so would ↵Aaron Ballman1-3/+3
get warnings when generating the content from Sphinx. No functional changes intended. llvm-svn: 201713
2014-02-18Updated documentation for Thread Safety Analysis.DeLesley Hutchins1-0/+818
llvm-svn: 201598