summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenObjC/externally-retained.m
Commit message (Collapse)AuthorAgeFilesLines
* NFC: Unforget a colon in a few CHECK: directives.Artem Dergachev2019-07-121-1/+1
| | | | | | Differential Revision: https://reviews.llvm.org/D64526 llvm-svn: 365863
* [ObjCARC] Add an new attribute, objc_externally_retainedErik Pilkington2019-01-041-0/+115
This attribute, called "objc_externally_retained", exposes clang's notion of pseudo-__strong variables in ARC. Pseudo-strong variables "borrow" their initializer, meaning that they don't retain/release it, instead assuming that someone else is keeping their value alive. If a function is annotated with this attribute, implicitly strong parameters of that function aren't implicitly retained/released in the function body, and are implicitly const. This is useful to expose for performance reasons, most functions don't need the extra safety of the retain/release, so programmers can opt out as needed. This attribute can also apply to declarations of local variables, with similar effect. Differential revision: https://reviews.llvm.org/D55865 llvm-svn: 350422
OpenPOWER on IntegriCloud