[clang] Implement lifetime analysis for lifetime_capture_by(X) (#115921)
[llvm-project.git] / clang / test / Parser / objc-attr.m
blobb29ddf5fbde56972822556caf6a4e4d1e931725e
1 // RUN: %clang_cc1 -fsyntax-only -triple x86_64-apple-macosx10.10.0 -verify %s
2 // expected-no-diagnostics
4 @interface NSObject
5 @end
7 [[clang::objc_exception]]
8 @interface Foo {
9   [[clang::iboutlet]] NSObject *h;
11 @property (readonly) [[clang::objc_returns_inner_pointer]] void *i, *j;
12 @property (readonly) [[clang::iboutlet]] NSObject *k;
13 @end
15 [[clang::objc_runtime_name("name")]] @protocol Bar;
17 [[clang::objc_protocol_requires_explicit_implementation]]
18 @protocol Baz
19 @end
21 @interface Quux
22 -(void)g1 [[clang::ns_consumes_self]];
23 -(void)g2 __attribute__((ns_consumes_self));
24 -(void)h1: (int)x [[clang::ns_consumes_self]];
25 -(void)h2: (int)x __attribute__((ns_consumes_self));
26 -(void) [[clang::ns_consumes_self]] i1;
27 -(void) __attribute__((ns_consumes_self)) i2;
28 @end