blob: a9a9a367fb9f49949315932541f4b92690eefb2c [file] [log] [blame]
// RUN: %clang_analyze_cc1 -analyzer-checker=alpha.webkit.NoUncheckedPtrMemberChecker -verify %s
#include "mock-types.h"
__attribute__((objc_root_class))
@interface NSObject
+ (instancetype) alloc;
- (instancetype) init;
- (instancetype)retain;
- (void)release;
@end
void doSomeWork();
@interface SomeObjC : NSObject {
CheckedObj* _unchecked1;
// expected-warning@-1{{Instance variable '_unchecked1' in 'SomeObjC' is a raw pointer to CheckedPtr capable type 'CheckedObj'}}
CheckedPtr<CheckedObj> _counted1;
[[clang::suppress]] CheckedObj* _unchecked2;
}
- (void)doWork;
@end
@implementation SomeObjC {
CheckedObj* _unchecked3;
// expected-warning@-1{{Instance variable '_unchecked3' in 'SomeObjC' is a raw pointer to CheckedPtr capable type 'CheckedObj'}}
CheckedPtr<CheckedObj> _counted2;
[[clang::suppress]] CheckedObj* _unchecked4;
}
- (void)doWork {
doSomeWork();
}
@end