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