1/* Check that typedefs of ObjC classes preserve
2   any @protocol qualifiers.  */
3/* { dg-do compile } */
4
5#ifdef __NEXT_RUNTIME__
6#include <Foundation/NSObject.h>
7#define OBJECT NSObject
8#else
9#include <objc/Object.h>
10#define OBJECT Object
11#endif
12
13@protocol CanDoStuff;
14
15typedef OBJECT<CanDoStuff> CanDoStuffType;
16typedef OBJECT<CanDoStuff> *CanDoStuffTypePtr;
17
18@protocol CanDoStuff
19- (int) dostuff;
20@end
21
22@protocol MoreStuff
23- (int) morestuff;
24@end
25
26int main(void)
27{
28    CanDoStuffTypePtr  dice     = nil;
29    CanDoStuffType    *nodice   = nil;
30    int count;
31    count = [dice dostuff];
32    count = [nodice dostuff];
33    return 0;
34}
35
36