]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
New objc.dg test for new -Wundeclared-selector ObjC option
authorNicola Pero <n.pero@mi.flashnet.it>
Tue, 27 Aug 2002 22:03:30 +0000 (00:03 +0200)
committerNicola Pero <nicola@gcc.gnu.org>
Tue, 27 Aug 2002 22:03:30 +0000 (22:03 +0000)
From-SVN: r56616

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

index 17cadbfb00946c9f1b4f3b764e64a7a54cba83c9..1e3a26295b3e1ef8602650d604c0c09c6f5de4fc 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;
+  
+}