// 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

qid = (id

)cft; I

*ip = (I

*)cft; (id)x; // expected-error {{cannot convert 'X' to 'id' without a conversion operator}} id *pid = (id*)ccct; id

*qpid = (id

*)ccct; int **pii; ccct = (Class)pii; qpid = (id

*)pii; iict = (I*)pii; pii = (int **)ccct; pii = (int **)qpid; }