| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
release_generic_capability functions are now functionally distinct for capability analysis. The unlock_function attribute maps directly to release_generic_capability.
llvm-svn: 204469
|
| |
|
|
|
|
|
|
| |
unlock_function attributes with the acquire_capability and release_capability attributes. The old spellings will continue to work, but the underlying semantic attributes have been replaced.
Downgraded the capability diagnostics from error to warning to match the desired behavior, and updated the existing test cases.
llvm-svn: 204350
|
| |
|
|
|
|
| |
to -Wthread-safety.
llvm-svn: 203510
|
| |
|
|
|
|
| |
specific_attr_end() with iterator_range specific_attrs(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203474
|
| |
|
|
|
|
|
|
| |
CallingContext, but none of the other optional parameters are. Removing the optional parameters, and making the NamedDecl required.
No functional changes intended.
llvm-svn: 203149
|
| |
|
|
|
|
|
|
| |
an SExprNode and returning the position in which it was inserted.
No functional change intended.
llvm-svn: 203148
|
| |
|
|
| |
llvm-svn: 203144
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
functionality) and I have agreed to start migrating from lock-specific terminology to "capability"-specific terminology. This opens the door for future threading-related analysis passes so that a common nomenclature can be used.
The following attributes have been (silently) deprecated, with their replacements listed:
lockable => capability
exclusive_locks_required => requires_capability
shared_locks_required => requires_shared_capability
locks_excluded => requires_capability
There are no functional changes intended.
llvm-svn: 201585
|
| |
|
|
|
|
| |
functional changes intended.
llvm-svn: 197681
|
| |
|
|
|
|
| |
change intended -- this only replaces Boolean uses of getAttr.
llvm-svn: 197648
|
| |
|
|
| |
llvm-svn: 196510
|
| |
|
|
|
|
|
| |
This patch tries to avoid unrelated changes other than fixing a few
hyphen-related ambiguities in nearby lines.
llvm-svn: 196466
|
| |
|
|
| |
llvm-svn: 195777
|
| |
|
|
|
|
| |
Currently supported only with -Wthread-safety-beta.
llvm-svn: 194275
|
| |
|
|
|
|
| |
test case.
llvm-svn: 194157
|
| |
|
|
|
|
| |
on smart pointers. -Wthread-safety-beta only.
llvm-svn: 194103
|
| |
|
|
|
|
|
|
|
|
| |
* NamedDecl and CXXMethodDecl were missing getMostRecentDecl.
* The const version can just forward to the non const.
* getMostRecentDecl can use cast instead of cast_or_null.
This then removes some casts from the callers.
llvm-svn: 193039
|
| |
|
|
| |
llvm-svn: 188505
|
| |
|
|
| |
llvm-svn: 188465
|
| |
|
|
| |
llvm-svn: 185013
|
| |
|
|
| |
llvm-svn: 182305
|
| |
|
|
|
|
|
| |
assert_exclusive_lock and assert_shared_lock. These attributes are used to
mark functions that dynamically check (i.e. assert) that a lock is held.
llvm-svn: 182170
|
| |
|
|
|
|
| |
These checks are enabled with the -Wthread-safety-beta flag.
llvm-svn: 179046
|
| |
|
|
|
|
|
| |
These were previously enabled as a "beta" feature, but they have now been
extensively tested.
llvm-svn: 178478
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Use Optional<CFG*> where invalid states were needed previously. In the one case
where that's not possible (beginAutomaticObjDtorsInsert) just use a dummy
CFGAutomaticObjDtor.
Thanks for the help from Jordan Rose & discussion/feedback from Ted Kremenek
and Doug Gregor.
Post commit code review feedback on r175796 by Ted Kremenek.
llvm-svn: 175938
|
| |
|
|
|
|
| |
See r175462 for another example/more details.
llvm-svn: 175796
|
| |
|
|
| |
llvm-svn: 172858
|
| |
|
|
|
|
| |
brought into 'clang' namespace by clang/Basic/LLVM.h
llvm-svn: 172323
|
| |
|
|
| |
llvm-svn: 169669
|
| |
|
|
|
|
| |
copy constructors.
llvm-svn: 169350
|
| |
|
|
|
|
| |
adjust checkAccess. No change in functionality.
llvm-svn: 169348
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
uncovered.
This required manually correcting all of the incorrect main-module
headers I could find, and running the new llvm/utils/sort_includes.py
script over the files.
I also manually added quite a few missing headers that were uncovered by
shuffling the order or moving headers up to be main-module-headers.
llvm-svn: 169237
|
| |
|
|
|
|
|
|
|
| |
pull in all the generated Attr code.
Required to pull some functions out of line, but this shouldn't have a perf impact.
No functionality change.
llvm-svn: 169092
|
| |
|
|
| |
llvm-svn: 165339
|
| |
|
|
|
|
|
| |
where a call to function marked 'noreturn' is followed by unreachable
implicit destructor calls.
llvm-svn: 164394
|
| |
|
|
|
|
| |
as exclusive.
llvm-svn: 164332
|
| |
|
|
|
|
| |
lock expressions.
llvm-svn: 164324
|
| |
|
|
|
|
| |
is placed on a function that has no path to the exit block.
llvm-svn: 164244
|
| |
|
|
|
|
|
| |
LOCKS_EXCLUDED is used on a method with a name that is is not a simple
identifier.
llvm-svn: 164242
|
| |
|
|
| |
llvm-svn: 163656
|
| |
|
|
|
|
|
|
|
| |
analysis that may give false positives because it is confused by aliasing, and
a less precise analysis that has fewer false positives, but may have false
negatives. The more precise warnings are enabled by -Wthread-safety-precise.
An additional note clarify the warnings in the precise case.
llvm-svn: 163537
|
| |
|
|
| |
llvm-svn: 163410
|
| |
|
|
| |
llvm-svn: 163403
|
| |
|
|
|
|
| |
within part of a particular method.
llvm-svn: 163397
|
| |
|
|
| |
llvm-svn: 163325
|
| |
|
|
|
|
| |
expression involving temporaries.
llvm-svn: 163237
|
| |
|
|
|
|
| |
latest definition of a function is always used when computing lock expressions.
llvm-svn: 163028
|
| |
|
|
|
|
| |
expressions, which should be ignored right now.
llvm-svn: 163026
|
| |
|
|
| |
llvm-svn: 162412
|
| |
|
|
|
|
|
| |
expressions. The syntax &MyClass::mutex is interpreted as a
pattern that matches m->mutex for any object m of type MyClass.
llvm-svn: 161691
|