brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.9 KiB · dbd28d1 Raw
125 lines · plain
1// RUN: %clang_cc1 -x objective-c++ -Wno-return-type -fblocks -fms-extensions -rewrite-objc %s -o %t-rw.cpp2// RUN: %clang_cc1 -fsyntax-only -Werror -Wno-address-of-temporary -D"Class=void*" -D"id=void*" -D"SEL=void*" -U__declspec -D"__declspec(X)=" %t-rw.cpp3 4@interface NSCheapMutableString {5@private6    struct S s0;7    union {8        char *fat;9        unsigned char *thin;10    } contents;11 12    struct {13        unsigned int isFat:1;14        unsigned int freeWhenDone:1;15        unsigned int refs:30;16    } flags;17 18    struct S {19        int iS1;20        double dS1;21    } others;22 23    union U {24      int iU1;25      double dU1;26    } u_others;27 28   enum {29    One, Two30   } E1;31 32   enum e {33    Yes = 1,34    No = 035   } BoOl;36 37   struct S s1;38 39   enum e E2;40 41    union {42        char *fat;43        unsigned char *thin;44    } Last_contents;45 46    struct {47        unsigned int isFat:1;48        unsigned int freeWhenDone:1;49        unsigned int refs:30;50    } Last_flags;51}52@end53 54@interface III {55@private56    struct S s0;57 58    union {59        char *fat;60        unsigned char *thin;61    } contents;62 63    struct {64        unsigned int isFat:1;65        unsigned int freeWhenDone:1;66        unsigned int refs:30;67    } flags;68 69   enum {70    One1 = 1000, Two1, Three171   } E1;72 73   struct S s1;74 75   enum e E2;76 77    union {78        char *fat;79        unsigned char *thin;80    } Last_contents;81 82    struct {83        unsigned int isFat:1;84        unsigned int freeWhenDone:1;85        unsigned int refs:30;86    } Last_flags;87}88@end89 90enum OUTSIDE {91  yes92};93 94@interface MoreEnumTests {95@private96    enum INSIDE {97        no98    } others;99 100    enum OUTSIDE meetoo;101 102    enum {103       one,104       two105    } eu;106}107@end108 109@interface I {110    enum INSIDE I1;111    enum OUTSIDE  I2;112    enum ALSO_INSIDE {113      maybe114    } I3;115 116   enum ALSO_INSIDE I4;117 118    enum {119       three,120       four121    } I5;122}123@end124 125