xref: /llvm-project/clang/test/SemaObjCXX/parameterized_classes.mm (revision e9d95f1ecc98ced831cace8b4b78cb7cc380f4aa)
1*e9d95f1eSDouglas Gregor// RUN: %clang_cc1 -std=c++11 %s -verify
2*e9d95f1eSDouglas Gregor
3*e9d95f1eSDouglas Gregor// expected-no-diagnostics
4*e9d95f1eSDouglas Gregor@protocol NSObject
5*e9d95f1eSDouglas Gregor@end
6*e9d95f1eSDouglas Gregor
7*e9d95f1eSDouglas Gregor@protocol NSCopying
8*e9d95f1eSDouglas Gregor@end
9*e9d95f1eSDouglas Gregor
10*e9d95f1eSDouglas Gregor__attribute__((objc_root_class))
11*e9d95f1eSDouglas Gregor@interface NSObject <NSObject>
12*e9d95f1eSDouglas Gregor@end
13*e9d95f1eSDouglas Gregor
14*e9d95f1eSDouglas Gregor@interface NSString : NSObject
15*e9d95f1eSDouglas Gregor@end
16*e9d95f1eSDouglas Gregor
17*e9d95f1eSDouglas Gregor// --------------------------------------------------------------------------
18*e9d95f1eSDouglas Gregor// Parsing parameterized classes.
19*e9d95f1eSDouglas Gregor// --------------------------------------------------------------------------
20*e9d95f1eSDouglas Gregor@interface PC1<T, U, V> : NSObject
21*e9d95f1eSDouglas Gregor@end
22*e9d95f1eSDouglas Gregor
23*e9d95f1eSDouglas Gregor// --------------------------------------------------------------------------
24*e9d95f1eSDouglas Gregor// Parsing type arguments.
25*e9d95f1eSDouglas Gregor// --------------------------------------------------------------------------
26*e9d95f1eSDouglas Gregortypedef PC1<::NSString *, NSString *, id<NSCopying>> typeArgs1;
27