view gcc/testsuite/obj-c++.dg/invalid-type-1.mm @ 118:fd00160c1b76

ifdef TARGET_64BIT
author mir3636
date Tue, 27 Feb 2018 15:01:35 +0900
parents 04ced10e8804
children 84e7813d76e9
line wrap: on
line source

/* 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 } */