Home | History | Annotate | Download | only in Rewriter
      1 // RUN: %clang_cc1 -x objective-c++ -Wno-return-type -fms-extensions -rewrite-objc %s -o %t-modern-rw.cpp
      2 // RUN: %clang_cc1 -fsyntax-only -Wno-address-of-temporary -D"Class=void*" -D"id=void*" -D"SEL=void*" -D"__declspec(X)=" %t-modern-rw.cpp
      3 // rdar://13138459
      4 
      5 void *sel_registerName(const char *);
      6 extern void abort();
      7 
      8 @interface NSObject 
      9 + alloc;
     10 - init;
     11 @end
     12 
     13 typedef unsigned char BOOL;
     14 
     15 @interface Foo : NSObject {
     16 
     17    BOOL  _field1 : 5;
     18    BOOL  _field2    : 3;
     19 }
     20 
     21 @property BOOL field1;
     22 @property BOOL field2;
     23 @end
     24 
     25 @implementation Foo
     26 
     27 @synthesize field1 = _field1;
     28 @synthesize field2 = _field2;
     29 
     30 @end
     31 
     32 int main()
     33 {
     34   Foo *f = (Foo*)[[Foo alloc] init];
     35   f.field1 = 0xF;
     36   f.field2 = 0x3;
     37   f.field1 = f.field1 & f.field2;
     38   if (f.field1 != 0x3)
     39     abort ();
     40   return 0; 
     41 }
     42 
     43 
     44