From 64f3ecb1b3c8696804cba4404d6b93f4b28f73ba Mon Sep 17 00:00:00 2001 From: Nicola Pero Date: Tue, 3 Sep 2002 12:27:36 +0200 Subject: [PATCH] New testcase From-SVN: r56752 --- gcc/testsuite/ChangeLog | 4 ++ gcc/testsuite/objc/execute/nil_method-1.m | 61 +++++++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 gcc/testsuite/objc/execute/nil_method-1.m diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 78f4a950e97..78dc124af14 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +Tue Sep 3 11:04:26 2002 Nicola Pero + + * objc/execute/nil_method-1.m: New testcase. + Sun Sep 1 12:47:39 2002 Nicola Pero * objc/execute/class-tests-1.h (test_class_with_superclass): Call diff --git a/gcc/testsuite/objc/execute/nil_method-1.m b/gcc/testsuite/objc/execute/nil_method-1.m new file mode 100644 index 00000000000..137d2072e44 --- /dev/null +++ b/gcc/testsuite/objc/execute/nil_method-1.m @@ -0,0 +1,61 @@ +/* Contributed by Nicola Pero - Fri Aug 30 12:55:37 2002 */ +#include +#include + +/* Test that calling a method of a nil object results in + nothing to happen (but not a crash), and nil to be + returned. */ + +@interface TestClass : Object + +- (void) testVoid; +- (id) testId; + +- (void) testVoidWithA: (int)a; +- (id) testIdWithA: (id)a; + +- (void) testVoidWithA: (int)a andB: (int)b; +- (id) testIdWithA: (id)g andB: (id)b; + +- (void) voidSum: (int)firstNumber, ...; +- (id) sum: (int)firstNumber, ...; + +@end + +int main (void) +{ + TestClass *t = nil; + + [t testVoid]; + + if ([t testId] != nil) + { + abort (); + } + + [t testVoidWithA: 234]; + + if ([t testIdWithA: t] != nil) + { + abort (); + } + + [t testVoidWithA: 12004 andB: -123]; + + if ([t testIdWithA: t andB: nil] != nil) + { + abort (); + } + + + [t voidSum: 1, -2, 3, -4, 5, -6, 7, -8, 9, -10, + 11, -12, 13, -14, 15, -16, 17, -18, 19, -20]; + + if ([t sum: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] != nil) + { + abort (); + } + + return 0; +} -- 2.30.2