]> granicus.if.org Git - clang/commit
Add an ns_bridged attribute, used to specify that a
authorJohn McCall <rjmccall@apple.com>
Thu, 29 Sep 2011 07:17:38 +0000 (07:17 +0000)
committerJohn McCall <rjmccall@apple.com>
Thu, 29 Sep 2011 07:17:38 +0000 (07:17 +0000)
commitfe98da0fa352462c02db037360788748f95466f7
tree311155134871e085a669ab7470d736c4bacf655a
parent2f041d0b12aa87f3345e5fb2e38fefba30c5bff3
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
include/clang/Basic/Attr.td
include/clang/Basic/DiagnosticSemaKinds.td
include/clang/Sema/AttributeList.h
lib/Sema/AttributeList.cpp
lib/Sema/SemaDeclAttr.cpp
test/SemaObjC/attr-ns-bridged.m [new file with mode: 0644]