aboutsummaryrefslogtreecommitdiff
path: root/libobjc/objc
AgeCommit message (Collapse)AuthorFilesLines
2015-01-05Update copyright years.Jakub Jelinek10-10/+10
From-SVN: r219188
2014-01-02Update copyright years in libobjc/Richard Sandiford10-10/+10
From-SVN: r206299
2013-07-21class.c: Fix typos.Ondřej Bílka1-2/+2
2013-07-21 Ondřej Bílka <neleai@seznam.cz> * class.c: Fix typos. * encoding.c: Likewise. * init.c: Likewise. * objc-private/runtime.h: Likewise. * objc/runtime.h: Likewise. * objc-sync.c: Likewise. From-SVN: r201097
2013-02-03Update copyright years in libobjc.Richard Sandiford10-14/+10
From-SVN: r195693
2013-01-04Update Copyright years for files modified in 2011 and/or 2012.Jakub Jelinek5-5/+6
From-SVN: r194903
2011-08-06In libobjc/: 2011-08-06 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero1-4/+4
In libobjc/: 2011-08-06 Nicola Pero <nicola.pero@meta-innovation.com> PR libobjc/49882 * class.c (class_getSuperclass): Return the superclass if the class is in construction. * objc/runtime.h (class_getSuperclass): Updated documentation. In gcc/testsuite/: 2011-08-06 Nicola Pero <nicola.pero@meta-innovation.com> PR libobjc/49882 * objc.dg/gnu-api-2-class.m (main): Test class_getSuperclass() with classes that are in construction. From-SVN: r177505
2011-06-08In libobjc/: 2011-06-08 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero1-1/+1
In libobjc/: 2011-06-08 Nicola Pero <nicola.pero@meta-innovation.com> * objc/objc.h (__GNU_LIBOBJC__): Bumped to 20110608. From-SVN: r174799
2011-06-08In libobjc/: 2011-06-08 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero1-11/+0
In libobjc/: 2011-06-08 Nicola Pero <nicola.pero@meta-innovation.com> * objc/README: Updated. * objc-private/selector.h: Updated comments. From-SVN: r174791
2011-06-07In libobjc/: 2011-06-07 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero23-884/+7
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
2011-06-03In libobjc/: 2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero3-19/+0
In libobjc/: 2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com> * Makefile.in (OBJC_DEPRECATED_H): Removed struct_objc_static_instances.h and objc_get_uninstalled_dtable.h. * objc/deprecated/struct_objc_static_instances.h: Removed. * objc/deprecated/objc_get_uninstalled_dtable.h: Removed. * objc/objc-api.h: Do not include deprecated/objc_static_instances.h and deprecated/objc_get_uninstalled_dtable.h. From-SVN: r174618
2011-06-03In libobjc/: 2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero2-10/+0
In libobjc/: 2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com> * Makefile.in (OBJC_DEPRECATED_H): Removed objc_object_alloc.h. * objc/deprecated/objc_object_alloc.h: Removed. * objc/objc-api.h: Do not include deprecated/objc_object_alloc.h. * objects.c (_objc_object_alloc, _objc_object_dispose, _objc_object_copy): Removed. * libobjc.def (__objc_object_alloc, __objc_object_copy, __objc_object_dispose): Removed. From-SVN: r174617
2011-06-03In libobjc/: 2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero2-4/+0
In libobjc/: 2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com> * Makefile.in (OBJC_DEPRECATED_H): Removed METHOD_NULL.h. * objc/objc-api.h: Do not include deprecated/METHOD_NULL.h. * objc/deprecated/METHOD_NULL.h: Removed. From-SVN: r174616
2011-06-03In libobjc/: 2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero4-33/+0
In libobjc/: 2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com> * Makefile.in (OBJC_DEPRECATED_H): Removed objc_valloc.h, objc_malloc.h and objc_unexpected_exception.h. (exception.lo): Do not use -Wno-deprecated-declarations. (exception_gc.lo): Likewise. * objc/objc-api.h: Do not include deprecated/objc_valloc.h, deprecated/objc_malloc.h and deprecated/objc_unexpected_exception.h. * objc/deprecated/objc_valloc.h: Removed. * objc/deprecated/objc_malloc.h: Removed. * objc/deprecated/objc_unexpected_exception.h: Removed. * exception.c (_objc_unexpected_exception): Removed. (objc_exception_throw): Do not check for _objc_unexpected_exception. * memory.c (objc_valloc, _objc_malloc, _objc_atomic_malloc, _objc_valloc, _objc_realloc, _objc_calloc, _objc_free): Removed. * libobjc.def (_objc_unexpected_exception, objc_valloc): Removed. From-SVN: r174615
2011-06-03In libobjc/: 2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero2-4/+0
In libobjc/: 2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com> * objc/objc.h: Do not include deprecated/STR.h. * objc/deprecated/STR.h: Removed. * Makefile.in (OBJC_DEPRECATED_H): removed STR.h. From-SVN: r174614
2011-06-03In libobjc/: 2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero6-460/+0
In libobjc/: 2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com> * Makefile.in (OBJC_H): Removed hash.h and sarray.h. (OBJC_DEPRECATED_H): Likewise. * libobjc.def (objc_hash_new, objc_hash_delete, objc_hash_add, objc_hash_remove, objc_hash_next, objc_hash_value_for_key, objc_hash_is_key_in_hash, hash_add, hash_delete, hash_new, hash_next, hash_remove, hash_value_for_key, hash_is_key_in_hash, sarray_at_put, sarray_at_put_safe, sarray_free, sarray_lazy_copy, sarray_new, sarray_realloc, sarray_remove_garbage): Removed. * objc/sarray.h: Removed. * objc/hash.h: Removed. * objc/deprecated/sarray.h: Removed. * objc/deprecated/hash.h: Removed. * objc/Object.h: Do not include objc/deprecated/hash.h * Object.m: Include string.h. * objc/objc-api.h: Do not include objc/deprecated/hash.h. * objc-private/common.h (GNU_LIBOBJC_COMPILING_LIBOBJC_ITSELF): Removed. In gcc/testsuite/: 2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com> * objc.dg/headers.m: Do not include sarray.h and hash.h. From-SVN: r174610
2011-06-03In libobjc/: 2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero1-1/+0
In libobjc/: 2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com> * Object.m ([-forward::]): Removed. * objc/deprecated/Object.h ([-forward::]): Removed. * sendmsg.c (__objc_forward): Updated comments. From-SVN: r174607
2011-06-03In libobjc/: 2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero2-157/+0
In libobjc/: 2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com> * Makefile.in (OBJC_H): Removed objc-list.h. (OBJC_DEPRECATED_H): Removed objc-list.h. * objc/objc-list.h: File removed. * objc/deprecated/objc-list.h: File removed. In gcc/testsuite/: 2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com> * objc.dg/headers.m: Do not include objc-list.h. From-SVN: r174594
2011-06-03In libobjc/: 2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero4-152/+0
In libobjc/: 2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com> * Makefile.in (OBJC_H): Removed typedstream.h. (OBJC_DEPRECATED_H): Removed typedstream.h. (C_SOURCE_FILES): Removed archive.c. (Object.lo): Rule removed. (Object_gc.lo): Likewise. (archive.lo): Likewise. (archive_gc.lo): Likewise. * objc/deprecated/Object.h ([+streamVersion:], [-read], [-write], [-awake]): Removed. Do not include deprecated/typedstream.h. * Object.m: Removed the same methods. * archive.c: File removed. * objc/typedstream.h: File removed. * objc/deprecated/typedstream.h: File removed. * libobjc.def (__objc_read_nbyte_uint, __objc_read_nbyte_ulong, __objc_write_class, __objc_write_object, __objc_write_selector, objc_close_typed_stream, objc_end_of_typed_stream, objc_flush_typed_stream, objc_get_stream_class_version, objc_open_typed_stream, objc_open_typed_stream_for_file, objc_read_array, objc_read_char, objc_read_int, objc_read_long, objc_read_object, objc_read_selector, objc_read_short, objc_read_string, objc_read_type, objc_read_types, objc_read_unsigned_char, objc_read_unsigned_int, objc_read_unsigned_long, objc_read_unsigned_short, objc_write_array, objc_write_char, objc_write_int, objc_write_long, objc_write_object, objc_write_object_reference, objc_write_root_object, objc_write_selector, objc_write_short, objc_write_string, objc_write_string_atomic, objc_write_type, objc_write_types, objc_write_unsigned_char, objc_write_unsigned_int, objc_write_unsigned_long, objc_write_unsigned_short): Removed. In gcc/testsuite/: 2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com> * objc.dg/type-stream-1.m: Test removed. * objc.dg/headers.m: Do not include typedstream.h. From-SVN: r174593
2011-06-02In libobjc/: 2011-06-02 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero3-72/+0
In libobjc/: 2011-06-02 Nicola Pero <nicola.pero@meta-innovation.com> * Makefile.in (OBJC_DEPRECATED_H): Removed objc_error.h. * objc/deprecated/objc_error.h: Removed. * objc/objc-api.h: Do not include deprecated/objc_error.h. * libobjc.def (objc_error, objc_verror): Removed. * error.c (_objc_error_handler, objc_error, objc_verror, objc_set_error_handler): Removed. * Object.m ([-error:], [-perform:], [-perform:with:], [-perform:with:with], [-subclassResponsibility:], [-notImplemented:], [-shouldNotImplement:], [-doesNotRecognize:]): Removed. * objc/deprecated/Object.h: Removed the same methods. * sendmsg.c (__objc_forward): Do not try to invoke the "error:" method after trying to invoke the "doesNotRecognize:" method. In gcc/testsuite/: 2011-06-02 Nicola Pero <nicola.pero@meta-innovation.com> * objc.dg/torture/forward-1.m (main): Updated testcase. From-SVN: r174587
2011-02-28In libobjc/: 2011-02-28 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero1-4/+6
In libobjc/: 2011-02-28 Nicola Pero <nicola.pero@meta-innovation.com> * selector.c (sel_getTypedSelector): Return NULL if there are multiple selectors with conflicting types. * objc/runtime.h (sel_getTypedSelector): Updated documentation. In gcc/testsuite/: 2011-02-28 Nicola Pero <nicola.pero@meta-innovation.com> * objc.dg/gnu-api-2-sel.m: Test that sel_getTypedSelector return NULL in case of a selector with conflicting types. * obj-c++.dg/gnu-api-2-sel.mm: Same change. From-SVN: r170563
2011-01-03Update Copyright years for files modified in 2010.Jakub Jelinek4-4/+6
From-SVN: r168438
2010-12-24In libobjc/: 2010-12-24 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero1-3/+3
In libobjc/: 2010-12-24 Nicola Pero <nicola.pero@meta-innovation.com> * selector.c (sel_getTypedSelector): Return NULL if given a NULL argument. (sel_registerTypedName): Same. (sel_registerName): Same. * objc/runtime.h: Updated documentation. In gcc/testsuite/: 2010-12-24 Nicola Pero <nicola.pero@meta-innovation.com> * objc.dg/gnu-api-2-sel.m: Test calling sel_getUid, sel_registerName and sel_registerTypedName with NULL arguments. Updated the test to work with the Apple runtime as well. * obj-c++.dg/gnu-api-2-sel.mm: Same change. From-SVN: r168231
2010-12-24In libobjc/: 2010-12-24 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero1-9/+11
In libobjc/: 2010-12-24 Nicola Pero <nicola.pero@meta-innovation.com> * objc/runtime.h (class_addIvar): Updated documentation. The alignment is actually the log_2 of the alignment in bytes. * ivars.c (class_addIvar): Corresponding change to the implementation. In gcc/testsuite/: 2010-12-24 Nicola Pero <nicola.pero@meta-innovation.com> * objc.dg/gnu-api-2-class.m: Updated test to pass log_2 of the alignment to class_addIvar, instead of the alignment itself. * obj-c++.dg/gnu-api-2-class.mm: Same change. From-SVN: r168230
2010-12-24In libobjc/: 2010-12-24 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero1-4/+41
In libobjc/: 2010-12-24 Nicola Pero <nicola.pero@meta-innovation.com> * objc/runtime.h (sel_getType): Renamed to sel_getTypeEncoding to be consistent with method_getTypeEncoding and ivar_getTypeEncoding. (sel_copyTypedSelectorList, sel_getTypedSelector): New. * selector.c (sel_getType): Renamed to sel_getTypeEncoding. (sel_copyTypedSelectorList, sel_getTypedSelector): New. (sel_get_type): Updated call to sel_getType. In gcc/testsuite/: 2010-12-24 Nicola Pero <nicola.pero@meta-innovation.com> * objc.dg/gnu-api-2-sel.m: Updated for renaming of sel_getType to sel_getTypeEncoding. Test that sel_getTypeEncoding returns NULL when called with a NULL argument. Added test for sel_copyTypedSelectorList and sel_getTypedSelector. * obj-c++.dg/gnu-api-2-sel.mm: Same changes. From-SVN: r168229
2010-12-24In libobjc/: 2010-12-24 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero1-2/+8
In libobjc/: 2010-12-24 Nicola Pero <nicola.pero@meta-innovation.com> * objc/runtime.h (class_conformsToProtocol, class_copyProtocolList): Updated documentation. In gcc/testsuite/: 2010-12-24 Nicola Pero <nicola.pero@meta-innovation.com> * obj-c.dg/gnu-api-2-class.m: Test that class_conformsToProtocol() does not check the superclasses. * obj-c++.dg/gnu-api-2-class.mm: Same change. From-SVN: r168226
2010-12-19In libobjc/: 2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero2-8/+29
In libobjc/: 2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com> * objc/message.h: Updated comments. * objc/runtime.h: Updated comments. From-SVN: r168062
2010-12-19In gcc/testsuite/: 2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero1-1/+1
In gcc/testsuite/: 2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com> * objc.dg/gnu-api-2-objc.m: Fixed test to test objc_lookUpClass, not objc_lookupClass. * obj-c++.dg/gnu-api-2-objc.mm: Same change. In libobjc/: 2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com> * class.c (objc_lookupClass): Renamed to objc_lookUpClass. * protocols.c: Updated all calls to objc_lookupClass to call objc_lookUpClass instead. * sendmsg.c (objc_lookupClass): Do not declare. (get_imp): Update call to objc_lookupClass to call objc_lookUpClass instead. * objc/runtime.h (objc_lookupClass): Renamed to objc_lookUpClass. From-SVN: r168059
2010-12-19In libobjc/: 2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero1-0/+9
In libobjc/: 2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com> * objc/runtime.h (class_ivar_set_gcinvisible): Declare. * sendmsg.c (_CLS_IN_CONSTRUCTION, CLS_IS_IN_CONSTRUCTION): Do not define. Updated comments. From-SVN: r168058
2010-12-19In libobjc/: 2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero2-26/+29
In libobjc/: 2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com> * objc/encoding.h: Updated comments. * objc/runtime.h: Updated comments. (objc_setGetUnknownClassHandler): Mark with objc_EXPORT. (objc_sizeof_type): Same. (objc_alignof_type): Same. (objc_aligned_size): Same. (objc_promoted_size): Same. (objc_skip_type_qualifiers): Same. (objc_skip_typespec): Same. (objc_skip_offset): Same. (objc_skip_argspec): Same. (objc_get_type_qualifiers): Same. (objc_layout_structure): Same. (objc_layout_structure_next_member): Same. (objc_layout_finish_structure): Same. (objc_layout_structure_get_info): Same. From-SVN: r168051
2010-12-19In libobjc/: 2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero2-15/+28
In libobjc/: 2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com> * init.c: Updated comments. * objc/objc-api.h: Updated comments. * objc/runtime.h (_objc_load_callback): Declare. From-SVN: r168044
2010-12-19In libobjc/: 2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero1-1/+4
In libobjc/: 2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com> * objc/Object.h: Include deprecated/typedstream.h and deprecated/hash.h instead of typedstream.h. Updated comments. From-SVN: r168043
2010-12-19In gcc/testsuite/: 2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero3-58/+48
In gcc/testsuite/: 2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com> * objc.dg/gnu-api-2-resolve-method.m: Include objc/message.h. * obj-c++.dg/gnu-api-2-resolve-method.m: Include objc/message.h. In libobjc/: 2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com> * Makefile.in (OBJC_DEPRECATED_H): Added objc_msg_sendv.h. * objc/deprecated/objc_msg_sendv.h: New. * objc/message.h: Do not define retval_t, apply_t, arglist, arglist_t, objc_msg_sendv, now in objc/deprecated/objc_msg_sendv.h. * objc/objc.h: Do not include message.h; include objc/deprecated/objc_msg_sendv.h instead. Tidied up comments. * sendmsg.c: Include objc/message.h. * thr.c: Include objc/message.h. From-SVN: r168042
2010-12-19In libobjc/: 2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero2-17/+13
In libobjc/: 2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com> * objc/objc-exception.h: Include objc-decls.h. Mark all functions with objc_EXPORT. * objc/objc-sync.h: Same change. From-SVN: r168041
2010-12-19In libobjc/: 2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero2-12/+16
In libobjc/: 2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com> * Protocol.m: Moved all methods, with the exception of -isEqual:, into the 'Deprecated' category. * objc/Protocol.h: Removed all methods, moved to objc/deprecated/Protocol.h. Include objc/deprecated/Protocol.h. * objc/deprecated/Protocol.h: New. * Makefile.in (OBJC_DEPRECATED_H): Added Protocol.h. From-SVN: r168040
2010-12-15In libobjc/: 2010-12-15 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero1-5/+20
In libobjc/: 2010-12-15 Nicola Pero <nicola.pero@meta-innovation.com> * objc/message.h (objc_super): When using the modern API, do not define Super and Super_t, and always use 'super_class' for the super class field. (objc_msg_lookup_super): Updated prototype to use 'struct objc_super *' instead of 'Super_t'. * sendmsg.c (objc_msg_lookup_super): Updated prototype to use 'struct objc_super *' instead of 'Super_t'. From-SVN: r167869
2010-12-15In libobjc/: 2010-12-15 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero1-34/+85
In libobjc/: 2010-12-15 Nicola Pero <nicola.pero@meta-innovation.com> * objc/message.h: Update comments, reindented code and moved deprecated types and functions at the end of the file. No code changes. From-SVN: r167864
2010-12-15In libobjc/: 2010-12-15 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero1-5/+4
In libobjc/: 2010-12-15 Nicola Pero <nicola.pero@meta-innovation.com> * ivars.c (class_addIvar): Use the 'size' argument instead of trying to calculate it using objc_sizeof_type(). * objc/runtime.h (class_addIvar): Updated comments. From-SVN: r167837
2010-12-14Object.h: Moved all the methods, with the exception of -class and -isEqual:, ↵Nicola Pero2-96/+91
into ... 2010-12-14 Nicola Pero <nicola.pero@meta-innovation.com> * objc/Object.h: Moved all the methods, with the exception of -class and -isEqual:, into ... * objc/deprecated/Object.h: here. * Object.m: Moved all the methods, with the exception of -class and -isEqual: into the 'Deprecated' category. From-SVN: r167825
2010-12-11In libobjc/: 2010-12-11 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero1-3/+15
In libobjc/: 2010-12-11 Nicola Pero <nicola.pero@meta-innovation.com> * sendmsg.c (selector_resolveClassMethod): New. (selector_resolveInstanceMethod): New. (__objc_resolve_class_method): New. (__objc_resolve_instance_method): New. (get_imp): Call __objc_resolve_class_method or __objc_resolve_instance_method at the appropriate time. (objc_msg_lookup): Same. (class_getClassMethod): Same. (class_getInstanceMethod): Same. (__objc_init_dispatch_tables): Initialize selector_resolveClassMethod and selector_resolveInstanceMethod. * objc/runtime.h: Updated documentation of class_getClassMethod, class_getInstanceMethod and class_getMethodImplementation. In gcc/testsuite/: 2010-12-11 Nicola Pero <nicola.pero@meta-innovation.com> * objc.dg/gnu-api-2-resolve-method.m: New. * obj-c++.dg/gnu-api-2-resolve-method.mm: New. From-SVN: r167712
2010-12-11module-abi-8.h (struct objc_symtab): Updated description of sel_ref_cnt and ↵Nicola Pero1-2/+5
refs. 2010-12-11 Nicola Pero <nicola.pero@meta-innovation.com> * objc-private/module-abi-8.h (struct objc_symtab): Updated description of sel_ref_cnt and refs. * objc/deprecated/struct_objc_symtab.h (objc_symtab): Same change. From-SVN: r167710
2010-10-17In gcc/: 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero2-3/+11
In gcc/: 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com> * doc/objc.texi (GNU Objective-C runtime API): New section. (Modern GNU Objective-C runtime API): New section. (Traditional GNU Objective-C runtime API): New section. (Executing code before main): Mention that this section is specific to the GNU Objective-C runtime. (Garbage Collection): Same. In gcc/testsuite/: 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com> * obj-c++.dg/gnu-api-2-class.mm: New. * obj-c++.dg/gnu-api-2-ivar.mm: New. * obj-c++.dg/gnu-api-2-method.mm: New. * obj-c++.dg/gnu-api-2-objc.mm: New. * obj-c++.dg/gnu-api-2-object.mm: New. * obj-c++.dg/gnu-api-2-property.mm: New. * obj-c++.dg/gnu-api-2-protocol.mm: New. * obj-c++.dg/gnu-api-2-sel.mm: New. In libobjc/: 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com> * objc/message.h: Moved initial includes outside of extern "C". * objc/runtime.h: Add extern "C" for Objective-C++. From-SVN: r165595
2010-10-16In libobjc/: 2010-10-16 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero1-7/+118
In libobjc/: 2010-10-16 Nicola Pero <nicola.pero@meta-innovation.com> * objc/runtime.h: Updated comments. (class_addMethod): New. (class_addIvar): New. (class_replaceMethod): New. (objc_allocateClassPair): New. (objc_registerClassPair): New. (objc_disposeClassPair): New. * class.c (objc_allocateClassPair): New. (objc_registerClassPair): New. (objc_disposeClassPair): New. (class_getSuperclass): Return Nil if a class is in construction. * init.c (__objc_exec_class): Call __objc_init_class. (__objc_init_class): New. * ivars.c (class_copyIvarList): Return NULL if class is in construction. Do not lock the runtime mutex. (class_getInstanceVariable): Return NULL if class is in construction. Do not lock the runtime mutex. (class_addIvar): New. * sendmsg.c (class_addMethod): New. (class_replaceMethod): New. * objc-private/module-abi-8.h (__CLS_SETNOTINFO): New. (_CLS_IN_CONSTRUCTION): New. (CLS_IS_IN_CONSTRUCTION): New. (CLS_SET_IN_CONSTRUCTION): New. (CLS_SET_NOT_IN_CONSTRUCTION): New. * objc-private/runtime.h (__objc_init_class): New. From-SVN: r165563
2010-10-16In libobjc/: 2010-10-16 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero1-0/+22
In libobjc/: 2010-10-16 Nicola Pero <nicola.pero@meta-innovation.com> * objc/runtime.h (class_getIvarLayout): New. (class_getWeakIvarLayout): New. (class_setIvarLayout): New. (class_setWeakIvarLayout): New. * ivars.c (class_getIvarLayout): New. (class_getWeakIvarLayout): New. (class_setIvarLayout): New. (class_setWeakIvarLayout): New. From-SVN: r165533
2010-10-15In libobjc/: 2010-10-15 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero1-20/+52
In libobjc/: 2010-10-15 Nicola Pero <nicola.pero@meta-innovation.com> * objc/runtime.h (class_copyPropertyList): New. (class_getProperty): New. (property_getAttributes): New. (property_getName): New. * ivars.c (class_copyPropertyList): New. (class_getProperty): New. (property_getAttributes): New. (property_getName): New. From-SVN: r165531
2010-10-15In libobjc/: 2010-10-15 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero1-1/+20
In libobjc/: 2010-10-15 Nicola Pero <nicola.pero@meta-innovation.com> * objc-private/runtime.h (__objc_update_classes_with_methods): New. * class.c (__objc_update_classes_with_methods): New. (objc_getClassList): Do not lock the class lock. * methods.c (method_exchangeImplementations): New. (method_setImplementation): New. * objc/runtime.h (method_setImplementation): New. (method_exchangeImplementations): New. From-SVN: r165525
2010-10-15In libobjc/: 2010-10-15 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero1-6/+9
In libobjc/: 2010-10-15 Nicola Pero <nicola.pero@meta-innovation.com> * Protocol.m: Include objc/runtime.h and objc-private/module-abi-8.h instead of objc/objc-api.h. Do not repeat Protocol's instance variables. (struct objc_method_description_list): Do not define here. ([-conformsTo:]): Reimplemented on top of protocol_conformsTo(). ([descriptionForInstanceMethod:]): Use sel_isEqual() to compare selectors directly instead of getting names and then using strcmp. ([descriptionForClassMethod:]): Same change. ([-isEqual:]): Reimplemented on top of protocol_isEqual(). * protocols.c (protocol_getMethodDescription): Use sel_isEqual() to compare selectors directly instead of getting names and then using strcmp. * objc/Protocol.h: Updated comments. From-SVN: r165517
2010-10-15In libobjc/: 2010-10-14 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero1-9/+9
In libobjc/: 2010-10-14 Nicola Pero <nicola.pero@meta-innovation.com> * init.c (__objc_init_protocol): New function which fixes up a protocol's class pointer, registers it with the runtime, register all protocol selectors and registers associated protocols too. (objc_init_statics): Detect if we are initializing protocols, and if so, use __objc_init_protocol instead of only fixing up the class pointer. (__objc_init_protocls): Use __objc_init_protocol. * objc-private/module-abi-8.h: Updated comments. * objc-private/runtime.h (__objc_register_selectors_from_description_list): New. * selector.c (__objc_register_selectors_from_description_list): New. (struct objc_method_description_list): Declare. * Protocol.m ([-descriptionForInstanceMethod:]): Use sel_get_name when accessing the name of a method, which is now correctly a SEL. ([-descriptionForClassMethod:]): Same change. * protocols.c (protocol_getMethodDescription): Same change. * objc/runtime.h: Updated comments. (sel_registerTypedName): Fixed typo in function name. From-SVN: r165499
2010-10-13In libobjc/: 2010-10-13 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero1-0/+46
In libobjc/: 2010-10-13 Nicola Pero <nicola.pero@meta-innovation.com> * encoding.c (method_copyReturnType): New. (method_copyArgumentType): New. (method_getReturnType): New. (method_getArgumentType): New. * methods.c (method_getDescription): New. * objc/runtime.h (method_copyReturnType): New. (method_copyArgumentType): New. (method_getReturnType): New. (method_getArgumentType): New. (method_getDescription): New. From-SVN: r165404
2010-10-12Makefile.in (C_SOURCE_FILES): Added methods.c.Nicola Pero1-3/+92
2010-10-12 Nicola Pero <nicola.pero@meta-innovation.com> * Makefile.in (C_SOURCE_FILES): Added methods.c. * encoding.c (method_getNumberOfArguments): New. (method_get_number_of_arguments): Call method_getNumberOfArguments. * ivars.c (ivar_getName): Check for NULL variable argument. (ivar_getOffset): Check for NULL variable argument. (ivar_getTypeEncoding): Check for NULL variable argument. (class_copyIvarList): New. * methods.c: New. * protocols.c (class_copyProtocolList): Check for Nil class_ argument. * sendmsg.c: Use 'struct objc_method *' instead of Method_t, and 'struct objc_method_list *' instead of MethodList_t. (class_getMethodImplementation): New. (class_respondsToSelector): New. (class_getInstanceMethod): New. (class_getClassMethod): New. * objc/runtime.h: Updated comments. (class_copyIvarList): New. (class_getInstanceMethod): New. (class_getClassMethod): New. (class_getMethodImplementation): New. (class_respondsToSelector): New. (method_getName): New. (method_getImplementation): New. (method_getTypeEncoding): New. (class_copyMethodList): New. (method_getNumberOfArguments): New. From-SVN: r165400
2010-10-12In libobjc/: 2010-10-12 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero1-0/+50
In libobjc/: 2010-10-12 Nicola Pero <nicola.pero@meta-innovation.com> * class.c: Include objc/runtime.h and objc-private/module-abi-8.h instead of objc/objc-api.h. (objc_get_unknown_class_handler): Do not define. (class_isMetaClass): New. (class_getSuperclass): New. (class_getVersion): New. (class_setVersion): New. (class_getInstanceSize): New. * exceptions.c: Include objc/runtime.h instead of objc/objc-api.h. (is_kind_of_exception_matcher): Use objc_getSuperclass instead of objc_get_super_class. (get_ttype_entry): Use objc_getRequiredClass instead of objc_get_class. * ivars.c (class_getClassVariable): New. * objects.c: Include objc/runtime.h, objc/thr.h and objc-private/module-abi-8.h instead of objc/objc-api.h * objc/runtime.h (class_getClassVariable): New. (class_isMetaClass): New. (class_getSuperclass): New. (class_getVersion): New. (class_setVersion): New. (class_getInstanceSize): New. * objc-private/module-abi-8.h (HOST_BITS_PER_LONG): New (from objc/objc-api.h) (__CLS_INFO): Same. (__CLS_ISINFO): Same. (__CLS_SETINFO): Same. (CLS_ISMETA): Same. (CLS_ISCLASS): Same. (CLS_ISRESOLV): Same. (CLS_SETRESOLV): Same. (CLS_ISINITIALIZED): Same. (CLS_SETINITIALIZED): Same. (CLS_GETNUMBER): Same. (CLS_SETNUMBER): Same. From-SVN: r165392