]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/SemaObjCXX/cstyle-cast.mm
Update clang to r98164.
[FreeBSD/FreeBSD.git] / test / SemaObjCXX / cstyle-cast.mm
1 // RUN: %clang_cc1 -fsyntax-only -verify %s
2
3 @protocol P @end
4 @interface I @end
5
6 struct X { X(); };
7
8 void test1(X x) {
9   void *cft;
10   id oct = (id)cft;
11
12   Class ccct;
13   ccct = (Class)cft;
14
15   I* iict = (I*)cft;
16
17   id<P> qid = (id<P>)cft;
18
19   I<P> *ip = (I<P>*)cft;
20
21   (id)x; // expected-error {{C-style cast from 'X' to 'id' is not allowed}}
22
23   id *pid = (id*)ccct;
24
25   id<P> *qpid = (id<P>*)ccct;
26
27   int **pii;
28
29   ccct = (Class)pii;
30
31   qpid = (id<P>*)pii;
32
33   iict = (I*)pii;
34
35   pii = (int **)ccct;
36
37   pii = (int **)qpid;
38   
39 }
40