1/* Check for warnings about missing [super dealloc] calls. */ 2/* Author: Ziemowit Laski <zlaski@apple.com> */ 3 4/* { dg-do compile } */ 5 6@interface Foo { 7 void *isa; 8} 9- (void) dealloc; 10- (void) some_other; 11@end 12 13@interface Bar: Foo { 14 void *casa; 15} 16- (void) dealloc; 17@end 18 19@interface Baz: Bar { 20 void *usa; 21} 22- (void) dealloc; 23@end 24 25@implementation Foo 26- (void) dealloc { 27 isa = 0; /* Should not warn here. */ 28} 29- (void) some_other { 30 isa = (void *)-1; 31} 32@end 33 34@implementation Bar 35- (void) dealloc { 36 casa = 0; 37 [super some_other]; 38} /* { dg-warning "method possibly missing a .super dealloc. call" } */ 39@end 40 41@implementation Baz 42- (void) dealloc { 43 usa = 0; 44 [super dealloc]; /* Should not warn here. */ 45} 46@end 47