objc/objc++: fix most testsuite failures on darwin8

Nicola Pero nicola.pero@meta-innovation.com
Tue Jun 7 20:21:00 GMT 2011


This patch (prepared by me and Iain) fixes almost all failures of the testsuite on Darwin 8
caused by the large testsuite changes I committed yesterday.

The patch fixes all the failures but 2.  These two require a different small fix that is being
developed/tested and will be submitted separately.

Thanks Iain for the help! :-)

OK to commit ?

Thanks

Index: ChangeLog
===================================================================
--- ChangeLog   (revision 174760)
+++ ChangeLog   (working copy)
@@ -1,3 +1,10 @@
+2011-06-07  Nicola Pero  <nicola.pero@meta-innovation.com>
+           Iain Sandoe  <iains@gcc.gnu.org>
+
+       * objc-obj-c++-shared/TestsuiteObject.h ([-free]): Return 'id'.
+       * objc-obj-c++-shared/TestsuiteObject.m ([-free]): Return 'id'.
+       Added cast.
+       
 2011-06-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
        gcc/testsuite:
Index: objc-obj-c++-shared/TestsuiteObject.h
===================================================================
--- objc-obj-c++-shared/TestsuiteObject.h       (revision 174760)
+++ objc-obj-c++-shared/TestsuiteObject.h       (working copy)
@@ -35,7 +35,7 @@ along with GCC; see the file COPYING3.  If not see
 + (id) new;
 + (id) alloc;
 - (id) init;
-- (void) free;
+- (id) free;
 
 /* Auxiliary methods.  */
 + (Class) class;
Index: objc-obj-c++-shared/TestsuiteObject.m
===================================================================
--- objc-obj-c++-shared/TestsuiteObject.m       (revision 174760)
+++ objc-obj-c++-shared/TestsuiteObject.m       (working copy)
@@ -41,9 +41,14 @@ along with GCC; see the file COPYING3.  If not see
 {
   return self;
 }
-- (void) free
+/* We return 'id' to have the same signature as [Object -free] in
+   older runtimes and avoid warnings about conflicting signatures.  */
+- (id) free
 {
-  object_dispose (self);
+  /* Cast 'self' to 'id' because the NeXT runtime in darwin8 (Apple
+     Mac OS X 10.4) declares object_dispose to take an "Object *"
+     argument.  */
+  return object_dispose ((id)self);
 }
 + (Class) class
 {



More information about the Gcc-patches mailing list