| /* Contributed by Nicola Pero <nicola.pero@meta-innovation.com>, October 2010. */ |
| /* { dg-do compile } */ |
| /* { dg-additional-options "-Wno-objc-root-class" } */ |
| |
| #include <objc/objc.h> |
| |
| @interface MyClass |
| { |
| Class isa; |
| } |
| + (int) method; |
| - (int) method; |
| + (int) deprecatedClassMethod __attribute__((deprecated)); |
| - (int) deprecatedInstanceMethod __attribute__((deprecated)); |
| @end |
| |
| /* Test that deprecation warnings are produced, but not if the |
| receiver is of type 'id'. */ |
| void foo (void) |
| { |
| Class c; |
| id object; |
| MyClass *another_object; |
| |
| [c method]; |
| [object method]; |
| [c deprecatedClassMethod]; |
| [object deprecatedInstanceMethod]; |
| |
| [object method]; |
| [another_object method]; |
| [MyClass deprecatedClassMethod]; /* { dg-warning "is deprecated" } */ |
| [another_object deprecatedInstanceMethod]; /* { dg-warning "is deprecated" } */ |
| } |