41 lines
537 B
Text
41 lines
537 B
Text
|
// 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;
|
||
|
|
||
|
}
|
||
|
|