OSDN Git Service

New objc.dg test for new -Wundeclared-selector ObjC option
authornicola <nicola@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 27 Aug 2002 22:03:30 +0000 (22:03 +0000)
committernicola <nicola@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 27 Aug 2002 22:03:30 +0000 (22:03 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@56616 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/ChangeLog
gcc/testsuite/objc.dg/undeclared-selector.m [new file with mode: 0644]

index 17cadbf..1e3a262 100644 (file)
@@ -1,3 +1,7 @@
+Tue Aug 27 22:23:22 2002  Nicola Pero  <n.pero@mi.flashnet.it>
+
+       * objc.dg/undeclared-selector.m: New test.
+
 2002-08-27  Nathan Sidwell  <nathan@codesourcery.com>
 
        * g++.dg/other/offsetof1.C: Avoid cast warning.
diff --git a/gcc/testsuite/objc.dg/undeclared-selector.m b/gcc/testsuite/objc.dg/undeclared-selector.m
new file mode 100644 (file)
index 0000000..1cfc6c8
--- /dev/null
@@ -0,0 +1,48 @@
+/* Test for -Wundeclared-selector.  */
+/* Author: Nicola Pero <nicola@brainstorm.co.uk>.  */
+/* { dg-do compile } */
+/* { dg-options "-Wundeclared-selector" } */
+
+#include <objc/objc.h>
+
+@interface MyClass
+
++ (void) methodA;
+- (void) methodB;
++ (void) methodD;
+- (void) methodF;
+
+@end
+
+@implementation MyClass
+
++ (void) methodA {}
+- (void) methodB {}
++ (void) methodD
+{
+  SEL d = @selector(methodD); /* Ok */
+  SEL e = @selector(methodE); /* { dg-warning "undeclared selector" } */
+}
+
+- (void) methodE
+{
+  SEL e = @selector(methodE); /* Ok */
+}
+
+- (void) methodF
+{
+  SEL e = @selector(methodE); /* Ok */
+}
+
+@end
+
+int main (void)
+{
+  SEL a = @selector(methodA); /* Ok */
+  SEL b = @selector(methodB); /* Ok */
+  SEL c = @selector(methodC); /* { dg-warning "undeclared selector" } */
+  SEL d = @selector(methodD); /* Ok */
+  SEL e = @selector(methodE); /* Ok */
+  return 0;
+  
+}