[attributes] Add more tests for os_returns_retained
authorGeorge Karpenkov <ekarpenkov@apple.com>
Thu, 6 Dec 2018 01:21:38 +0000 (01:21 +0000)
committerGeorge Karpenkov <ekarpenkov@apple.com>
Thu, 6 Dec 2018 01:21:38 +0000 (01:21 +0000)
llvm-svn: 348443

clang/test/Sema/attr-osobject.mm

index dbd9122..adabb6d 100644 (file)
@@ -1,6 +1,4 @@
-// RUN: %clang_cc1 -fsyntax-only -verify %s
-
-// expected-no-diagnostics
+// RUN: %clang_cc1 -fsyntax-only -verify -fblocks %s
 
 struct S {};
 
@@ -9,3 +7,9 @@ struct S {};
   - (S*) generateS __attribute__((os_returns_retained));
   - (void) takeS:(S*) __attribute__((os_consumed)) s;
 @end
+
+typedef __attribute__((os_returns_retained)) id (^blockType)(); // expected-warning{{'os_returns_retained' attribute only applies to functions, Objective-C methods, and Objective-C properties}}
+
+__auto_type b = ^ id (id filter)  __attribute__((os_returns_retained))  { // expected-warning{{'os_returns_retained' attribute only applies to functions, Objective-C methods, and Objective-C properties}}
+  return filter;
+};