]> gcc.gnu.org Git - gcc.git/commitdiff
load-2.m: New test.
authorStan Shebs <shebs@apple.com>
Fri, 8 Jun 2001 22:16:58 +0000 (22:16 +0000)
committerStan Shebs <shebs@gcc.gnu.org>
Fri, 8 Jun 2001 22:16:58 +0000 (22:16 +0000)
        * objc/execute/load-2.m: New test.  From Nicola Pero
        <n.pero@mi.flashnet.it>.

From-SVN: r43051

gcc/testsuite/ChangeLog
gcc/testsuite/objc/execute/load-2.m [new file with mode: 0644]

index 1bc218d387f1916f7b67039e401290f742dc3412..0ae6268cf3eca9a4a1c1a7b71e9dbca060320612 100644 (file)
@@ -1,3 +1,8 @@
+2001-06-08  Stan Shebs  <shebs@apple.com>
+
+       * objc/execute/load-2.m: New test.  From Nicola Pero
+       <n.pero@mi.flashnet.it>.
+       
 2001-06-08  Jakub Jelinek  <jakub@redhat.com>
 
        * 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 (file)
index 0000000..eb90658
--- /dev/null
@@ -0,0 +1,46 @@
+/* Contributed by Nicola Pero - Wed Jun  6 14:34:23 CEST 2001 */
+#include <objc/objc.h>
+
+/* 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;
+}
This page took 0.106674 seconds and 5 git commands to generate.