annotate clang/test/Sema/attr-osobject.mm @ 222:81f6424ef0e3 llvm-original

LLVM original branch
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 18 Jul 2021 22:10:01 +0900
parents 1d019706d866
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
150
anatofuz
parents:
diff changeset
1 // RUN: %clang_cc1 -fsyntax-only -verify -fblocks %s
anatofuz
parents:
diff changeset
2
anatofuz
parents:
diff changeset
3 struct S {};
anatofuz
parents:
diff changeset
4
anatofuz
parents:
diff changeset
5 @interface I
anatofuz
parents:
diff changeset
6 @property (readonly) S* prop __attribute__((os_returns_retained));
anatofuz
parents:
diff changeset
7 - (S*) generateS __attribute__((os_returns_retained));
anatofuz
parents:
diff changeset
8 - (void) takeS:(S*) __attribute__((os_consumed)) s;
anatofuz
parents:
diff changeset
9 @end
anatofuz
parents:
diff changeset
10
anatofuz
parents:
diff changeset
11 typedef __attribute__((os_returns_retained)) id (^blockType)(); // expected-warning{{'os_returns_retained' attribute only applies to functions, Objective-C methods, Objective-C properties, and parameters}}
anatofuz
parents:
diff changeset
12
anatofuz
parents:
diff changeset
13 __auto_type b = ^ id (id filter) __attribute__((os_returns_retained)) { // expected-warning{{'os_returns_retained' attribute only applies to functions, Objective-C methods, Objective-C properties, and parameters}}
anatofuz
parents:
diff changeset
14 return filter;
anatofuz
parents:
diff changeset
15 };