41 lines · plain
1// RUN: %clang_cc1 -fsyntax-only -verify %s2 3@protocol P @end4@interface I @end5 6struct X { X(); };7 8void 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 {{cannot convert 'X' to 'id' without a conversion operator}}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 41