diff options
author | Nicola Pero <nicola.pero@meta-innovation.com> | 2011-06-07 19:37:35 +0000 |
---|---|---|
committer | Nicola Pero <nicola@gcc.gnu.org> | 2011-06-07 19:37:35 +0000 |
commit | 80e4b9e501e4e702f1c32287c1ff57ca84054a7c (patch) | |
tree | d40a3876f7d42510a372e2033d14443ddb800f2a /libobjc/sendmsg.c | |
parent | bb5b1f5e7379c42894fb935ec746ca67caf8521d (diff) | |
download | gcc-80e4b9e501e4e702f1c32287c1ff57ca84054a7c.tar.gz |
In libobjc/: 2011-06-07 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2011-06-07 Nicola Pero <nicola.pero@meta-innovation.com>
Removed the Traditional Objective-C runtime public API.
* Makefile.in (OBJC_DEPRECATED_H): Variable removed.
(install-headers): Do not create the objc/deprecated directory and
do not install the deprecated headers.
(OBJC_H): Removed encoding.h and objc-api.h.
* Object.m: Removed all methods with the exception of -class and
-isEqual:. Updated includes. ([-class]): Use Modern API.
* objc/Object.h: Do not include deprecated/Object.h.
* objc/deprecated/Object.h: Removed.
* linking.m (__objc_linking): Call [Object class] instead of
[Object name].
* Protocol.m: Removed all methods with the exception of -isEqual:.
Updated includes.
* objc/Protocol.h: Do not include deprecated/Protocol.h.
* objc/deprecated/Protocol.h: Removed.
* objc/deprecated/struct_objc_symtab.h: Removed.
* objc/deprecated/struct_objc_module.h: Removed.
* objc/deprecated/struct_objc_ivar.h: Removed.
* objc/deprecated/struct_objc_ivar_list.h: Removed.
* objc/deprecated/struct_objc_method.h: Removed.
* objc/deprecated/struct_objc_method_list.h: Removed.
* objc/deprecated/struct_objc_protocol_list.h: Removed.
* objc/deprecated/struct_objc_category.h: Removed.
* objc/deprecated/MetaClass.h: Removed.
* objc/deprecated/objc_msg_sendv.h: Removed.
* objc/deprecated/README: Removed.
* objc/deprecated/struct_objc_class.h: Removed.
* objc/deprecated/struct_objc_protocol.h: Removed.
* objc/deprecated/struct_objc_selector.h: Removed.
* objc/encoding.h: Removed.
* objc/message.h (struct objc_super): Removed the definition for
the Traditional Objective-C runtime API.
* objc/objc.h: Do not include objc/objc-decls.h.
deprecated/struct_objc_selector.h, deprecated/MetaClass.h,
deprecated/struct_objc_class.h, deprecated/struct_objc_protocol.h
and deprecated/objc_msg_sendv.h. Uncommented new definition of
Protocol *.
* objc/objc-api.h: Removed.
* objc/runtime.h: Updated comments. Removed check to detect
concurrent usage of Traditional and Modern APIs.
* objc-private/module-abi-8.h: Always define struct objc_class and
struct objc_protocol. (struct objc_protocol_list): Changed type
of 'list' argument from 'Protocol *' to 'struct objc_protocol *'.
(class_get_instance_size): Added.
* objc-private/protocols.h (__objc_protocols_add_protocol): Take a
'struct objc_protocol *' as argument, not a 'Protocol *'.
* objc-private/runtime.h: Updated comments.
* objc-private/selector.h (struct objc_selector, sel_eq): Added.
* class.c: Include objc-private/selector.h.
(objc_get_meta_class): Return a Class instead of a MetaClass.
* encoding.c (method_get_next_argument): Removed.
(method_get_first_argument): Removed.
(method_get_nth_argument): Removed.
* gc.c: Include objc/runtime.h instead of objc/encoding.h.
Include objc-private/module-abi-8.h and ctype.h.
* protocols.c (__objc_protocols_add_protocol): Take a 'struct
objc_protocl *' as argument, not a 'Protocol *'.
(class_addProtocol): Added casts to 'struct objc_protocol *' and
'Protocol *'.
(class_copyProtocolList): Likewise.
(protocol_conformsToProtocol): Likewise.
(protocol_copyProtocolList): Likewise.
* sarray.c: Include objc-private/module-abi-8.h.
* sendmsg.c (method_get_next_argument): Removed.
(method_get_first_argument): Removed.
(method_get_nth_argument): Removed.
(objc_msg_sendv): Removed.
(arglist_t, retval_t): New. (class_get_class_method): Take a
'Class', not 'MetaClass', argument.
* thr.c: Include module-abi-8.h.
From-SVN: r174765
Diffstat (limited to 'libobjc/sendmsg.c')
-rw-r--r-- | libobjc/sendmsg.c | 25 |
1 files changed, 4 insertions, 21 deletions
diff --git a/libobjc/sendmsg.c b/libobjc/sendmsg.c index bb525b155b4..61ca3b3f12f 100644 --- a/libobjc/sendmsg.c +++ b/libobjc/sendmsg.c @@ -469,29 +469,9 @@ objc_msg_lookup_super (struct objc_super *super, SEL sel) return (IMP)nil_method; } -/* Temporarily defined here until objc_msg_sendv() goes away. */ -char *method_get_first_argument (struct objc_method *, - arglist_t argframe, - const char **type); -char *method_get_next_argument (arglist_t argframe, - const char **type); -int method_get_sizeof_arguments (struct objc_method *); - struct objc_method * class_get_instance_method (Class class, SEL op); -retval_t -objc_msg_sendv (id object, SEL op, arglist_t arg_frame) -{ - struct objc_method *m = class_get_instance_method (object->class_pointer, op); - const char *type; - *((id *) method_get_first_argument (m, arg_frame, &type)) = object; - *((SEL *) method_get_next_argument (arg_frame, &type)) = op; - return __builtin_apply ((apply_t) m->method_imp, - arg_frame, - method_get_sizeof_arguments (m)); -} - void __objc_init_dispatch_tables () { @@ -671,7 +651,7 @@ class_get_instance_method (Class class, SEL op) } struct objc_method * -class_get_class_method (MetaClass class, SEL op) +class_get_class_method (Class class, SEL op) { return search_for_method_in_hierarchy (class, op); } @@ -883,6 +863,9 @@ search_for_method_in_list (struct objc_method_list * list, SEL op) return NULL; } +typedef void * retval_t; +typedef void * arglist_t; + static retval_t __objc_forward (id object, SEL sel, arglist_t args); /* Forwarding pointers/integers through the normal registers. */ |