From 43fd108f69a0a0da4e929372f2809e5ad273850b Mon Sep 17 00:00:00 2001 From: Stan Shebs Date: Fri, 8 Jun 2001 22:16:58 +0000 Subject: [PATCH] load-2.m: New test. * objc/execute/load-2.m: New test. From Nicola Pero . From-SVN: r43051 --- gcc/testsuite/ChangeLog | 5 ++++ gcc/testsuite/objc/execute/load-2.m | 46 +++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 gcc/testsuite/objc/execute/load-2.m diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 1bc218d387f..0ae6268cf3e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2001-06-08 Stan Shebs + + * objc/execute/load-2.m: New test. From Nicola Pero + . + 2001-06-08 Jakub Jelinek * gcc.c-torture/execute/20010605-2.c: New test. diff --git a/gcc/testsuite/objc/execute/load-2.m b/gcc/testsuite/objc/execute/load-2.m new file mode 100644 index 00000000000..eb90658367e --- /dev/null +++ b/gcc/testsuite/objc/execute/load-2.m @@ -0,0 +1,46 @@ +/* Contributed by Nicola Pero - Wed Jun 6 14:34:23 CEST 2001 */ +#include + +/* Test that +load is automatically called before main is run; + on two different classes. */ + +static int static_variable1 = 0; +static int static_variable2 = 0; + +@interface TestClass1 +{ + Class isa; +} ++ (void) load; +@end + +@implementation TestClass1 ++ (void) load +{ + static_variable1 = 1; +} +@end + +@interface TestClass2 +{ + Class isa; +} ++ (void) load; +@end + +@implementation TestClass2 ++ (void) load +{ + static_variable2 = 1; +} +@end + +int main (void) +{ + if (static_variable1 != 1 || static_variable2 != 1) + { + abort (); + } + + return 0; +}