]> granicus.if.org Git - clang/commitdiff
More tests for // rdar://17259812
authorFariborz Jahanian <fjahanian@apple.com>
Thu, 12 Jun 2014 16:55:43 +0000 (16:55 +0000)
committerFariborz Jahanian <fjahanian@apple.com>
Thu, 12 Jun 2014 16:55:43 +0000 (16:55 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210798 91177308-0d34-0410-b5e6-96231b3b80d8

test/SemaCXX/ns_returns_retained_block_return.cpp [new file with mode: 0644]
test/SemaObjC/ns_returns_retained_block_return.m

diff --git a/test/SemaCXX/ns_returns_retained_block_return.cpp b/test/SemaCXX/ns_returns_retained_block_return.cpp
new file mode 100644 (file)
index 0000000..9d04536
--- /dev/null
@@ -0,0 +1,17 @@
+// RUN: %clang_cc1 -fblocks -fsyntax-only -verify %s
+// RUN: %clang_cc1 -fblocks -fobjc-arc -fsyntax-only -verify %s
+// expected-no-diagnostics
+// rdar://17259812
+
+typedef void (^BT) ();
+
+class S {
+  BT br() __attribute__((ns_returns_retained)) {
+    return ^{};
+  }
+ BT br1() __attribute__((ns_returns_retained));
+};
+
+BT S::br1() {
+    return ^{};
+}
index b7ce429ffb0e3713886937a844d4c18771ef1f32..e5a96ca8af1850e3998404fff1f7652869e7604a 100644 (file)
@@ -11,8 +11,12 @@ BT foo()  __attribute__((ns_returns_retained));
 
 @interface I
 BT foo()  __attribute__((ns_returns_retained));
+- (BT) Meth __attribute__((ns_returns_retained));
++ (BT) ClsMeth __attribute__((ns_returns_retained));
 @end
 
 @implementation I
 BT foo()  __attribute__((ns_returns_retained)) {return ^{}; }
+- (BT) Meth {return ^{}; }
++ (BT) ClsMeth {return ^{}; }
 @end