brintos

brintos / llvm-project-archived public Read only

0
0
Text · 537 B · 29a8404 Raw
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