| /* APPLE LOCAL file radar 6264448 */ |
| /* Test that property of enum types don't cause error |
| when setter call is generated. */ |
| /* { dg-do run { target *-*-darwin* } } */ |
| /* { dg-options "-framework Foundation -Werror" } */ |
| |
| #import <Foundation/Foundation.h> |
| |
| enum TimeType { |
| TimeTypeZero = 0, |
| TimeTypeOne = 1, |
| TimeTypeTwo = 2 |
| }; |
| |
| typedef enum TimeType TimeType; |
| |
| |
| @interface A : NSObject { |
| TimeType tt; |
| } |
| |
| @property (nonatomic) TimeType tt; |
| |
| @end |
| |
| @interface B : NSObject { |
| TimeType tt; |
| } |
| |
| @property (nonatomic) TimeType tt; |
| |
| @end |
| |
| @implementation A |
| |
| @synthesize tt; |
| |
| @end |
| |
| @implementation B |
| |
| @synthesize tt; |
| |
| @end |
| |
| int main (int argc, const char * argv[]) { |
| NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; |
| |
| A* a = [[A alloc] init]; |
| B* b = [[B alloc] init]; |
| |
| a.tt = TimeTypeOne; |
| // failure here: |
| b.tt = a.tt; |
| |
| b.tt = [a tt]; |
| |
| [b setTt: [a tt]]; |
| |
| [pool drain]; |
| return 0; |
| } |