blob: cb2b26a4f70fa84506c188857d4fd6cd12b6a2b9 [file] [log] [blame]
Fariborz Jahaniana8f8dac2010-07-19 22:02:22 +00001// RUN: %clang_cc1 -fsyntax-only -verify %s
2// rdar:// 8191774
3
4@protocol SomeProtocol
5@end
6
7@protocol SomeProtocol1
8@end
9
10@interface SomeObject <SomeProtocol>
11@end
12
13int main () {
14 Class <SomeProtocol> classA;
15 Class <SomeProtocol> classB;
16 Class <SomeProtocol, SomeProtocol1> classC;
17 Class <SomeProtocol1> classD;
18 void * pv = 0;
19 Class c = (Class)0;;
20 if (pv)
21 return classA == pv;
22
23 if (c)
24 return classA == c;
25
26 return classA == classB || classA == classC ||
27 classC == classA ||
28 classA == classD; // expected-warning {{comparison of distinct pointer types ('Class<SomeProtocol> *' and 'Class<SomeProtocol1> *')}}
29}
30