aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorZiemowit Laski <zlaski@apple.com>2005-05-26 00:51:53 +0000
committerZiemowit Laski <zlaski@gcc.gnu.org>2005-05-26 00:51:53 +0000
commitd1c8c8273fdf282f5d7a46ccc01cef0da8133596 (patch)
tree2e6f4cf826303486990d989ca4e9ae80e54f5edf /gcc
parent4f490b3e8869c9752976507c2940546554e2fbe7 (diff)
downloadgcc-d1c8c8273fdf282f5d7a46ccc01cef0da8133596.zip
gcc-d1c8c8273fdf282f5d7a46ccc01cef0da8133596.tar.gz
gcc-d1c8c8273fdf282f5d7a46ccc01cef0da8133596.tar.bz2
selector-1.mm: New.
[gcc/testsuite/ChangeLog] 2005-05-25 Ziemowit Laski <zlaski@apple.com> * obj-c++.dg/selector-1.mm: New. * obj-c++.dg/selector-2.mm: New. From-SVN: r100179
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/obj-c++.dg/selector-1.mm26
-rw-r--r--gcc/testsuite/obj-c++.dg/selector-2.mm17
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 } */
+