summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaObjCXX/cstyle-block-pointer-cast.mm
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2010-01-21 00:05:09 +0000
committerFariborz Jahanian <fjahanian@apple.com>2010-01-21 00:05:09 +0000
commite4951fdc4b95870b4533b0ff1e6678b52bbaf36d (patch)
tree94bf25f5cebfc4a42cf307ca0fe2b239773a87f7 /clang/test/SemaObjCXX/cstyle-block-pointer-cast.mm
parentfed36b1aa13452a7e416a0faa5a36d681fa08059 (diff)
downloadbcm5719-llvm-e4951fdc4b95870b4533b0ff1e6678b52bbaf36d.tar.gz
bcm5719-llvm-e4951fdc4b95870b4533b0ff1e6678b52bbaf36d.zip
Also allow cast of block pointer type to
pointer to an any object. Another variation of radar 7562285. llvm-svn: 94052
Diffstat (limited to 'clang/test/SemaObjCXX/cstyle-block-pointer-cast.mm')
-rw-r--r--clang/test/SemaObjCXX/cstyle-block-pointer-cast.mm19
1 files changed, 19 insertions, 0 deletions
diff --git a/clang/test/SemaObjCXX/cstyle-block-pointer-cast.mm b/clang/test/SemaObjCXX/cstyle-block-pointer-cast.mm
index 2796512ac09..72f5283dea3 100644
--- a/clang/test/SemaObjCXX/cstyle-block-pointer-cast.mm
+++ b/clang/test/SemaObjCXX/cstyle-block-pointer-cast.mm
@@ -21,3 +21,22 @@ typedef int (^blocktype)(int a, int b);
return (blocktype)c;
}
@end
+
+@interface B {
+ blocktype a;
+ blocktype b;
+ blocktype c;
+}
+- (id)Meth;
+@end
+
+@implementation B
+- (id)Meth {
+ if (a)
+ return (A*)a; // expected-error {{C-style cast from 'blocktype' (aka 'int (^)(int, int)') to 'A *' is not allowed}}
+ if (b)
+ return (id)b;
+ if (c)
+ return (Class)b;
+}
+@end
OpenPOWER on IntegriCloud