summaryrefslogtreecommitdiffstats
path: root/lib/Sema/AttributeList.cpp
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2011-09-29 07:17:38 +0000
committerJohn McCall <rjmccall@apple.com>2011-09-29 07:17:38 +0000
commitfe98da0fa352462c02db037360788748f95466f7 (patch)
tree311155134871e085a669ab7470d736c4bacf655a /lib/Sema/AttributeList.cpp
parent2f041d0b12aa87f3345e5fb2e38fefba30c5bff3 (diff)
Add an ns_bridged attribute, used to specify that a
pointer to the annotated struct type can be used as an Objective-C object pointer. If an argument is given, the type is actually "toll-free bridged" to the specific type named there, rather than just to 'id'. For now, we cannot rely on all types being so annotated, and we'll always have to have exceptions for things like CFTypeRef (aka const void*), but this is clearly a good foundation for improving toolage in this area. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140779 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/AttributeList.cpp')
-rw-r--r--lib/Sema/AttributeList.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/Sema/AttributeList.cpp b/lib/Sema/AttributeList.cpp
index d9f17b42da..5cd21a645d 100644
--- a/lib/Sema/AttributeList.cpp
+++ b/lib/Sema/AttributeList.cpp
@@ -171,6 +171,7 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo *Name) {
.Case("analyzer_noreturn", AT_analyzer_noreturn)
.Case("warn_unused_result", AT_warn_unused_result)
.Case("carries_dependency", AT_carries_dependency)
+ .Case("ns_bridged", AT_ns_bridged)
.Case("ns_consumed", AT_ns_consumed)
.Case("ns_consumes_self", AT_ns_consumes_self)
.Case("ns_returns_autoreleased", AT_ns_returns_autoreleased)