diff options
| -rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/testsuite/obj-c++.dg/selector-1.mm | 26 | ||||
| -rw-r--r-- | gcc/testsuite/obj-c++.dg/selector-2.mm | 17 |
3 files changed, 48 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 4605f72..36234bb 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,10 @@ 2005-05-25 Ziemowit Laski <zlaski@apple.com> + * obj-c++.dg/selector-1.mm: New. + * obj-c++.dg/selector-2.mm: New. + +2005-05-25 Ziemowit Laski <zlaski@apple.com> + * obj-c++.dg/selector-3.mm: New. * objc.dg/selector-3.m: New. diff --git a/gcc/testsuite/obj-c++.dg/selector-1.mm b/gcc/testsuite/obj-c++.dg/selector-1.mm new file mode 100644 index 0000000..b9cc5e0 --- /dev/null +++ b/gcc/testsuite/obj-c++.dg/selector-1.mm @@ -0,0 +1,26 @@ +/* Test warning for non existing selectors. */ +/* Contributed by Devang Patel <dpatel@apple.com>. */ +/* { dg-options "-Wselector -fnext-runtime" } */ +/* { dg-do compile } */ + +typedef struct objc_object { struct objc_class *class_pointer; } *id; +typedef struct objc_selector *SEL; + +@interface Foo +- (void) foo; +- (void) bar; +@end + +@implementation Foo +- (void) bar +{ +} + +- (void) foo +{ + SEL a,b,c; + a = @selector(b1ar); /* { dg-warning "creating selector for nonexistent method .b1ar." } */ + b = @selector(bar); +} +@end + diff --git a/gcc/testsuite/obj-c++.dg/selector-2.mm b/gcc/testsuite/obj-c++.dg/selector-2.mm new file mode 100644 index 0000000..09fbc25 --- /dev/null +++ b/gcc/testsuite/obj-c++.dg/selector-2.mm @@ -0,0 +1,17 @@ +/* Test that we don't ICE when issuing a -Wselector warning. */ +/* { dg-options "-Wselector" } */ +/* { dg-do compile } */ + +#include <objc/Object.h> + +@interface Foo +@end +@implementation Foo +-(void) foo +{ + SEL a; + a = @selector(b1ar); +} +@end +/* { dg-warning "creating selector for nonexistent method .b1ar." "" { target *-*-* } 0 } */ + |
