+2011-06-07 Nicola Pero <nicola.pero@meta-innovation.com>
+ Iain Sandoe <iains@gcc.gnu.org>
+
+ * objc-obj-c++-shared/runtime.h (protocol_getMethodDescription):
+ Added code to deal with the case when [Protocol
+ -descriptionForInstanceMethod:] or [Protocol
+ -descriptionForClassMethod:] returns NULL.
+
+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 Xinliang David Li <davidxl@google.com>
* testsuite/gcc.dg/inline_2.c: New test.
{
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
{
struct objc_method_description result;
if (instanceMethod)
- {
- tmp = [protocol descriptionForInstanceMethod: selector];
- result = *tmp;
- }
+ tmp = [protocol descriptionForInstanceMethod: selector];
+ else
+ tmp = [protocol descriptionForClassMethod: selector];
+
+ if (tmp)
+ result = *tmp;
else
{
- tmp = [protocol descriptionForClassMethod: selector];
- result = *tmp;
+ result.name = (SEL)0;
+ result.types = (char *)0;
}
return result;