aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/obj-c++.dg/invalid-type-1.mm
blob: ace144f0b2b10275e4eed6fd620f2c647fbfa663 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/* 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 *-*-* } 21 } */

Integer <NonExistingProtocol> *object3; /* { dg-error ".Integer {aka int}. is not a template" } */
/* { dg-error ".NonExistingProtocol. was not declared in this scope" "" { target *-*-* } 24 } */