// RUN: %clang_cc1 -x objective-c++ -Wno-return-type -fblocks -fms-extensions -rewrite-objc %s -o %t-rw.cpp | |
// 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.cpp | |
@interface NSCheapMutableString { | |
@private | |
struct S s0; | |
union { | |
char *fat; | |
unsigned char *thin; | |
} contents; | |
struct { | |
unsigned int isFat:1; | |
unsigned int freeWhenDone:1; | |
unsigned int refs:30; | |
} flags; | |
struct S { | |
int iS1; | |
double dS1; | |
} others; | |
union U { | |
int iU1; | |
double dU1; | |
} u_others; | |
enum { | |
One, Two | |
} E1; | |
enum e { | |
Yes = 1, | |
No = 0 | |
} BoOl; | |
struct S s1; | |
enum e E2; | |
union { | |
char *fat; | |
unsigned char *thin; | |
} Last_contents; | |
struct { | |
unsigned int isFat:1; | |
unsigned int freeWhenDone:1; | |
unsigned int refs:30; | |
} Last_flags; | |
} | |
@end | |
@interface III { | |
@private | |
struct S s0; | |
union { | |
char *fat; | |
unsigned char *thin; | |
} contents; | |
struct { | |
unsigned int isFat:1; | |
unsigned int freeWhenDone:1; | |
unsigned int refs:30; | |
} flags; | |
enum { | |
One1 = 1000, Two1, Three1 | |
} E1; | |
struct S s1; | |
enum e E2; | |
union { | |
char *fat; | |
unsigned char *thin; | |
} Last_contents; | |
struct { | |
unsigned int isFat:1; | |
unsigned int freeWhenDone:1; | |
unsigned int refs:30; | |
} Last_flags; | |
} | |
@end | |
enum OUTSIDE { | |
yes | |
}; | |
@interface MoreEnumTests { | |
@private | |
enum INSIDE { | |
no | |
} others; | |
enum OUTSIDE meetoo; | |
enum { | |
one, | |
two | |
} eu; | |
} | |
@end | |
@interface I { | |
enum INSIDE I1; | |
enum OUTSIDE I2; | |
enum ALSO_INSIDE { | |
maybe | |
} I3; | |
enum ALSO_INSIDE I4; | |
enum { | |
three, | |
four | |
} I5; | |
} | |
@end | |