nonnull.m revision fe6a011a113b3ddcb32f42af152d7476054e7f79
1// RUN: %clang_cc1 -analyze -analyzer-checker=core -verify %s 2 3@interface MyObject 4- (void)takePointer:(void *)ptr __attribute__((nonnull(1))); 5@end 6 7void testNonNullMethod(int *p, MyObject *obj) { 8 if (p) 9 return; 10 [obj takePointer:p]; // expected-warning{{nonnull}} 11} 12 13 14@interface Subclass : MyObject 15// [[nonnull]] is an inherited attribute. 16- (void)takePointer:(void *)ptr; 17@end 18 19void testSubclass(int *p, Subclass *obj) { 20 if (p) 21 return; 22 [obj takePointer:p]; // expected-warning{{nonnull}} 23} 24