diff options
author | John McCall <rjmccall@apple.com> | 2011-03-02 11:33:24 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2011-03-02 11:33:24 +0000 |
commit | d5313b0bbf3948fe7c63bf46a7da330c96d07309 (patch) | |
tree | 3c709dabee53f0861530d2da0a7a91ab0a8918d6 /lib/Sema/AttributeList.cpp | |
parent | 0ae927bdef0d0bd2838e8274938fac8aaa9035ee (diff) |
Provide an attribute, objc_method_family, to allow the inferred family
of an Objective-C method to be overridden on a case-by-case basis. This
is a higher-level tool than ns_returns_retained &c.; it lets users specify
that not only does a method have different retain/release semantics, but
that it semantically acts differently than one might assume from its name.
This in turn is quite useful to static analysis.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126839 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/AttributeList.cpp')
-rw-r--r-- | lib/Sema/AttributeList.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/Sema/AttributeList.cpp b/lib/Sema/AttributeList.cpp index c0a305365a..1663fd58a9 100644 --- a/lib/Sema/AttributeList.cpp +++ b/lib/Sema/AttributeList.cpp @@ -98,6 +98,7 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo *Name) { .Case("returns_twice", IgnoredAttribute) .Case("vec_type_hint", IgnoredAttribute) .Case("objc_exception", AT_objc_exception) + .Case("objc_method_family", AT_objc_method_family) .Case("ext_vector_type", AT_ext_vector_type) .Case("neon_vector_type", AT_neon_vector_type) .Case("neon_polyvector_type", AT_neon_polyvector_type) |