aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIain Sandoe <iains@gcc.gnu.org>2010-11-04 18:19:54 +0000
committerIain Sandoe <iains@gcc.gnu.org>2010-11-04 18:19:54 +0000
commit5b4db3f50e13fa36c4b97416436b77d7727340ab (patch)
tree3229c40f94991fda97dc3aec9982a8c1915c447f
parent2e239f9d203baf1378cdaee7dc1ef60bfba997da (diff)
downloadgcc-5b4db3f50e13fa36c4b97416436b77d7727340ab.zip
gcc-5b4db3f50e13fa36c4b97416436b77d7727340ab.tar.gz
gcc-5b4db3f50e13fa36c4b97416436b77d7727340ab.tar.bz2
next-mapping.h: Ensure a GNU-compatible nil is defined.
* objc-obj-c++-shared/next-mapping.h: Ensure a GNU-compatible nil is defined. * objc.dg/property/fsf-property-basic.m: XFAIL m64 NeXT run. * objc.dg/property/fsf-property-named-ivar.m: Likewise. * objc.dg/property/property-1.m: Likewise. * objc.dg/property/at-property-6.m: Likewise. * objc.dg/property/at-property-7.m: Likewise. * objc.dg/property/dotsyntax-1.m: Likewise. * objc.dg/property/at-property-8.m: Likewise. * objc.dg/property/dotsyntax-2.m: Likewise. * objc.dg/property/at-property-9.m: Likewise. * objc.dg/property/synthesize-2.m: Likewise. * objc.dg/property/at-property-10.m: Likewise. * objc.dg/property/at-property-11.m: Likewise. * objc.dg/property/at-property-12.m: Likewise. * objc.dg/property/at-property-13.m: Likewise. * objc.dg/property/fsf-property-method-access.m: Likewise. * objc.dg/torture/strings/const-cfstring-1.m: Cater for bogus Darwin10 linker warning. * objc.dg/encode-7-next.m: Use next-mapping.h, ignore deprecation warnings. * objc.dg/encode-7-next-64bit.m: Use next-mapping.h, ignore deprecation warnings. Use Object1 implemenation. * objc.dg/demangle-1.m: Provide +initialize. XFAIL m64 NeXT run. * objc/execute/forward-1.m: Move to objc.dg/torture and reduce scope to m32 NeXT. * objc/execute/forward-1.x: Remove. From-SVN: r166321
-rw-r--r--gcc/testsuite/ChangeLog30
-rw-r--r--gcc/testsuite/objc-obj-c++-shared/next-mapping.h4
-rw-r--r--gcc/testsuite/objc.dg/demangle-1.m7
-rw-r--r--gcc/testsuite/objc.dg/encode-7-next-64bit.m5
-rw-r--r--gcc/testsuite/objc.dg/encode-7-next.m2
-rw-r--r--gcc/testsuite/objc.dg/property/at-property-10.m1
-rw-r--r--gcc/testsuite/objc.dg/property/at-property-11.m1
-rw-r--r--gcc/testsuite/objc.dg/property/at-property-12.m1
-rw-r--r--gcc/testsuite/objc.dg/property/at-property-13.m1
-rw-r--r--gcc/testsuite/objc.dg/property/at-property-6.m1
-rw-r--r--gcc/testsuite/objc.dg/property/at-property-7.m1
-rw-r--r--gcc/testsuite/objc.dg/property/at-property-8.m1
-rw-r--r--gcc/testsuite/objc.dg/property/at-property-9.m1
-rw-r--r--gcc/testsuite/objc.dg/property/dotsyntax-1.m1
-rw-r--r--gcc/testsuite/objc.dg/property/dotsyntax-2.m1
-rw-r--r--gcc/testsuite/objc.dg/property/fsf-property-basic.m1
-rw-r--r--gcc/testsuite/objc.dg/property/fsf-property-method-access.m1
-rw-r--r--gcc/testsuite/objc.dg/property/fsf-property-named-ivar.m1
-rw-r--r--gcc/testsuite/objc.dg/property/property-1.m1
-rw-r--r--gcc/testsuite/objc.dg/property/property-2.m65
-rw-r--r--gcc/testsuite/objc.dg/property/property-3.m75
-rw-r--r--gcc/testsuite/objc.dg/property/synthesize-2.m1
-rw-r--r--gcc/testsuite/objc.dg/torture/strings/const-cfstring-1.m3
-rw-r--r--gcc/testsuite/objc/execute/forward-1.m80
-rw-r--r--gcc/testsuite/objc/execute/forward-1.x36
25 files changed, 65 insertions, 257 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 89a0535..fa4ea1d 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,33 @@
+2010-11-04 Iain Sandoe <iains@gcc.gnu.org>
+
+ * objc-obj-c++-shared/next-mapping.h: Ensure a GNU-compatible nil is
+ defined.
+ * objc.dg/property/fsf-property-basic.m: XFAIL m64 NeXT run.
+ * objc.dg/property/fsf-property-named-ivar.m: Likewise.
+ * objc.dg/property/property-1.m: Likewise.
+ * objc.dg/property/at-property-6.m: Likewise.
+ * objc.dg/property/at-property-7.m: Likewise.
+ * objc.dg/property/dotsyntax-1.m: Likewise.
+ * objc.dg/property/at-property-8.m: Likewise.
+ * objc.dg/property/dotsyntax-2.m: Likewise.
+ * objc.dg/property/at-property-9.m: Likewise.
+ * objc.dg/property/synthesize-2.m: Likewise.
+ * objc.dg/property/at-property-10.m: Likewise.
+ * objc.dg/property/at-property-11.m: Likewise.
+ * objc.dg/property/at-property-12.m: Likewise.
+ * objc.dg/property/at-property-13.m: Likewise.
+ * objc.dg/property/fsf-property-method-access.m: Likewise.
+ * objc.dg/torture/strings/const-cfstring-1.m: Cater for bogus Darwin10
+ linker warning.
+ * objc.dg/encode-7-next.m: Use next-mapping.h, ignore deprecation
+ warnings.
+ * objc.dg/encode-7-next-64bit.m: Use next-mapping.h, ignore
+ deprecation warnings. Use Object1 implemenation.
+ * objc.dg/demangle-1.m: Provide +initialize. XFAIL m64 NeXT run.
+ * objc/execute/forward-1.m: Move to objc.dg/torture and reduce scope
+ to m32 NeXT.
+ * objc/execute/forward-1.x: Remove.
+
2010-11-04 Jason Merrill <jason@redhat.com>
* g++.dg/cpp0x/constexpr-access.C: New.
diff --git a/gcc/testsuite/objc-obj-c++-shared/next-mapping.h b/gcc/testsuite/objc-obj-c++-shared/next-mapping.h
index b52b6a7..e5e2d22 100644
--- a/gcc/testsuite/objc-obj-c++-shared/next-mapping.h
+++ b/gcc/testsuite/objc-obj-c++-shared/next-mapping.h
@@ -19,6 +19,10 @@
#include <stdlib.h>
#include <string.h>
+/* Force a definition of nil that is compatible with GNU runtime. */
+#undef nil
+#define nil ((id)0)
+
#define objc_get_class(C) objc_getClass(C)
#define objc_get_meta_class(C) objc_getMetaClass(C)
#define class_get_class_method(C, S) class_getClassMethod(C, S)
diff --git a/gcc/testsuite/objc.dg/demangle-1.m b/gcc/testsuite/objc.dg/demangle-1.m
index 0cee76b..f790c56 100644
--- a/gcc/testsuite/objc.dg/demangle-1.m
+++ b/gcc/testsuite/objc.dg/demangle-1.m
@@ -1,5 +1,6 @@
/* Test demangling an Objective-C method. */
/* { dg-do run } */
+/* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
#include <string.h>
#include <stdlib.h>
@@ -14,6 +15,9 @@
+ (int) testFunction1;
+ (int) test_function2;
+ (int) __testFunction3: (int)unused andArgument: (char)unused2;
+#ifdef __NEXT_RUNTIME__
++ (id) initialize ;
+#endif
@end
@implementation DemangleTest
@@ -37,6 +41,9 @@
printf ("%s\n", __PRETTY_FUNCTION__);
return strcmp (__PRETTY_FUNCTION__, "+[DemangleTest __testFunction3:andArgument:]");
}
+#ifdef __NEXT_RUNTIME__
++ (id) initialize { return self; }
+#endif
@end
int main ()
diff --git a/gcc/testsuite/objc.dg/encode-7-next-64bit.m b/gcc/testsuite/objc.dg/encode-7-next-64bit.m
index bda3da8..3a5e61d 100644
--- a/gcc/testsuite/objc.dg/encode-7-next-64bit.m
+++ b/gcc/testsuite/objc.dg/encode-7-next-64bit.m
@@ -2,10 +2,13 @@
/* { dg-do run { target *-*-darwin* } } */
/* { dg-require-effective-target lp64 } */
+/* { dg-options "-Wno-deprecated-declarations" } */
/* { dg-skip-if "" { *-*-* } { "-fgnu-runtime" } { "" } } */
/* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
+/* { dg-additional-sources "../objc-obj-c++-shared/Object1.m" } */
-#include <objc/Object.h>
+#include "../objc-obj-c++-shared/Object1.h"
+#include "../objc-obj-c++-shared/next-mapping.h"
#include <stdbool.h>
#include <string.h>
#include <stdlib.h>
diff --git a/gcc/testsuite/objc.dg/encode-7-next.m b/gcc/testsuite/objc.dg/encode-7-next.m
index 70cd4b8..2768e11 100644
--- a/gcc/testsuite/objc.dg/encode-7-next.m
+++ b/gcc/testsuite/objc.dg/encode-7-next.m
@@ -3,9 +3,11 @@
/* { dg-do run { target *-*-darwin* } } */
/* { dg-require-effective-target ilp32 } */
+/* { dg-options "-Wno-deprecated-declarations" } */
/* { dg-skip-if "" { *-*-* } { "-fgnu-runtime" } { "" } } */
#include "../objc-obj-c++-shared/Object1.h"
+#include "../objc-obj-c++-shared/next-mapping.h"
#include <stdbool.h>
#include <string.h>
#include <stdlib.h>
diff --git a/gcc/testsuite/objc.dg/property/at-property-10.m b/gcc/testsuite/objc.dg/property/at-property-10.m
index 1a7a043..945ada5 100644
--- a/gcc/testsuite/objc.dg/property/at-property-10.m
+++ b/gcc/testsuite/objc.dg/property/at-property-10.m
@@ -1,5 +1,6 @@
/* Contributed by Nicola Pero <nicola.pero@meta-innovation.com>, October 2010. */
/* { dg-do run } */
+/* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
/* Test the property syntax in a number of expressions. */
diff --git a/gcc/testsuite/objc.dg/property/at-property-11.m b/gcc/testsuite/objc.dg/property/at-property-11.m
index 2526a9c..33baee9 100644
--- a/gcc/testsuite/objc.dg/property/at-property-11.m
+++ b/gcc/testsuite/objc.dg/property/at-property-11.m
@@ -1,5 +1,6 @@
/* Contributed by Nicola Pero <nicola.pero@meta-innovation.com>, October 2010. */
/* { dg-do run } */
+/* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
/* Test that properties are found even if implemented in superclasses. */
diff --git a/gcc/testsuite/objc.dg/property/at-property-12.m b/gcc/testsuite/objc.dg/property/at-property-12.m
index e96b198..e36f57a 100644
--- a/gcc/testsuite/objc.dg/property/at-property-12.m
+++ b/gcc/testsuite/objc.dg/property/at-property-12.m
@@ -1,5 +1,6 @@
/* Contributed by Nicola Pero <nicola.pero@meta-innovation.com>, October 2010. */
/* { dg-do run } */
+/* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
/* Test atomic, assign synthesized methods. */
diff --git a/gcc/testsuite/objc.dg/property/at-property-13.m b/gcc/testsuite/objc.dg/property/at-property-13.m
index dfdb02f..89bf748 100644
--- a/gcc/testsuite/objc.dg/property/at-property-13.m
+++ b/gcc/testsuite/objc.dg/property/at-property-13.m
@@ -1,5 +1,6 @@
/* Contributed by Nicola Pero <nicola.pero@meta-innovation.com>, October 2010. */
/* { dg-do run } */
+/* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
/* Test retain and copy synthesized methods. */
diff --git a/gcc/testsuite/objc.dg/property/at-property-6.m b/gcc/testsuite/objc.dg/property/at-property-6.m
index 079995c..b3584cc 100644
--- a/gcc/testsuite/objc.dg/property/at-property-6.m
+++ b/gcc/testsuite/objc.dg/property/at-property-6.m
@@ -1,5 +1,6 @@
/* Contributed by Nicola Pero <nicola.pero@meta-innovation.com>, October 2010. */
/* { dg-do run } */
+/* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
/* Test the property syntax with non-synthesized setter/getter
and with standard names. */
diff --git a/gcc/testsuite/objc.dg/property/at-property-7.m b/gcc/testsuite/objc.dg/property/at-property-7.m
index 6f182d0..6f5ceda 100644
--- a/gcc/testsuite/objc.dg/property/at-property-7.m
+++ b/gcc/testsuite/objc.dg/property/at-property-7.m
@@ -1,5 +1,6 @@
/* Contributed by Nicola Pero <nicola.pero@meta-innovation.com>, October 2010. */
/* { dg-do run } */
+/* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
/* Test the property syntax with non-synthesized setter/getter
and with a non-standard name for the getter. */
diff --git a/gcc/testsuite/objc.dg/property/at-property-8.m b/gcc/testsuite/objc.dg/property/at-property-8.m
index 94ed86e..497dedc 100644
--- a/gcc/testsuite/objc.dg/property/at-property-8.m
+++ b/gcc/testsuite/objc.dg/property/at-property-8.m
@@ -1,5 +1,6 @@
/* Contributed by Nicola Pero <nicola.pero@meta-innovation.com>, October 2010. */
/* { dg-do run } */
+/* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
/* Test the property syntax with non-synthesized setter/getter
and with a non-standard name for the setter. */
diff --git a/gcc/testsuite/objc.dg/property/at-property-9.m b/gcc/testsuite/objc.dg/property/at-property-9.m
index 6e2d118..0f144fa 100644
--- a/gcc/testsuite/objc.dg/property/at-property-9.m
+++ b/gcc/testsuite/objc.dg/property/at-property-9.m
@@ -1,5 +1,6 @@
/* Contributed by Nicola Pero <nicola.pero@meta-innovation.com>, October 2010. */
/* { dg-do run } */
+/* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
/* Test the property syntax with synthesized setter/getter
and with a non-standard name for the getter and setter. */
diff --git a/gcc/testsuite/objc.dg/property/dotsyntax-1.m b/gcc/testsuite/objc.dg/property/dotsyntax-1.m
index 8bc3b3a..8922f5f 100644
--- a/gcc/testsuite/objc.dg/property/dotsyntax-1.m
+++ b/gcc/testsuite/objc.dg/property/dotsyntax-1.m
@@ -1,5 +1,6 @@
/* Contributed by Nicola Pero <nicola.pero@meta-innovation.com>, November 2010. */
/* { dg-do run } */
+/* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
/* Test the 'dot syntax' without a declarated property. */
diff --git a/gcc/testsuite/objc.dg/property/dotsyntax-2.m b/gcc/testsuite/objc.dg/property/dotsyntax-2.m
index ba615a3..03e49ae 100644
--- a/gcc/testsuite/objc.dg/property/dotsyntax-2.m
+++ b/gcc/testsuite/objc.dg/property/dotsyntax-2.m
@@ -1,5 +1,6 @@
/* Contributed by Nicola Pero <nicola.pero@meta-innovation.com>, November 2010. */
/* { dg-do run } */
+/* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
/* Test the 'dot syntax' without a declarated property. This tests the case where
only the setter (or only the getter) exists. */
diff --git a/gcc/testsuite/objc.dg/property/fsf-property-basic.m b/gcc/testsuite/objc.dg/property/fsf-property-basic.m
index 20fd978..ddc0589 100644
--- a/gcc/testsuite/objc.dg/property/fsf-property-basic.m
+++ b/gcc/testsuite/objc.dg/property/fsf-property-basic.m
@@ -1,5 +1,6 @@
/* Basic test, auto-generated getter/setter based on property name. */
/* { dg-do run } */
+/* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
extern int printf (char *fmt,...) ;
extern void abort (void);
diff --git a/gcc/testsuite/objc.dg/property/fsf-property-method-access.m b/gcc/testsuite/objc.dg/property/fsf-property-method-access.m
index 866f522..01eea5b 100644
--- a/gcc/testsuite/objc.dg/property/fsf-property-method-access.m
+++ b/gcc/testsuite/objc.dg/property/fsf-property-method-access.m
@@ -1,5 +1,6 @@
/* test access in methods, auto-generated getter/setter based on property name. */
/* { dg-do run } */
+/* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
extern int printf (char *fmt,...) ;
extern void abort (void);
diff --git a/gcc/testsuite/objc.dg/property/fsf-property-named-ivar.m b/gcc/testsuite/objc.dg/property/fsf-property-named-ivar.m
index 3e0b529..5458568 100644
--- a/gcc/testsuite/objc.dg/property/fsf-property-named-ivar.m
+++ b/gcc/testsuite/objc.dg/property/fsf-property-named-ivar.m
@@ -1,5 +1,6 @@
/* Basic test, auto-generated getter/setter based on named ivar */
/* { dg-do run } */
+/* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
extern int printf (char *fmt,...) ;
extern void abort (void);
diff --git a/gcc/testsuite/objc.dg/property/property-1.m b/gcc/testsuite/objc.dg/property/property-1.m
index fbc181eb..147f007 100644
--- a/gcc/testsuite/objc.dg/property/property-1.m
+++ b/gcc/testsuite/objc.dg/property/property-1.m
@@ -2,6 +2,7 @@
/* { dg-options "-std=c99" } */
/* { dg-do run } */
/* { dg-additional-sources "../../objc-obj-c++-shared/Object1.m" } */
+/* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
#import "../../objc-obj-c++-shared/Object1.h"
diff --git a/gcc/testsuite/objc.dg/property/property-2.m b/gcc/testsuite/objc.dg/property/property-2.m
deleted file mode 100644
index c14d759..0000000
--- a/gcc/testsuite/objc.dg/property/property-2.m
+++ /dev/null
@@ -1,65 +0,0 @@
-/* This program tests use of properties . */
-/* { dg-do run { target *-*-darwin* } } */
-/* { dg-skip-if "" { *-*-* } { "-fgnu-runtime" } { "" } } */
-/* We can't do this yet on m64, since we have not got the NSConstantString implementation
- built-in to the compiler, and therefore we get missing implementation warnings. */
-/* { dg-require-effective-target ilp32 } */
-/* Force ABI = 0 in the NeXT headers, also suppress deprecation warnings. */
-/* { dg-options "-framework Foundation -fobjc-exceptions -mmacosx-version-min=10.4 -Wno-deprecated-declarations" } */
-
-/* FIXME: There is no reason to use NSString in this file. */
-
-#include <objc/objc-api.h>
-#include <Foundation/Foundation.h>
-
-@interface Person : NSObject
-@property NSString *firstName, *lastName;
-@property(readonly) NSString *fullName;
-@end
-
-@interface Group : NSObject
-@property Person *techLead, *runtimeGuru, *propertiesMaven;
-@end
-
-@implementation Group
-@property Person *techLead, *runtimeGuru, *propertiesMaven;
-- init {
- techLead = [[Person alloc] init];
- runtimeGuru = [[Person alloc] init];
- propertiesMaven = [[Person alloc] init];
- return self;
-}
-@end
-
-@implementation Person
-@property NSString *firstName, *lastName;
-@property(readonly) NSString *fullName;
-- (NSString*)fullName { // computed getter
- return [NSString stringWithFormat:@"%@ %@", firstName, lastName];
-}
-@end
-
-NSString *playWithProperties()
-{
- Group *g = [[Group alloc] init] ;
-
- g.techLead.firstName = @"Blaine";
- g.techLead.lastName = @"Garst";
- g.runtimeGuru.firstName = @"Greg";
- g.runtimeGuru.lastName = @"Parker";
- g.propertiesMaven.firstName = @"Patrick";
- g.propertiesMaven.lastName = @"Beard";
-
- return [NSString stringWithFormat:@"techlead %@ runtimeGuru %@ propertiesMaven %@",
- g.techLead.fullName, g.runtimeGuru.fullName, g.propertiesMaven.fullName];
-}
-
-main()
-{
- char buf [256];
- NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
- sprintf(buf, "%s", [playWithProperties() cString]);
- [pool release];
- return strcmp (buf, "techlead Blaine Garst runtimeGuru Greg Parker propertiesMaven Patrick Beard");
-}
-
diff --git a/gcc/testsuite/objc.dg/property/property-3.m b/gcc/testsuite/objc.dg/property/property-3.m
deleted file mode 100644
index 5a83263..0000000
--- a/gcc/testsuite/objc.dg/property/property-3.m
+++ /dev/null
@@ -1,75 +0,0 @@
-/* This program tests use of properties . */
-/* { dg-do run { target *-*-darwin* } } */
-/* { dg-skip-if "" { *-*-* } { "-fgnu-runtime" } { "" } } */
-/* We can't do this yet on m64, since we have not got the NSConstantString implementation
- built-in to the compiler, and therefore we get missing implementation warnings. */
-/* { dg-require-effective-target ilp32 } */
-/* Force ABI = 0 in the NeXT headers, also suppress deprecation warnings. */
-/* { dg-options "-framework Foundation -fobjc-exceptions -mmacosx-version-min=10.4 -Wno-deprecated-declarations" } */
-
-#include <objc/objc-api.h>
-#include <Foundation/Foundation.h>
-
-@interface Person : NSObject
-{
-}
-@property NSString *firstName, *lastName;
-@property(readonly) NSString *fullName;
-
-@end
-
-@interface Group : NSObject
-{
-}
-
-@property Person *techLead, *runtimeGuru, *propertiesMaven;
-
-@end
-
-@implementation Group
-
-@property Person *techLead, *runtimeGuru, *propertiesMaven;
-- init {
- techLead = [[Person alloc] init];
- runtimeGuru = [[Person alloc] init];
- propertiesMaven = [[Person alloc] init];
- return self;
-}
-
-@end
-
-@implementation Person
-
-@property NSString *firstName, *lastName;
-@property(readonly, getter = fullName) NSString *fullName;
-
-- (NSString*)fullName { // computed getter
- return [NSString stringWithFormat:@"%@ %@", firstName, lastName];
-}
-
-@end
-
-NSString *playWithProperties()
-{
- Group *g = [[Group alloc] init] ;
-
- g.techLead.firstName = @"Blaine";
- g.techLead.lastName = @"Garst";
- g.runtimeGuru.firstName = @"Greg";
- g.runtimeGuru.lastName = @"Parker";
- g.propertiesMaven.firstName = @"Patrick";
- g.propertiesMaven.lastName = @"Beard";
-
- return [NSString stringWithFormat:@"techlead %@ runtimeGuru %@ propertiesMaven %@",
- g.techLead.fullName, g.runtimeGuru.fullName, g.propertiesMaven.fullName];
-}
-
-main()
-{
- char buf [256];
- NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
- sprintf(buf, "%s", [playWithProperties() cString]);
- [pool release];
- return strcmp (buf, "techlead Blaine Garst runtimeGuru Greg Parker propertiesMaven Patrick Beard");
-}
-
diff --git a/gcc/testsuite/objc.dg/property/synthesize-2.m b/gcc/testsuite/objc.dg/property/synthesize-2.m
index 4bc3e3c..9217067 100644
--- a/gcc/testsuite/objc.dg/property/synthesize-2.m
+++ b/gcc/testsuite/objc.dg/property/synthesize-2.m
@@ -1,5 +1,6 @@
/* Contributed by Nicola Pero <nicola.pero@meta-innovation.com>, October 2010. */
/* { dg-do run } */
+/* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
#include <objc/objc.h>
#include <objc/runtime.h>
diff --git a/gcc/testsuite/objc.dg/torture/strings/const-cfstring-1.m b/gcc/testsuite/objc.dg/torture/strings/const-cfstring-1.m
index a11b526..7e98915 100644
--- a/gcc/testsuite/objc.dg/torture/strings/const-cfstring-1.m
+++ b/gcc/testsuite/objc.dg/torture/strings/const-cfstring-1.m
@@ -9,6 +9,9 @@
/* { dg-skip-if "NeXT only" { *-*-* } { "-fgnu-runtime" } { "" } } */
/* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
/* { dg-options "-mconstant-cfstrings -framework Cocoa" } */
+/* Darwin10's linker emits a warning that the constant strings are incompatible with writable ones.
+ Well, we don't implement writable ones at this juncture. */
+/* { dg-options "-mconstant-cfstrings -framework Cocoa -Wl,-w" { target *-*-darwin[123]* } } */
#import <Foundation/NSString.h>
#import <CoreFoundation/CFString.h>
diff --git a/gcc/testsuite/objc/execute/forward-1.m b/gcc/testsuite/objc/execute/forward-1.m
deleted file mode 100644
index 258a916..0000000
--- a/gcc/testsuite/objc/execute/forward-1.m
+++ /dev/null
@@ -1,80 +0,0 @@
-/* See if -forward::/-performv:: is able to work. */
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#import "../../objc-obj-c++-shared/Object1.h"
-#import "../../objc-obj-c++-shared/next-mapping.h"
-#include <objc/objc-api.h>
-
-#define VALUETOUSE 1234567890
-
-id forwarder, receiver;
-
-@interface Forwarder: Object
-{
- id receiver;
-}
-
--initWithReceiver:theReceiver;
-
-@end
-
-@interface Receiver:Object
-{
- int foo;
-}
--display;
--initWithFoo:(int)theFoo;
-@end
-@implementation Receiver
-
--initWithFoo: (int)theFoo
-{
- foo = theFoo;
- return self;
-}
-
--display
-{
- /* Check to see if we are really the reciever. */
- if (self != receiver)
- abort ();
- /* And the value of foo is set correctly. */
- if (foo != VALUETOUSE)
- abort ();
- return self;
-}
-
-@end
-
-@implementation Forwarder
--initWithReceiver: theReceiver
-{
- [super init];
- receiver = theReceiver;
- return self;
-}
-#ifdef __NEXT_RUNTIME__
-- forward: (SEL)theSel: (marg_list)theArgFrame
-#else
--(retval_t) forward: (SEL)theSel: (arglist_t)theArgFrame
-#endif
-{
- /* If we have a reciever try to perform on that object */
- if (receiver)
- return [receiver performv: theSel: theArgFrame];
- return [self doesNotRecognize:theSel];
-}
-@end
-int main()
-{
- /* Init the reciever. */
- receiver = [[Receiver alloc] initWithFoo: VALUETOUSE];
- /* Init the fowarder. */
- forwarder = [[Forwarder alloc] initWithReceiver: receiver];
- /* Call display on the forwarder which in turns calls display on
- the reciever. */
- [forwarder display];
- exit(0);
-}
diff --git a/gcc/testsuite/objc/execute/forward-1.x b/gcc/testsuite/objc/execute/forward-1.x
deleted file mode 100644
index ac4cf7f..0000000
--- a/gcc/testsuite/objc/execute/forward-1.x
+++ /dev/null
@@ -1,36 +0,0 @@
-load_lib target-supports.exp
-
-# XFAIL: PR libobjc/36610, for targets which pass arguments via registers
-
-if { ([istarget x86_64-*-linux*] && [check_effective_target_lp64] )
- || [istarget powerpc*-*-linux*]
- || [istarget powerpc*-*-aix*]
- || [istarget s390*-*-*-linux*]
- || [istarget sh4-*-linux*]
- || [istarget hppa*-*-linux*]
- || [istarget hppa*-*-hpux*]
- || [istarget ia64-*-linux*] } {
- set torture_execute_xfail "*-*-*"
-}
-
-# For darwin and alpha-linux it fails with -fgnu-runtime,
-# passes with -fnext-runtime.
-
-if { [istarget alpha*-*-linux*]
- || [istarget alpha*-dec-osf*]
- || ([istarget i?86-*-solaris2*] && [check_effective_target_lp64] )
- || [istarget mips-sgi-irix*]
- || [istarget sparc*-sun-solaris2*]
- || ([istarget *-*-darwin*] && [check_effective_target_lp64] ) } {
- set torture_eval_before_execute {
- global compiler_conditional_xfail_data
- set compiler_conditional_xfail_data {
- "Target fails with -fgnu-runtime" \
- "*-*-*" \
- { "-fgnu-runtime" } \
- { "" }
- }
- }
-}
-
-return 0