| /* Contributed by Nicola Pero <nicola.pero@meta-innovation.com>, November 2010. */ |
| /* { dg-do compile } */ |
| #include <objc/objc.h> |
| |
| typedef int Integer; |
| |
| @class MyClass; |
| |
| typedef MyClass AClass; |
| |
| @protocol MyProtocol |
| - (void) method; |
| @end |
| |
| Class <MyProtocol> class_object; /* This is fine. */ |
| |
| id <MyProtocol> object; /* This is fine. */ |
| |
| AClass <MyProtocol> *object1; /* This is fine. */ |
| |
| Integer <MyProtocol> *object2; /* { dg-error "'Integer' {aka 'int'} is not a template" } */ |
| /* { dg-error ".MyProtocol. was not declared in this scope" "" { target *-*-* } .-1 } */ |
| |
| Integer <NonExistingProtocol> *object3; /* { dg-error "'Integer' {aka 'int'} is not a template" } */ |
| /* { dg-error ".NonExistingProtocol. was not declared in this scope" "" { target *-*-* } .-1 } */ |