| // RUN: %clang_cc1 -fsyntax-only -verify %s | |
| @protocol P @end | |
| @interface I @end | |
| struct X { X(); }; | |
| void test1(X x) { | |
| void *cft; | |
| id oct = (id)cft; | |
| Class ccct; | |
| ccct = (Class)cft; | |
| I* iict = (I*)cft; | |
| id<P> qid = (id<P>)cft; | |
| I<P> *ip = (I<P>*)cft; | |
| (id)x; // expected-error {{cannot convert 'X' to 'id' without a conversion operator}} | |
| id *pid = (id*)ccct; | |
| id<P> *qpid = (id<P>*)ccct; | |
| int **pii; | |
| ccct = (Class)pii; | |
| qpid = (id<P>*)pii; | |
| iict = (I*)pii; | |
| pii = (int **)ccct; | |
| pii = (int **)qpid; | |
| } | |