Merge from mainline (163495:164578).
[official-gcc/graphite-test-results.git] / gcc / testsuite / obj-c++.dg / comp-types-13.mm
blob3a919d5d04cb6b93748e096461d6a0dae2351cbd
1 /* When assigning function pointers, allow for covariant return types
2    and contravariant argument types.  */
3 /* { dg-do compile } */
4 #include <objc/Object.h>
6 @class Derived;
8 Object *ExternFunc (Object *filePath, Object *key);
9 typedef id FuncSignature (Object *arg1, Derived *arg2);
11 @interface Derived: Object
12 + (void)registerFunc:(FuncSignature *)function;
13 @end
15 void foo(void)
17   [Derived registerFunc: ExternFunc];