diff options
Diffstat (limited to 'gcc-4.8/gcc/testsuite/objc.dg/comp-types-2.m')
-rw-r--r-- | gcc-4.8/gcc/testsuite/objc.dg/comp-types-2.m | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/gcc-4.8/gcc/testsuite/objc.dg/comp-types-2.m b/gcc-4.8/gcc/testsuite/objc.dg/comp-types-2.m new file mode 100644 index 000000000..6e88df999 --- /dev/null +++ b/gcc-4.8/gcc/testsuite/objc.dg/comp-types-2.m @@ -0,0 +1,37 @@ +/* Test simple ObjC types casts. */ +/* Author: Nicola Pero <nicola@brainstorm.co.uk>. */ +/* { dg-do compile } */ +#include <objc/objc.h> + +@protocol MyProtocol +- (void) foo; +@end + +@interface MyClass +@end + +int main() +{ + id obj = nil; + id<MyProtocol> obj_p = nil; + MyClass *obj_c = nil; + Class obj_C = Nil; + + /* All these casts should generate no warnings. */ + + obj = (id)obj_p; + obj = (id)obj_c; + obj = (id)obj_C; + obj_c = (MyClass *)obj; + obj_c = (MyClass *)obj_p; + obj_c = (MyClass *)obj_C; + obj_p = (id<MyProtocol>)obj; + obj_p = (id<MyProtocol>)obj_c; + obj_p = (id<MyProtocol>)obj_C; + obj_C = (Class)obj; + obj_C = (Class)obj_p; + obj_C = (Class)obj_c; + + + return 0; +} |