PR c/47043
[official-gcc.git] / gcc / testsuite / objc.dg / super-dealloc-2.m
blob80dcf495062dfaa7ab080a0d79db030019be0523
1 /* Check for warnings about missing [super dealloc] calls.  */
2 /* Author: Ziemowit Laski <zlaski@apple.com>  */
4 /* { dg-do compile } */
6 @interface Foo {
7   void *isa;
9 - (void) dealloc;
10 - (void) some_other;
11 @end
13 @interface Bar: Foo {
14   void *casa;
16 - (void) dealloc0;
17 @end
19 @interface Baz: Bar {
20   void *usa;
22 - (void) dealloc;
23 @end
25 @implementation Foo
26 - (void) dealloc {
27   isa = 0;   /* Should not warn here.  */
29 - (void) some_other {
30   isa = (void *)-1;
32 @end
34 @implementation Bar
35 - (void) dealloc0 {
36   casa = 0;
37   [super some_other];  /* Should not warn here.  */
38
39 @end
41 @implementation Baz
42 - (void) dealloc {
43   usa = 0;
44   [super dealloc0]; 
45 } /* { dg-warning "method possibly missing a .super dealloc. call" } */
46 @end