diff options
Diffstat (limited to 'test/Analysis/ObjCProperties.m')
-rw-r--r-- | test/Analysis/ObjCProperties.m | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/test/Analysis/ObjCProperties.m b/test/Analysis/ObjCProperties.m new file mode 100644 index 0000000..7787a1d --- /dev/null +++ b/test/Analysis/ObjCProperties.m @@ -0,0 +1,25 @@ +// RUN: clang-cc -analyze -checker-simple -analyzer-store=basic -analyzer-constraints=basic %s -verify && +// RUN: clang-cc -analyze -checker-simple -analyzer-store=basic -analyzer-constraints=range %s -verify && +// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic %s -verify && +// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range %s -verify && +// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic %s -verify && +// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range %s -verify + +// The point of this test cases is to exercise properties in the static +// analyzer + +@interface MyClass { +@private + id _X; +} +- (id)initWithY:(id)Y; +@property(copy, readwrite) id X; +@end + +@implementation MyClass +@synthesize X = _X; +- (id)initWithY:(id)Y { + self.X = Y; + return self; +} +@end |