summaryrefslogtreecommitdiffstats
path: root/libobjc/objc/objc-api.h
Commit message (Collapse)AuthorAgeFilesLines
* In libobjc/:nicola2011-06-071-394/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-031-3/+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-031-2/+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-031-2/+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-031-5/+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-031-3/+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-021-2/+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/:nicola2010-12-191-15/+20
| | | | | | | | | | | 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-10-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2010-10-11 Nicola Pero <nicola.pero@meta-innovation.com> * class.c (objc_getClassList): New. (objc_getRequiredClass): New. (objc_getMetaClass): New. (objc_lookupClass): New. (objc_getClass): New. (__objc_get_unknown_class_handler): New. (objc_setGetUnknownClassHandler): New. (objc_get_class): Use __objc_get_unknown_class_handler. (objc_lookup_class): Call objc_getClass. * objc/objc-api.h: Updated comment and copyright notice. * objc/runtime.h: Updated comments. (objc_getClass): New. (objc_lookupClass): New. (objc_getMetaClass): New. (objc_getRequiredClass): New. (objc_getClassList): New. (objc_setGetUnknownClassHandler): New. (objc_get_unknown_class_handler): New. * objc-private/runtime.h: Use __objc_private_runtime_INCLUDE_GNU instead of __objc_runtime_INCLUDE_GNU as include guard. * objc-private/error.h (_objc_abort): Mark as noreturn. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165326 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-10-11 Nicola Pero <nicola.pero@meta-innovation.com>nicola2010-10-101-9/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * objc/objc.h: Updated comments. * objc/objc-api.h: (object_copy): Added one argument; use a #define to maintain backwards-compatibility. Moved _objc_object_alloc, _objc_object_copy, _objc_object_dispose and objc_get_uninstalled_dtable into objc/deprecated/objc_get_uninstalled_dtable.h and objc/deprecated/objc_object_alloc.h. Include these files. * objc/deprecated/objc_get_uninstalled_dtable.h: New. * objc/deprecated/objc_object_alloc.h: New. * objc/runtime.h (set_getName): New. (sel_getType): New. (sel_getUid): New. (sel_registerName): New. (sel_registerTypedName): New. (sel_isEqual): New. (class_createInstance): New. (object_copy): New. (object_dispose): New. * objects.c: Do not include tconfig.h. Include gc_typed.h if building the garbage collection version. (__objc_object_alloc): Removed. (__objc_object_copy): Removed. (__objc_object_dispose): Removed. (class_createInstance): New from code in class_create_instance. Cast second argument of GC_malloc_explicitly_typed. Use objc_calloc. Do not call _objc_object_alloc. (class_create_instance): Call class_createInstance. (object_copy): Added extraBytes argument. Do not call _objc_object_copy. (object_dispose): Do not call _objc_object_dispose. * memory.c (objc_free): When using garbage collection, mark the argument as unused. * selector.c (sel_getName): New. (sel_get_name): Call sel_getName. (sel_getType): New. (sel_get_type): Call sel_getType. (sel_registerName): New. (sel_register_name): Call sel_registerName. (sel_registerTypedName): New. (sel_register_typed_name): Call sel_registerTypedName. (sel_getUid): New. (sel_get_uid): Call sel_getUid. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165264 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-10-101-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2010-10-10 Nicola Pero <nicola.pero@meta-innovation.com> * objc/objc-api.h: Define Method, Method_t, Category and Category_t. Prevent including this file at the same time as objc/runtime.h. Updated comments. * objc/deprecated/struct_objc_method.h: Do not define Method, Method_t. * objc/deprecated/struct_objc_category.h: Do not define Category, Category_t. * objc-private/module-abi-8.h: New file containing a copy of all the structure definitions. Not used yet. * objc/encoding.h (objc_aligned_size): Removed duplicate declaration. Updated comments. * objc/runtime.h: Added Ivar, objc_property_t, Property, Method, Category, struct objc_method_description, _C_ID and similar, _C_CONST and similar and _F_CONST and similar. Added objc_sizeof_type, objc_alignof_type, objc_aligned_size, objc_promoted_size, objc_skip_type_qualifier, objc_skip_typespec, objc_skip_offset, objc_skip_argspec, objc_get_type_qualifiers, struct objc_struct_layout, objc_layout_structure, objc_layout_structure_next_member, objc_layout_finish_structure, objc_layout_structure_get_info. Prevent including this file at the same time as objc/objc-api.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165256 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-10-101-149/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2010-10-10 Nicola Pero <nicola.pero@meta-innovation.com> * Makefile.in (OBJC_DEPRECATED_H): Added struct_objc_category.h, struct_objc_ivar.h, struct_objc_ivar_list.h, struct_objc_method.h, struct_objc_method_list.h, struct_objc_module.h, struct_objc_protocol_list.h, struct_objc_symtab.h. * objc/deprecated/struct_objc_category.h: New. * objc/deprecated/struct_objc_ivar.h: New. * objc/deprecated/struct_objc_ivar_list.h: New. * objc/deprecated/struct_objc_method.h: New. * objc/deprecated/struct_objc_method_list.h: New. * objc/deprecated/struct_objc_module.h: New. * objc/deprecated/struct_objc_protocol_list.h: New. * objc/deprecated/struct_objc_symtab.h: New. * objc/deprecated/struct_objc_static_instances.h: New. * objc/objc-api.h: Definitions of deprecated structures moved into the above header fragment files in objc/deprecated/. Include the files instead of definition the structures here. Updated comments. * objc/runtime.h: Updated comments. Do not include objc-api.h. (objc_set_enumeration_mutation_handler): Renamed to objc_setEnumerationMutationHandler. * objc-foreach.c (objc_set_enumeration_mutation_handler): Renamed to objc_setEnumerationMutationHandler. * objc/objc-exception.h (objc_set_exception_matcher): Renamed to objc_setExceptionMatcher. (objc_set_uncaught_exception_handler): Renamed to objc_setUncaughtExceptionHandler. * exception.c: Same changes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165249 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-10-091-8/+3
| | | | | | | | | | | | | | | | | | | 2010-10-10 Nicola Pero <nicola.pero@meta-innovation.com> * objc-foreach.c: Include objc-private/common.h. * objc/deprecated/METHOD_NULL.h: New file. * objc/objc-api.h: Include deprecated/METHOD_NULL.h instead of defining METHOD_NULL here. * Makefile.in (OBJC_DEPRECATED_H): Added METHOD_NULL.h. * Object.m ([+instancesRespondTo:]): Use (Method_t)0 instead of METHOD_NULL. ([-respondsTo:]): Same change. * objc/objc-api.h (method_get_imp): Converted it into a normal function so that we can hide the internals of struct objc_method. * sendmsg.c (method_get_imp): Implemented. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165241 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-10-091-30/+6
| | | | | | | | | | | | | 2010-10-09 Nicola Pero <nicola.pero@meta-innovation.com> * objc/objc-api.h (struct objc_super, Super, Super_t, objc_msg_lookup_super, objc_msg_sendv, objc_msg_forward, objc_msg_forward2): Declarations moved to objc/message.h. Include message.h here. * objc/message.h: Added such declarations; updated comments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165236 138bc75d-0d04-0410-961f-82ee72b054a4
* In gcc/:nicola2010-09-271-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com> * doc/objc.texi (Type encoding): Added the new 'long double' (D) code. Added byref, which was missing in the list of codes. Explain that enumeration values are encoded as the integer type that the compiler uses to store them. Explain and make examples of how 'const' interacts with pointers, and the complication of the encoding of 'const char *'. (Legacy type encoding): New subsection, explaining that GCC emits incorrect type encodings for the NeXT runtime for compatibility reasons. (@@encode): New subsection, explaining @encode and particularly that protocol qualifiers are not recognized inside an @encode() expression. (Method signatures): New subsection, explaining how method signatures are encoded. In gcc/objc/: 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com> PR objc/45763 PR objc/25450 PR objc/25464 * objc-act.c: Improved comments for encoding functions. (encode_aggregate_within): For the GNU runtime, rewritten some obsfuscated code to clarify the various cases. (encode_aggregate): Function removed. (encode_array): Generate an error if asked to encode an incomplete array as part of generating instance variables. Else, when encoding an incomplete array inside a structure, encode it as an array of zero size. (encode_pointer): For the GNU runtime, fixed encoding 'BOOL *' as '^c' instead of '*'. (encode_gnu_bitfield): Encode enumerated types exactly in the same type as integer types instead of using a hardcoded 'i'. If asked to encode a non-integer type as a bitfield, do not abort compilation immediately; instead generate an error, then skip the type. (encode_type): Use a 'switch' instead of a sequence of 'if's. Added a 'default' clause that gets executed if the type can not be matched, and that encodes it as '?' (unknown) and produces a warning. For the GNU runtime, encode enumerated types exactly in the same way as integer types instead of using a hardcoded 'i'. Encode long double as 'D'. Encode 128-bit integers as 'T' or 't'. Encode C++ reference types as pointers. Call encode_vector to encode vectors. (encode_vector): New function. 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com> Merge from 'apple/trunk' branch on FSF servers. I modified the changes to be used only when compiling for the NeXT runtime. 2005-10-10 Fariborz Jahanian <fjahanian@apple.com> Radar 4301047 * objc-act.c (encode_type): Remove the hack. 2005-07-20 Ziemowit Laski <zlaski@apple.com> Radar 4136935 * objc-act.c (pointee_is_readonly): New function. (encode_pointer, encode_aggregate_within, encode_type): Attempt to emulate GCC 3.3 when generating type encodings. In gcc/testsuite/: 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com> PR objc/25464 * objc.dg/type-size-3.m: New test. 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com> PR objc/45763 * objc.dg/encode-1.m: Execute the test with the GNU runtime as well. 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com> PR objc/25450 * objc.dg/encode-3.m: Updated for fix of encoding of enums. * objc.dg/type-size-2.m: Same change. * obj-c++.dg/encode-5.mm: Same change. 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com> Merge from 'apple/trunk' branch on FSF servers. The original Changelogs are below. * objc.dg/encode-6.m: Execute the test only with the GNU runtime. * objc.dg/encode-6-next.m: New file (from encode-6.m in the branch). * objc.dg/encode-7-next.m: New file (from encode-7.m in the branch). * objc.dg/encode-7-next-64bit.m: New file (from encode-7-64bit.m in the branch). * objc.dg/proto-qual-1.m: Test the 3.3 ABI on NeXT (from proto-qual-1.m in the branch) and the normal ABI on GNU. * objc.dg/threedotthree-abi-1.m: New file (from the branch). Run the test only with the NeXT runtime. * obj-c++/encode-1.mm: Execute the test only with the GNU runtime. * obj-c++/encode-1-next.mm: New file (from encode-1.mm in the branch). * obj-c++.dg/threedotthree-abi-1.mm: New file (from the branch). Run the test only with the NeXT runtime. 2006-03-30 Fariborz Jahanian <fjahanian@apple.com> Radar 4492973 * objc.dg/encode-7-64bit.m: New. * objc.dg/encode-7.m: Skip if -m64. 2005-10-19 Fariborz Jahanian <fjahanian@apple.com> Radar 4301047 * objc.dg/proto-qual-1.m: Fix test to match 3.3 ABI * obj-c++.dg/threedotthree-abi-1.mm: New * objc.dg/threedotthree-abi-1.m: New 2005-07-20 Ziemowit Laski <zlaski@apple.com> Radar 4136935 * obj-c++.dg/encode-1.mm: Tweak encodings to match fix. * objc.dg/encode-6.m: Likewise. * objc.dg/encode-7.m: New test case. In libobjc/: 2010-09-26 Nicola Pero <nicola.pero@meta-innovation.com> * encoding.c (objc_sizeof_type): Added support for vector type and for double long types. (objc_alignof_type): Same change. (objc_skip_typespec): Same change. * objc/encoding.h (_C_GCINVISIBLE): Use '|' for _C_GCINVISIBLE instead of '!' since '!' is already used for _C_VECTOR. * objc/objc-api.h (_C_LNG_DBL): Added. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164659 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-09-26 Kai Tietz <kai.tietz@onevision.com>ktietz2010-09-261-26/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sendmsg.c (get_imp): Remove inline. (objc_msg_lookup): Likewise. (objc_get_uninstalled_dtable): Likewise. * encoding.c (objc_skip_type_qualifiers): Likewise. (objc_skip_offset): Likewise. * archive.c (__objc_write_object): Likewise (__objc_write_class): (__objc_write_selector): (objc_read_char): (objc_read_unsigned_char): (objc_read_short): (objc_read_unsigned_short): (objc_read_int): (objc_read_long): (__objc_read_nbyte_uint): (objc_read_unsigned_int): (objc_read_unsigned_long): * objc/objc-decls.h (obc_EXPORT): Remove dllexport for DLL_EXPORT case. (objc_EXPORT): Likewise. * objc/message.h (objc-decls.h): Add include. * objc/objc-api.h: Mark API by objc_EXPORT. * libobjc.def (__objc_responds_to): Removed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164632 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-09-171-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | * objc/hash.h: Moved into objc/deprecated/hash.h; objc/hash.h replaced with a placeholder including the file from the deprecated/ directory. * objc/objc-api.h: Updated includes. * objc/typedstream.h: Updated includes. * objc-private/hash.h: New file (private copy of hash.h). * objc/objc-list.h: Moved into objc/deprecated/objc-list.h; objc/objc-list.h replaced with a placeholder including the file from the deprecated/ directory. * objc-private/objc-list.h: New file (private copy of objc-list.h). * init.c: Include objc-private/hash.h and objc-private/objc-list.h instead of objc/hash.h and objc/objc-list.h. * selector.c: Same change. * class.c: Added include <string.h>, which used to be implicitly included when hash.h was included. * exception.c: Same change. * objects.c: Same change. * sarray.c: Same change. * sendmsg.c: Same change. * Makefile.in (OBJC_DEPRECATED_H): Added hash.h and objc-list.h. (OBJC_H): Removed hash.h and objc-list.h git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164373 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-09-121-25/+8
| | | | | | | | | | | | | | | | | * objc/deprecated/objc_malloc.h: New file. * objc/deprecated/objc_valloc.h: New file. * objc/objc-api.h: Include the files instead of defining objc_valloc, _objc_malloc() and similar. * Makefile.in (OBJC_DEPRECATED_H): Added objc_valloc.h and objc_malloc.h. * memory.c: Removed the extra layer of indirection of _objc_malloc and similar. (objc_calloc): Use GC_malloc in the garbage-collected implementation as GC_malloc returns memory that is already freed. (objc_valloc): Deprecated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164224 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-09-121-49/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * objc/deprecated/objc_error.h: New file. * objc/objc-api.h: Include deprecated/objc_error.h instead of defining objc_error and related. * error.c: New file. Added _objc_abort function which replaces objc_error. No change in functionality as they both print an error and abort. * misc.c: File removed. Code moved into memory.c and error.c. * memory.c: New file. * objc-private/error.h: New file. * archive.c: Include objc-private/error.h and use _objc_abort instead of objc_error everywhere. * class.c: Same change. * encoding.c: Same change. * init.c: Same change, and simplified init_check_module_version. * memory.c: Same change. * sendmsg.c: Same change. * thr.c: Same change. * Makefile.in (OBJ_DEPRECATED_H): Added objc_error.h. (OBJ_H): Reordered list. (OBJS): Removed misc.lo, added memory.lo and error.lo. (OBJS_GC): Removed misc_gc.lo, added memory_gc.lo and error_gc.lo. (misc_gc.lo): Rule removed. (error_gc.lo): Rule added. (memory_gc.lo): Rule added. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164223 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-09-111-6/+0
| | | | | | | * objc/objc-api.h: Removed obsolete #ifdef for NeXTSTEP. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164217 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc:nicola2010-09-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * objc/deprecated/struct_objc_selector.h: New file. Definition of 'struct objc_selector' and 'sel_eq' moved here. * objc/deprecated/struct_objc_protocol.h: New file. Definition of 'struct objc_procotol' moved here. * objc/deprecated/struct_objc_class.h: New file. Definition of 'struct objc_class' moved here. * objc/deprecated/MetaClass.h: New file. Definition of MetClass moved here. * objc/deprecated/STR.h: New file. Definition of STR moved here. * objc/message.h: New file. Definitions for relval_t, apply_t, arglist, arglist_t and objc_msg_lookup were moved here. * objc/objc.h: Include the above files instead of defining the corresponding structs, types and functions here. Added new opaque definitions for SEL and Class. Use Class and not 'struct objc_class *' in the definition of 'struct objc_object'. Commented all types defined in the file. Removed special definition of BOOL as 'int' on __vxworks; use 'unsigned char' there as well. * objc/deprecated/objc-unexpected-exception.h: Renamed to objc_unexpected_exception.h. * objc/objc-api.h: Updated include of objc-unexpetected-exception.h * objc/objc-exception.h: Updated comments. * Makefile.in (OBJC_H, OBJC_DEPRECATED_H): Added the new header files. Reindented list of files. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164212 138bc75d-0d04-0410-961f-82ee72b054a4
* * libobjc/objc/objc-api.h (objc_trace): Unused variable removed.nicola2010-09-101-16/+12
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164199 138bc75d-0d04-0410-961f-82ee72b054a4
* * libobjc/objc/deprecated: New directory.nicola2010-09-101-10/+1
| | | | | | | | | | | | | | | | | | | | | | | | | * libobjc/objc/deprecated/README: New file. * libobjc/objc/README: New file. * libobjc/objc/typedstream.h: Moved into objc/deprecated/typedstream.h; objc/typedstream.h replaced with a placeholder including the file from the deprecated/ directory. * libobjc/objc/deprecated/objc-unexpected-exception.h: New file with the definition of _objc_unexpected_exception. * libobjc/objc/objc-api.h: Include deprecated/objc-unexcepted-exception.h instead of defining _objc_unexpected_exception. * libobjc/objc/deprecated/Object.h: New file with the deprecated Object methods in a 'Deprecated' category. * libobjc/objc/Object.h Include deprecated/Object.h instead of defining the deprecated methods. * libobjc/Object.m: Moved deprecated methods into 'Deprecated' category. * libobjc/objc-private: New directory. * libobjc/objc-private/README: New file. * libobjc/Makefile.in (OBJC_DEPRECATED_H): New variable. (install-headers): Create installation directory for OBJC_DEPRECATED_H headers, and install them. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164153 138bc75d-0d04-0410-961f-82ee72b054a4
* * objc/objc-exception.h: New file.nicola2010-09-081-5/+7
| | | | | | | | | | | | | | | | | | * exception.c (objc_set_uncaught_exception_handler): Implemented. (objc_set_exception_matcher): Implemented. (objc_exception_throw): Use the uncaught exception handler if set. (PERSONALITY_FUNCTION): Use the exception matcher instead of the hardcoded isKindOf. (isKindOf): Renamed to is_kind_of_exception_matcher. Tidied code up. Removed segmentation fault when value is 'nil'. * objc/objc-api.h (_objc_unexpected_exception): Mark as deprecated. * Makefile.in (exception.lo, exception_gc.lo): Use -Wno-deprecated-declarations when compiling. (OBJC_H): Added objc-exception.h git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164023 138bc75d-0d04-0410-961f-82ee72b054a4
* Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.jakub2009-04-091-10/+9
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145841 138bc75d-0d04-0410-961f-82ee72b054a4
* libobjc/ayers2009-03-121-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | 2009-03-12 Richard Frith-Macdonald <rfm@gnu.org> David Ayers <ayers@fsfe.org> PR libobjc/27466 * objc/objc-api.h (_objc_unexpected_exception): Declare new hook. Update copyright dates. * exception.c (objc_exception_throw): Use hook. Update copyright dates. * libobjc.def (_objc_unexpected_exception): Export hook. Update copyright dates. gcc/testsuite/ 2009-03-12 David Ayers <ayers@fsfe.org> PR libobjc/27466 * objc/execute/exceptions/handler-1.m. New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144826 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-04-09 Andrew Ruder <andy@aeruder.net>pinskia2007-04-091-44/+37
| | | | | | | | | | | * sendmsg.c: Added __objc_msg_forward2, a hook that allows external libraries to provide a function that returns the real forwarding function based on both the selector and the receiver. * objc/objc-api.h: Define __objc_msg_forward2. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123678 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-12-14 Andrew Pinski <pinskia@physics.uc.edu>pinskia2005-12-161-0/+1
| | | | | | | | | | | | | | | | | | PR objc/25360 * objc/objc-act.c (encode_type): Encode Complex types as 'j' followed by the inner type. 2005-12-14 Andrew Pinski <pinskia@physics.uc.edu> PR objc/25360 * objc/objc-api.c (_C_COMPLEX): New define. * encoding.c (objc_sizeof_type): Handle _C_Complex. (objc_alignof_type): Likewise. (objc_skip_typespec): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108675 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-12-11 Andrew Pinski <pinskia@physics.uc.edu>pinskia2005-12-111-0/+1
| | | | | | | | | | | | | | | | | PR libobjc/25346 * objc/objc-api.h (_C_BOOL): New define. * encoding.c (objc_sizeof_type): Handle _C_BOOL. (objc_alignof_type): Likewise. (objc_skip_typespec): Likewise. 2005-12-11 Andrew Pinski <pinskia@physics.uc.edu> PR libobjc/25346 * objc.dg/encode-7.m: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108378 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libobjc/23612uweigand2005-10-061-9/+9
| | | | | | | | * objc/objc-api.h (struct objc_ivar): Move definition to global scope. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105073 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-08-17 Kelley Cook <kcook@gcc.gnu.org>kcook2005-08-171-2/+2
| | | | | | | * All files: Update FSF address. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103197 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-06-08 David Ayers <d.ayers@inode.at>ayers2005-06-081-4/+4
| | | | | | | | | | | * objc/NXConstStr.h, objc/Object.h, objc/Protocol.h, objc/encoding.h, objc/hash.h, objc/objc-api.h, objc/runtime.h, objc/sarray.h, objc/thr.h, objc/typedstream.h: Do not include Objective-C headers as system headers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100760 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-08-13 Andrew Pinski <pinskia@physics.uc.edu>pinskia2004-08-131-3/+2
| | | | | | | | | | | | | * objc/Object.h: Move includes out of extern "C" blocks. * objc/encoding.h: Likewise. * objc/hash.h: Likewise. * objc/objc-api.h: Likewise. * objc/runtime.h: Likewise. * objc/sarray.h: Likewise. * objc/typedstream.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85968 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-08-12 Ziemowit Laski <zlaski@apple.com>zlaski2004-08-131-54/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * objc/NXConstStr.h: Update copyright date; bracket with 'extern "C"' for C++ use; make include syntax consistent by using <...> instead of "..."; hoist <objc/...> includes above the 'extern "C"' block. * objc/Object.h: Likewise. * objc/Protocol.h: Likewise. * objc/encoding.h: Likewise. * objc/hash.h: Likewise. * objc/runtime.h: Likewise. * objc/sarray.h: Likewise. * objc/thr.h: Likewise. * objc/typedstream.h: Likewise. * objc/objc-api.h: Add 'extern "C"' block for C++ use. (objc_static_instances): For C++ case, do away with zero-sized array. (objc_method): Hoist definition to file scope. (_objc_load_callback, _objc_object_alloc, class_get_class_method, class_get_instance_method, class_create_instance, class_get_class_name, class_get_instance_size, class_get_meta_class, class_get_super_class, class_get_version, class_is_class, class_is_meta_class, class_set_version, class_get_gc_object_type, class_ivar_set_gcinvisible, get_imp): Rename 'class' parameter to '_class'. * objc/objc-list.h: Add 'extern "C"' block for C++ use. * objc/objc.h: Update copyright date. (arglist_t): Provide a union tag. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85927 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-06-24 Andrew Pinski <apinski@apple.com>pinskia2004-06-251-0/+10
| | | | | | | | | | | | | | | * objc/encoding.h: Wrap the functions with extern "C" for C++ mode. * objc/hash.h: Likewise. * objc/objc-api.h: Likewise. * objc/objc-list.h: Likewise. * objc/runtime.h: Likewise. * objc/sarray.h: Likewise. * objc/thr.h: Likewise. * objc/typedstream.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83635 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-05-25 Andrew Pinski <pinskia@physics.uc.edu>pinskia2004-05-251-14/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge from the libobjc-branch 2004-02-09 Andrew Pinski <pinskia@physics.uc.edu> * Makefile.in (OBJC_H): Change objc-deps.h to objc-decls.h. 2004-02-03 Andrew Pinski <pinskia@physics.uc.edu> * Makefile.in (OBJC_H): Add objc-deps.h. 2004-01-27 Nicola Pero <n.pero@mi.flashnet.it> * Protocol.m ([-conformsTo:]): If the argument is nil, return NO. ([-hash], [-isEqual:]): New methods. 2004-01-27 Richard Frith-Macdonald <rfm@gnu.org> * sarray.c (sarray_free): Add a better comment. 2004-01-27 Adam Fedor <fedor@gnu.org> * hash.c (hash_add): Cast cachep to int. * selector.c (__sel_register_typed_name): Cast soffset_decode to int. 2004-01-27 Alexander Malmberg <alexander@malmberg.org> * selector.c: Rename register_selectors_from_list to __objc_register_selectors_from_list. Update caller. (__objc_register_selectors_from_list): Lock __objc_runtime_mutex while registering selectors. Use __sel_register_typed_name instead of sel_register_typed_name. Check for NULL method_name:s. (pool_alloc_selector): New function. (__sel_register_typed_name): Use pool_alloc_selector to allocate selector structures. * sendmsg.c (class_add_method_list): Use __objc_register_selectors_from_list. * objc/runtime.h: Add __objc_register_selectors_from_list. 2004-01-25 Adam Fedor <fedor@gnu.org> Nicola Pero <n.pero@mi.flashnet.it> Andrew Pinski <pinskia@physics.uc.edu> * objc/objc-decls.h: New file. * objc/objc-api.h (_objc_lookup_class): Mark as export. (_objc_load_callback): Likewise. (_objc_object_alloc): Likewise. (_objc_object_copy): Likewise. (_objc_object_dispose): Likewise. 2004-01-25 Andrew Pinski <pinskia@physics.uc.edu> * archive.c: s/__inline__/inline * sendmsg.c: Likewise. * encoding.c: Remove FIXME about the warning about unused variable. * sendmsg.c: Add a FIXME comment saying that this should be using libffi. * Makefile.in (LIBTOOL): Use @LIBTOOL@ now as it works. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@82253 138bc75d-0d04-0410-961f-82ee72b054a4
* [gcc/ChangeLog]zlaski2004-02-061-0/+4
| | | | | | | | | | | | | | | | | 2004-02-06 Ziemowit Laski <zlaski@apple.com> * objc/objc-act.c (build_super_template) the 'class' field of 'struct _objc_super' shall be named 'super_class' #ifdef OBJCPLUS. (get_super_receiver): Likewise. [gcc/libobjc/ChangeLog] 2004-02-06 Ziemowit Laski <zlaski@apple.com> * objc/objc-api.h (objc_super): The 'class' field shall be named 'super_class' #ifdef __cplusplus. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@77430 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-05-23 Nathanael Nerode <neroden@gcc.gnu.org>neroden2003-05-231-4/+4
| | | | | | | | | | | * Makefile.in, NXConstStr.m, Object.m, Protocol.m, archive.c, class.c, encoding.c, gc.c, objc/NXConstStr.h, objc/Object.h, objc/Protocol.h, objc/encoding.h, objc/hash.h, objc/objc-api.h, objc/objc-list.h, objc/objc.h, ocjc/runtime.h, objc/sarray.h, objc/thr.h, objc/typedstream.h: Replace "GNU CC" with "GCC". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67131 138bc75d-0d04-0410-961f-82ee72b054a4
* PR objc/6107hp2002-04-091-2/+2
| | | | | | | | * objc/objc-api.h (struct objc_protocol_list): Change type of member count from int to size_t. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52058 138bc75d-0d04-0410-961f-82ee72b054a4
* 2001-11-07 Aldy Hernandez <aldyh@redhat.com>aldyh2001-11-081-0/+1
| | | | | | | | | * objc-api.h (_C_VECTOR): New. * encoding.c (VECTOR_TYPE): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46849 138bc75d-0d04-0410-961f-82ee72b054a4
* Fixed object_is_class and object_is_metaclassnicola2001-07-161-7/+9
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@44039 138bc75d-0d04-0410-961f-82ee72b054a4
* Added __objc_msg_forward, a hook that allows external libraries toovidiu2001-01-031-0/+7
| | | | | | | | | provide a function that returns the real forwarding function. This can alleviate problems __builtin_apply() and friends have on various platforms. (Solution suggested by Helge Hess.) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38651 138bc75d-0d04-0410-961f-82ee72b054a4
* * All .h files pushed down into the objc/ subdirectory.law1998-09-301-0/+597
* Makefile.in (copy_headers): Corresponding changes. * configure.in (AC_INIT): Corresponding changes. * configure: Rebuilt. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22664 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud