llvm-for-llvmta/tools/clang/test/Parser/objc-attr.m

29 lines
831 B
Objective-C

// RUN: %clang_cc1 -fsyntax-only -fdouble-square-bracket-attributes -triple x86_64-apple-macosx10.10.0 -verify %s
// expected-no-diagnostics
@interface NSObject
@end
[[clang::objc_exception]]
@interface Foo {
[[clang::iboutlet]] NSObject *h;
}
@property (readonly) [[clang::objc_returns_inner_pointer]] void *i, *j;
@property (readonly) [[clang::iboutlet]] NSObject *k;
@end
[[clang::objc_runtime_name("name")]] @protocol Bar;
[[clang::objc_protocol_requires_explicit_implementation]]
@protocol Baz
@end
@interface Quux
-(void)g1 [[clang::ns_consumes_self]];
-(void)g2 __attribute__((ns_consumes_self));
-(void)h1: (int)x [[clang::ns_consumes_self]];
-(void)h2: (int)x __attribute__((ns_consumes_self));
-(void) [[clang::ns_consumes_self]] i1;
-(void) __attribute__((ns_consumes_self)) i2;
@end