summaryrefslogtreecommitdiff
path: root/libobjc/objc
Commit message (Collapse)AuthorAgeFilesLines
* 2013-07-21 Ondřej Bílka <neleai@seznam.cz>mrs2013-07-211-2/+2
| | | | | | | | | | | | * class.c: Fix typos. * encoding.c: Likewise. * init.c: Likewise. * objc-private/runtime.h: Likewise. * objc/runtime.h: Likewise. * objc-sync.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201097 138bc75d-0d04-0410-961f-82ee72b054a4
* Update copyright years in libobjc.rsandifo2013-02-0310-14/+10
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195693 138bc75d-0d04-0410-961f-82ee72b054a4
* Update Copyright years for files modified in 2011 and/or 2012.jakub2013-01-045-5/+6
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194903 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2011-08-061-4/+4
| | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177505 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2011-06-081-1/+1
| | | | | | | | | 2011-06-08 Nicola Pero <nicola.pero@meta-innovation.com> * objc/objc.h (__GNU_LIBOBJC__): Bumped to 20110608. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174799 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2011-06-081-11/+0
| | | | | | | | | | 2011-06-08 Nicola Pero <nicola.pero@meta-innovation.com> * objc/README: Updated. * objc-private/selector.h: Updated comments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174791 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2011-06-0723-884/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174765 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2011-06-033-19/+0
| | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174618 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2011-06-032-10/+0
| | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174617 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2011-06-032-4/+0
| | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174616 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2011-06-034-33/+0
| | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174615 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2011-06-032-4/+0
| | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174614 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2011-06-036-460/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174610 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2011-06-031-1/+0
| | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174607 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2011-06-032-157/+0
| | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174594 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2011-06-034-152/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174593 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2011-06-023-72/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174587 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2011-02-281-4/+6
| | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170563 138bc75d-0d04-0410-961f-82ee72b054a4
* Update Copyright years for files modified in 2010.jakub2011-01-034-4/+6
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168438 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-12-241-3/+3
| | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168231 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-12-241-9/+11
| | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168230 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-12-241-4/+41
| | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168229 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-12-241-2/+8
| | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168226 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-12-192-8/+29
| | | | | | | | | | 2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com> * objc/message.h: Updated comments. * objc/runtime.h: Updated comments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168062 138bc75d-0d04-0410-961f-82ee72b054a4
* In gcc/testsuite/:nicola2010-12-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168059 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-12-191-0/+9
| | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168058 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-12-192-26/+29
| | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168051 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-12-192-15/+28
| | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168044 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-12-191-1/+4
| | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168043 138bc75d-0d04-0410-961f-82ee72b054a4
* In gcc/testsuite/:nicola2010-12-193-58/+48
| | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168042 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-12-192-17/+13
| | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168041 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-12-192-12/+16
| | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168040 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-12-151-5/+20
| | | | | | | | | | | | | | | 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'. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167869 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-12-151-34/+85
| | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167864 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-12-151-5/+4
| | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167837 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-12-14 Nicola Pero <nicola.pero@meta-innovation.com>nicola2010-12-142-96/+91
| | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167825 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-12-111-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167712 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-12-11 Nicola Pero <nicola.pero@meta-innovation.com>nicola2010-12-111-2/+5
| | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167710 138bc75d-0d04-0410-961f-82ee72b054a4
* In gcc/:nicola2010-10-172-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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++. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165595 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-10-161-7/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165563 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-10-161-0/+22
| | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165533 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-10-151-20/+52
| | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165531 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-10-151-1/+20
| | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165525 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-10-151-6/+9
| | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165517 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-10-151-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165499 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-10-131-0/+46
| | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165404 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-10-12 Nicola Pero <nicola.pero@meta-innovation.com>nicola2010-10-121-3/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165400 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-10-121-0/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165392 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-10-12 Nicola Pero <nicola.pero@meta-innovation.com>nicola2010-10-122-8/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * archive.c: Do not include objc/objc.h. * class.c: Do not include objc/objc.h. * encoding.c: Include objc/runtime.h, ctype.h and objc-private/module-abi-8.h instead of objc/objc-api.h and objc/encoding.h. * error.c: Do not include objc/objc.h. * gc.c: Include tconfig.h and objc/encoding.h only if OBJC_WITH_GC. * hash.c: Include objc/runtime.h and objc/thr.h instead of objc/objc-api.h. Do not include objc/objc.h. * init.c: Do not include objc/objc.h. * ivars.c: Include objc/runtime.h, objc-private/module-abi-8.h and objc/thr.h instead of objc/objc-api.h. Do not include objc/objc.h. * linking.m: Tidied comment. * memory.c: Include objc/runtime.h instead of objc/objc-api.h. Do not include objc/objc.h. * objects.c: Do not include objc/objc.h. * objc-sync.c: Include objc/runtime.h instead of objc/objc-api.h. * protocols.c: Do not include objc/objc.h. * sarray.c: Include objc/runtime.h instead of objc/objc-api.h. Do not include objc/objc.h. * selector.c: Do not include objc/objc.h. * sendmsg.c: Do not include objc/objc.h. * thr.c: Include objc/runtime.h instead of objc/objc-api.h. Do not include objc/objc.h. * objc/objc-decls.h: Reindented code. * objc/runtime.h Include objc-decls.h. Updated comments. (objc_malloc): New. (objc_atomic_malloc): New. (objc_calloc): New. (objc_realloc): New. (objc_free): New. * objc-private/runtime.h: Updated comments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165386 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-10-122-0/+133
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2010-10-12 Nicola Pero <nicola.pero@meta-innovation.com> * Makefile.in (C_SOURCE_FILES): Added protocols.c. * objc-private/protocols.h: New. * protocols.c: New. * init.c: Include objc-private/protocols.h. (__objc_exec_class): Call __objc_protocols_init on startup. (__objc_init_protocols): Call __objc_protocols_add_protocol. * objc-private/runtime.h: Use (struct objc_method_list *) instead of MethodList_t, and (struct objc_method *) instead of Method_t. * objc/deprecated/struct_objc_class.h: Define __objc_STRUCT_OBJC_CLASS_defined. * objc-private/module-abi-8.h (struct objc_method_description_list): New. (struct objc_class): Only define if __objc_STRUCT_OBJC_CLASS_defined is undefined. * objc/runtime.h (class_getName): New. (objc_getProtocol): New. (objc_copyProtocolList): New. (class_addProtocol): New. (class_conformsToProtocol): New. (class_copyProtocolList): New. (protocol_conformsToProtocol): New. (protocol_isEqual): New. (protocol_getName): New. (protocol_getMethodDescription): New. (protocol_copyMethodDescriptionList): New. (protocol_getProperty): New. (protocol_copyPropertyList): New. (protocol_copyProtocolList): New. * class.c (class_getName): New. * selector.c (sel_isEqual): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165349 138bc75d-0d04-0410-961f-82ee72b054a4