diff options
author | upstream source tree <ports@midipix.org> | 2015-03-15 20:14:05 -0400 |
---|---|---|
committer | upstream source tree <ports@midipix.org> | 2015-03-15 20:14:05 -0400 |
commit | 554fd8c5195424bdbcabf5de30fdc183aba391bd (patch) | |
tree | 976dc5ab7fddf506dadce60ae936f43f58787092 /libobjc/ChangeLog | |
download | cbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.bz2 cbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.xz |
obtained gcc-4.6.4.tar.bz2 from upstream website;upstream
verified gcc-4.6.4.tar.bz2.sig;
imported gcc-4.6.4 source tree from verified upstream tarball.
downloading a git-generated archive based on the 'upstream' tag
should provide you with a source tree that is binary identical
to the one extracted from the above tarball.
if you have obtained the source via the command 'git clone',
however, do note that line-endings of files in your working
directory might differ from line-endings of the respective
files in the upstream repository.
Diffstat (limited to 'libobjc/ChangeLog')
-rw-r--r-- | libobjc/ChangeLog | 2925 |
1 files changed, 2925 insertions, 0 deletions
diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog new file mode 100644 index 000000000..b48054fd3 --- /dev/null +++ b/libobjc/ChangeLog @@ -0,0 +1,2925 @@ +2013-04-12 Release Manager + + * GCC 4.6.4 released. + +2012-03-01 Release Manager + + * GCC 4.6.3 released. + +2011-11-20 Andreas Tobler <andreast@fgznet.ch> + + * configure: Regenerate. + +2011-10-26 Release Manager + + * GCC 4.6.2 released. + +2011-10-14 Nicola Pero <nicola.pero@meta-innovation.com> + + Backport from mainline + 2011-10-09 Nicola Pero <nicola.pero@meta-innovation.com> + + PR libobjc/49883 + * init.c (__objc_exec_class): Work around a bug in clang's code + generation. Clang sets the class->info field to values different + from 0x1 or 0x2 (the only allowed values in the traditional GNU + Objective-C runtime ABI) to store some additional information, but + this breaks backwards compatibility. Wipe out all the bits in the + fields other than the first two upon loading a class. + +2011-10-14 Nicola Pero <nicola.pero@meta-innovation.com> + + Backport from mainline + 2011-08-06 Nicola Pero <nicola.pero@meta-innovation.com> + + PR libobjc/50002 + * class.c (__objc_update_classes_with_methods): Iterate over meta + classes as well as normal classes when refreshing the method + implementations. This fixes replacing class methods. + +2011-06-27 Release Manager + + * GCC 4.6.1 released. + +2011-05-25 Nicola Pero <nicola.pero@meta-innovation.com> + + Backport from mainline + 2011-05-24 Nicola Pero <nicola.pero@meta-innovation.com> + + PR libobjc/48177 + * selector.c (__sel_register_typed_name): Use sel_types_match() + instead of strcmp() to compare selector types (Suggestion by + Richard Frith-Macdonald <rfm@gnu.org>). + +2011-03-25 Release Manager + + * GCC 4.6.0 released. + +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. + +2011-02-28 Richard Frith-Macdonald <rfm@gnu.org> + + PR libobjc/47922 + * gc.c (class_ivar_set_gcinvisible): Use _C_GCINVISIBLE instead of + a hardcoded "!". + +2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * configure: Regenerate. + +2010-12-26 Nicola Pero <nicola.pero@meta-innovation.com> + + * init.c (create_tree_of_subclasses_inherited_from): Use + class_superclass_of_class instead of assuming a class is + unresolved when it could be resolved. Tidied up assignment and + check. + (__objc_tree_insert_class): Enhanced DEBUG_PRINTF. + (objc_tree_insert_class): Tidied up loop; return immediately upon + inserting a class. + (__objc_exec_class): Do not set __objc_class_tree_list. + +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. + +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. + +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. + +2010-12-24 Nicola Pero <nicola.pero@meta-innovation.com> + + * objc/runtime.h (class_conformsToProtocol, + class_copyProtocolList): Updated documentation. + +2010-12-23 Nicola Pero <nicola.pero@meta-innovation.com> + + * init.c (create_tree_of_subclasses_inherited_from): Updated + DEBUG_PRINTF messages. + (__objc_tree_insert_class): Same. + (__objc_send_load_using_method_list): Same. + (__objc_send_load): Same. + (__objc_exec_class): Same. In particular, do not print the module + name since it is no longer used. + * sendmsg.c (__objc_send_initialize): Added DEBUG_PRINTFs for + tracking +initialize calls. + (__objc_update_dispatch_table_for_class): Added DEBUG_PRINTFs for + tracking updates of dispatch tables. + (__objc_install_dispatch_table_for_class): Same. + +2010-12-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * Makefile.in (libobjc$(libsuffix).la): Link with -Wc,-shared-libgcc. + (libobjc_gc$(libsuffix).la): Likewise. + +2010-12-23 Nicola Pero <nicola.pero@meta-innovation.com> + + * sendmsg.c (class_addMethod): Return NO if the method already + exists in the class. + +2010-12-22 Nicola Pero <nicola.pero@meta-innovation.com> + + * init.c (duplicate_classes): New. + (__objc_exec_class): Initialize duplicate_classes. + (__objc_create_classes_tree): Ignore classes in the + duplicate_classes table. + (__objc_call_load_callback): Same. + (__objc_init_class): If a duplicate class is found, add it to + duplicate_classes instead of aborting. Return YES if the class is + not a duplicate, and NO if it is. + * objc-private/runtime.h (__objc_init_class): Updated prototype. + +2010-12-22 Nicola Pero <nicola.pero@meta-innovation.com> + + * objc-private/objc-list.h: Reindented file. No code changes. + * objc-private/sarray.h: Same change. + +2010-12-22 Nicola Pero <nicola.pero@meta-innovation.com> + + * objc-private/accessors.h: Removed 'extern "C"' guards. This + file is never compiled with C++. + * objc-private/hash.h: Same change. + * objc-private/objc-list.h: Same change. + * objc-private/objc-sync.h: Same change. + * objc-private/protocols.h: Same change. + * objc-private/runtime.h: Same change. + * objc-private/sarray.h: Same change. + * objc-private/selector.h: Same change. + +2010-12-21 Nicola Pero <nicola.pero@meta-innovation.com> + + PR libobjc/18764 + * class.c (__objc_add_class_to_hash): Return YES if the class was + added, and NO if it already existed. + * init.c (__objc_init_class): If __objc_add_class_to_hash returns + NO, then abort the program with an error message. + * objc-private/runtime.h (__objc_add_class_to_hash): Updated + declaration. + +2010-12-21 Nicola Pero <nicola.pero@meta-innovation.com> + + * init.c (_objc_load_callback): Initialize with 0. + (__objc_call_callback): Renamed to __objc_call_load_callback. + Check _objc_load_callback only once, and if it is not set, return + immediately. + (objc_send_load): Updated call to __objc_call_callback. + +2010-12-21 Nicola Pero <nicola.pero@meta-innovation.com> + + PR libobjc/16110 + * init.c (__objc_send_message_in_list): Renamed to + __objc_send_load_using_method_list. Do not take an 'op' argument. + Register the 'load' selector if needed. + (__objc_send_load): Do not register the 'load' selector. Updated + call to __objc_send_message_in_list. + (__objc_create_classes_tree): Add the class of any claimed + category that was loaded in the module to the list of classes for + which we try to execute +load. + +2010-12-21 Nicola Pero <nicola.pero@meta-innovation.com> + + * objc-private/common.h: When DEBUG is defined, include <stdio.h>. + Updated comments. + * init.c (__objc_tree_insert_class): Use %p, not %x, when printing + a pointer using DEBUG_PRINTF. + +2010-12-21 Nicola Pero <nicola.pero@meta-innovation.com> + + PR libobjc/45953 + * selector.c (__sel_register_typed_name): When registering a new + selector with the same name as an existing one, reuse the existing + name string. Also updated types, casts and comments in the whole + function. + +2010-12-21 Nicola Pero <nicola.pero@meta-innovation.com> + + * objc-private/module-abi-8.h (struct objc_symtab): Declare 'refs' + to be 'struct objc_selector *' and not 'SEL'. + * init.c (__objc_exec_class): Call + __objc_register_selectors_from_module instead of iterating over + each selector and calling __sel_register_typed_name for each. + * objc-private/selector.h: Declare + __objc_register_selectors_from_module instead of + __sel_register_typed_name. + * selector.c (__objc_register_selectors_from_module): New. + (__sel_register_typed_name): Made static. + +2010-12-21 Nicola Pero <nicola.pero@meta-innovation.com> + + * linking.m: Do not include objc/NXConstStr.h. + +2010-12-21 Nicola Pero <nicola.pero@meta-innovation.com> + + * objc-private/runtime.h (DEBUG_PRINTF): Moved from here ... + * objc-private/common.h (DEBUG_PRINTF): To here. + * hash.c: Do not include objc-private/runtime.h and objc/thr.h. + +2010-12-21 Nicola Pero <nicola.pero@meta-innovation.com> + + * hash.c: Tidied up comments and indentation. No code changes. + +2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com> + + PR libobjc/47012 + * accessors.m (objc_getProperty): If not atomic, do not + retain/autorelease the returned value. + +2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com> + + * objc-private/runtime.h (__objc_selector_max_index, + __objc_init_selector_tables, __objc_register_selectors_from_class, + __objc_register_selectors_from_list, + __objc_register_selectors_from_description_list): Moved to ... + * objc-private/selector.h: ... here. + +2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com> + + * objc-private/runtime.h (__objc_class_links_resolved): Removed. + (__objc_print_dtable_stats): Removed. + (__sel_register_typed_name): Removed. + * sendmsg.c (__objc_print_dtable_stats): Use 'void' as argument. + +2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com> + + * init.c (__objc_exec_class): Call __objc_resolve_class_links (), + if appropriate, after loading the module. + +2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com> + + * sendmsg.c (method_setImplementation): Do not declare. + +2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com> + + * objc/message.h: Updated comments. + * objc/runtime.h: Updated comments. + +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. + +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. + +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. + +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. + +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. + +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. + +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. + +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. + +2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com> + + * init.c: Include objc-private/selector.h. Do not declare + __sel_register_typed_name. + * objc-private/selector.h (__sel_register_typed_name): Declare. + * selector.c: Include objc-private/selector.h. + +2010-12-18 Nicola Pero <nicola.pero@meta-innovation.com> + + * class.c: Tidied up comments and indentation. No code changes. + * error.c: Same. + * exception.c: Same. + * init.c: Same. + * ivars.c: Same. + * memory.c: Same. + * objc-foreach.c: Same. + * objc-sync.c: Same. + * objects.c: Same. + * protocols.c: Same. + * sarray.c: Same. + * thr.c: Same. + +2010-12-17 Nicola Pero <nicola.pero@meta-innovation.com> + + * init.c: Include objc/runtime.h and objc-private/module-abi-8.h + instead of objc/objc-api.h. + (init_check_module_version): Take a 'struct objc_module *' + argument instead of 'Module_t'. Use 'struct objc_module *' + instead of 'Module_t'. + (__objc_created_classes_tree): Take a 'struct objc_module *' + argument instead of 'Module_t'; use 'struct objc_symtab *' instead + of 'Symtab_t'. + (__objc_call_callback): Take a 'struct objc_module *' argument + instead of 'Module_t'; use 'struct objc_symtab *' instead of + 'Symtab_t' and 'struct objc_category *' instead of 'Category_t'. + (_objc_load_callback): Take a 'struct objc_category *' argument + instead of 'Category *'. + (class_superclass_of_class): Use objc_getClass() instead of + objc_lookup_class(). + (create_tree_of_subclasses_inherited_from): Same change (also, use + an explicit 'if' instead of '?'). + (objc_init_statics): Same change. + (objc_send_load): Same change. + (__objc_init_protocol): same change. + (__objc_send_message_in_list): Take a 'struct objc_method_list *' + argument instead of 'MethodList_t'. Use 'struct objc_method *' + instead of 'Method_t'. + (__objc_send_load): Use 'struct objc_method_list *' instead of + 'MethodList_t'. Use sel_registerName() instead of + sel_register_name(). + (__objc_exec_class): Take a 'struct objc_module *' argument + instead of 'Module_t'. Use 'struct objc_symtab *' instead of + 'Symtab_t'. Use objc_getClass() instead of objc_lookup_class(). + Use 'struct objc_category *' instead of 'Category_t'. + +2010-12-16 Nicola Pero <nicola.pero@meta-innovation.com> + + * sendmsg.c: Include objc/runtime.h instead of objc/objc-api.h. + Include objc-private/module-abi-8.h and objc-private/selector.h + instead of objc/encoding.h. + (objc_msg_lookup_super): Use super->super_class instead of + super->class. + (method_get_first_argument, method_get_next_argument): Declare + locally. + (class_get_instance_method): Declare before using. + (objc_msg_sendv): Use 'struct objc_method' instead of 'Method'. + (__objc_init_dispatch_tables, __objc_send_initialize): Use + sel_registerName() instead of sel_register_name(). + (__objc_forward): Use sel_getName() instead of sel_get_name(). + (objc_get_uninstalled_dtable): Use 'void' as argument. + * objc-private/selector.h: New. + +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'. + +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. + +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. + +2010-12-15 Nicola Pero <nicola.pero@meta-innovation.com> + + * sendmsg.c: Reindented some code and tidied up comments. No + actual code changes. + +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. + +2010-12-14 Nicola Pero <nicola.pero@meta-innovation.com> + + * objects.c (object_copy): Do not #undef as we are no longer + including objc/objc-api.h. + * selector.c: Include objc/runtime.h and + objc-private/module-abi-8.h. Do not include objc/objc-api.h and + objc/encoding.h. Updated + (__objc_register_selectors_from_class): Use struct + objc_method_list * instead of MethodList_t. + (__objc_register_selectors_from_list): Use Method instead of + Method_t. + (struct objc_method_description_list): Do not define here. + (__objc_register_instance_methods_to_class): Use struct + objc_method_list * instead of MethodList_t and Method instead of + Method_t. + +2010-12-14 Nicola Pero <nicola.pero@meta-innovation.com> + + * selector.c: Reindented some code and tidied up comments. No + actual code changes. + +2010-12-13 Iain Sandoe <iains@gcc.gnu.org> + + * encoding.c (_darwin_rs6000_special_round_type_align): New. + (darwin_rs6000_special_round_type_align): Adjust to use new routine. + +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. + +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. + +2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com> + + PR target/40125 + PR lto/46695 + * configure.ac (extra_ldflags_libobjc): Invoke ACX_LT_HOST_FLAGS. + * Makefile.in (lt_host_flags): Import AC_SUBST'd value. + * aclocal.m4: Regenerate. + * configure: Regenerate. + +2010-12-03 Matthias Klose <doko@ubuntu.com> + + * configure.ac (VERSION): Bump the version to 3:0:0. + * configure: Regenerate. + +2010-11-23 Richard Frith-Macdonald <rfm@gnu.org> + + * sendmsg.c (get_imp): Fixed call to __objc_get_forward_imp to + pass nil as the receiver since we don't know the receiver at this + point. + +2010-11-18 Nicola Pero <nicola.pero@meta-innovation.com> + + * ivars.c: Include stdlib.h. + * protocols.c: Same change. + +2010-10-24 Nicola Pero <nicola.pero@meta-innovation.com> + + * Makefile.in (OBJC_SOURCE_FILES): Added accessors.m. + * accessors.m: New. + * init.c: Include objc-private/accessors.h. + (__objc_exec_class): Call __objc_accessors_init. + * objc-private/accessors.h: New. + +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++. + +2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com> + + * init.c (objc_send_load): Do not wait for NXConstantString to be + registered before executing +load. There is no point if + -fconstant-string-class=xxx is used when compiling all modules, + as is the case for almost all users. + * linking.m (__objc_linking): Do not try to forcefully link in + NXConstantString. + +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. + +2010-10-16 Nicola Pero <nicola.pero@meta-innovation.com> + + * class.c (class_getSuperclass): Call __objc_resolve_class_links + if the class is not resolved yet. + * ivars.c (class_getInstanceVariable): Use class_getSuperclass. + +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. + +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. + +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. + +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. + +2010-10-15 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. + +2010-10-13 Nicola Pero <nicola.pero@meta-innovation.com> + + PR libobjc/23214 + * init.c (objc_init_statics): Do not skip the initialization of a + statics list if the first object has already been initialized; in + the case of Protocols, while the first one may have been + initialized, some others may not have been initialized yet. + +2010-10-13 Nicola Pero <nicola.pero@meta-innovation.com> + + * Makefile.in (OBJC_DEPRECATED_H): Added + objc_get_uninstalled_dtable, objc_object_alloc.h and + struct_objc_static_instances.h. + +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. + +2010-10-12 Nicola Pero <nicola.pero@meta-innovation.com> + + * encoding.c: Tidied up comments. + (objc_skip_variable_name): New static inline function. + (objc_sizeof_type): Use objc_skip_variable_name instead of copying + the same code over and over. + (objc_alignof_type): Same. + (objc_aligned_size): Same. + (objc_promoted_size): Same. + (objc_skip_typespec): Same. + (objc_layout_structure_next_member): Same. + (objc_skip_offset): Skip a '-' before the digits (if any). Fixed + historical bug where objc_skip_offset would skip one byte even if + there is no offset: check that the first offset digit is actually + a digit before skipping it. + (objc_skip_type_qualifiers): Mark as inline. + (objc_skip_typespec): Mark as inline. + +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. + +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. + +2010-10-12 Nicola Pero <nicola.pero@meta-innovation.com> + + * 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. + +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. + +2010-10-12 Nicola Pero <nicola.pero@meta-innovation.com> + + * selector.c (sel_getName): Return "<null selector>" for a NULL + argument. + (sel_get_name): Return 0 for a NULL argument. + * objc/runtime.h (sel_getName): Updated documentation. + + * objc-private/hash.h (class_hash_table): Unused declaration + removed. + (module_hash_table): Same. + * objc/deprecated/hash.h: Same changes. + +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. + +2010-10-11 Nicola Pero <nicola.pero@meta-innovation.com> + + * Makefile.in (C_SOURCE_FILES): Added ivars.c. + * ivars.c: New. + * objc/objc.h: Updated comments. + * objc/runtime.h (object_getClass): New. + (object_getClassName): New. + (object_setClass): New. + (class_getInstanceVariable): New. + (object_getIndexedIvars): New. + (object_getInstanceVariable): New. + (object_setInstanceVariable): New. + (object_getIvar): New. + (object_setIvar): New. + (ivar_getName): New. + (ivar_getOffset): New. + (ivar_getTypeEncoding): New. + * objc-private/module-abi-8.h (struct objc_class): Added. + * objects.c (object_getClassName): New. + (object_setClass): New. + +2010-10-11 Nicola Pero <nicola.pero@meta-innovation.com> + + * 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. + +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. + +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. + +2010-10-10 Nicola Pero <nicola.pero@meta-innovation.com> + + * objc-sync.c: Include objc-private/common.h. + +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. + +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. + +2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com> + + Implemented fast enumeration for Objective-C. + * Makefile.in (C_SOURCE_FILES): Added objc-foreach.c. + (OBJC_H): Added runtime.h + * objc-foreach.c: New file. + * objc/runtime.h: New file. + +2010-09-30 Kai Tietz <kai.tietz@onevision.com> + + * objc/deprecated/struct_objc_class.h: Add padding + to avoid warning with -Wpadded. + +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. + +2010-09-26 Nicola Pero <nicola.pero@meta-innovation.com> + + * libobjc_entry.c: File removed. + +2010-09-26 Kai Tietz <kai.tietz@onevision.com> + + * sendmsg.c (objc_msg_lookup): Remove inline. + (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. + +2010-09-18 Nicola Pero <nicola.pero@meta-innovation.com> + + * hash.c: Include objc-private/hash.h instead of objc/hash.h. + + * objc/sarray.h: Moved into objc/deprecated/sarray.h; + objc/sarray.h replaced with a placeholder including the file from + the deprecated/ directory. + * objc-private/sarray.h: New file (private copy of sarray.h). + * hash.c: Include <assert.h> instead of "assert.h" + * sarray.c: Include <assert.h> instead of "assert.h". Include + objc-private/sarray.h instead of objc/sarray.h. + * selector.c: Include objc-private/sarray.h instead of + objc/sarray.h. + * sendmsg.c: Include <assert.h>. Include objc-private/sarray.h + instead of objc/sarray.h. + * Makefile.in (OBJC_DEPRECATED_H): Added sarray.h. + +2010-09-17 Nicola Pero <nicola.pero@meta-innovation.com> + + * objc-private/objc-list.h (list_remove_elem): Unused function + removed. (list_nth): Unused function removed. (list_find): + Unused function removed. (list_lenght): Unused function removed. + +2010-09-17 Nicola Pero <nicola.pero@meta-innovation.com> + + * 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. + +2010-09-14 Nicola Pero <nicola.pero@meta-innovation.com> + + Implemented objc_sync_enter() and objc_sync_exit(), which are + required by @synchronized() to work. + * objc-sync.c: New file. + * objc/objc-sync.h: New file. + * objc-private/objc-sync.h: New file. + * init.c (__objc_exec_class): Call __objc_sync_init() during the + Objective-C runtime startup. + * Makefile.in: Added objc-sync.c and objc-sync.h. + * configure.ac: Added GCC_CHECK_TLS. + * acinclude.m4: Include ../config/enable.m4 and ../config/tls.m4. + * configure: Regenerated. + * config.h.in: Regenerated. + +2010-09-12 Nicola Pero <nicola.pero@meta-innovation.com> + + * Makefile.in (%_gc.lo): New pattern rules to build the + garbage-collected version of the library. Removed rules for + specific files that are no longer needed. Standardized all rules. + (C_SOURCE_FILES, OBJC_SOURCE_FILES): New variables. + (OBJS, OBJS_GC): Compute these from C_SOURCE_FILES and + OBJC_SOURCE_FILES. + (INCLUDES): Removed the unused include -I$(srcdir)/objc. + +2010-09-12 Nicola Pero <nicola.pero@meta-innovation.com> + + * memory.c (objc_calloc): Fixed call to GC_malloc when building + with Garbage Colletion. + +2010-09-12 Nicola Pero <nicola.pero@meta-innovation.com> + + * memory.c: Do not include objc-private/runtime.h. + +2010-09-12 Nicola Pero <nicola.pero@meta-innovation.com> + + * 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. + +2010-09-12 Nicola Pero <nicola.pero@meta-innovation.com> + + * 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. + +2010-09-12 Nicola Pero <nicola.pero@meta-innovation.com> + + * objc/objc.h (__GNU_LIBOBJC__): New #define providing an easy way + to check the API version. Added some comments. + + * objc-private/common.h: New file. + * NXConstStr.m: Include objc-private/common.h. + * Object.m: Same change. + * Protocol.m: Same change. + * archive.c: Same change. + * class.c: Same change. + * encoding.c: Same change. + * exception.c: Same change. + * gc.c: Same change. + * hash.c: Same change. + * init.c: Same change. + * libobjc_entry.c: Same change. + * linking.m: Same change. + * misc.c: Same change (and added a comment). + * nil_method.c: Same change. + * objects.c: Same change. + * sarray.c: Same change. + * selector.c: Same change. + * sendmsg.c: Same change. + * thr.c: Same change. + +2010-09-11 Nicola Pero <nicola.pero@meta-innovation.com> + + * objc/objc-api.h: Removed obsolete #ifdef for NeXTSTEP. + +2010-09-11 Nicola Pero <nicola.pero@meta-innovation.com> + + * archive.c: Removed not needed includes. + * class.c: Same change. + * hash.c: Same change. + * misc.c: Same change. + * nil_method.c: Same change. + * objects.c: Same change. + * sarray.c: Same change. + * sendmsg.c: Same change. + * thr.c: Same change. + +2010-09-11 Nicola Pero <nicola.pero@meta-innovation.com> + + * objc/runtime.h: Moved to objc-private/runtime.h. Do not include + all the objc/*.h files. + * objc-private/runtime.h: New file. + * archive.c: Include objc-private/runtime.h (and required objc/*.h + files) instead of objc/runtime.h. + * class.c: Same change. + * hash.c: Same change. + * init.c: Same change. + * misc.c: Same change. + * nil_method.c: Same change. + * objects.c: Same change. + * sarray.c: Same change. + * selector.c: Same change. + * sendmsg.c: Same change. + * thr.c: Same change. + +2010-09-11 Nicola Pero <nicola.pero@meta-innovation.com> + + * 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. + +2010-09-10 Nicola Pero <nicola.pero@meta-innovation.com> + + * objc/objc-api.h (objc_trace): Unused variable removed. + +2010-09-10 Nicola Pero <nicola.pero@meta-innovation.com> + + * objc/deprecated: New directory. + * objc/deprecated/README: New file. + * objc/README: New file. + * objc/typedstream.h: Moved into objc/deprecated/typedstream.h; + objc/typedstream.h replaced with a placeholder including the file + from the deprecated/ directory. + * objc/deprecated/objc-unexpected-exception.h: New file with the + definition of _objc_unexpected_exception. + * objc/objc-api.h: Include deprecated/objc-unexcepted-exception.h + instead of defining _objc_unexpected_exception. + * objc/deprecated/Object.h: New file with the deprecated Object + methods in a 'Deprecated' category. + * objc/Object.h Include deprecated/Object.h instead of defining + the deprecated methods. + * Object.m: Moved deprecated methods into 'Deprecated' category. + * objc-private: New directory. + * objc-private/README: New file. + * Makefile.in (OBJC_DEPRECATED_H): New variable. + (install-headers): Create installation directory for + OBJC_DEPRECATED_H headers, and install them. + +2010-09-10 Nicola Pero <nicola.pero@meta-innovation.com> + + * objc/objc-exception.h: Fixed include of objc.h. + +2010-09-08 Nicola Pero <nicola.pero@meta-innovation.com> + + * objc/objc-exception.h: New file. + * 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 + +2010-09-08 Nicola Pero <nicola.pero@meta-innovation.com> + + * objc/typedstream.h: Deprecate all functions in the file. This + file is obsolete. + * objc/Object.h ([+streamVersion:], [-read:], [-write:], + [-awake]): Documented that these methods are deprecated. Added a + brief description of the Object class and its relationship to the + NSObject class. + * Makefile.in: Compile archive.c and Object.m with + -Wno-deprecated-declarations. + +2010-09-08 Nicola Pero <nicola.pero@meta-innovation.com> + + Removed obsolete intermediate threading layer. + * thr.c: Use __gthread_objc_xxx functions directly instead of + __objc_thread_xxx ones. + * objc/thr.h: Removed prototypes of no longer existing + __objc_thread_xxx functions. + * Makefile.in: Removed thr-objc.lo. + * thr-dce.c: File removed. + * thr-decosf1.c: File removed. + * thr-irix.c: File removed. + * thr-mach.c: File removed. + * thr-objc.c: File removed. + * thr-os2.c: File removed. + * thr-posix.c: File removed. + * thr-pthreads.c: File removed. + * thr-rtems.c: File removed. + * thr-single.c: File removed. + * thr-solaris.c: File removed. + * thr-vxworks.c: File removed. + * thr-win32.c: File removed. + * README.threads: File removed. + * THREADS.MACH: File removed. + * THREADS: Updated. + +2010-09-07 Nicola Pero <nicola.pero@meta-innovation.com> + + * Object.m (MAX_CLASS_NAME_LEN): Unused define removed. + +2010-09-06 Iain Sandoe <iains@gcc.gnu.org> + + * encoding.c: Add TARGET_ALIGN_NATURAL definition for m64 powerpc darwin. + Add a comment as to why, update FIXME comments. + +2010-09-06 Nicola Pero <nicola.pero@meta-innovation.com> + + * makefile.dos: Obsolete file removed. + +2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * aclocal.m4: Regenerate. + +2010-03-23 Dave Korn <dave.korn.cygwin@gmail.com> + + PR libobjc/30445 + * configure.ac (extra_ldflags_libobjc): Define appropriately for + Cygwin and MinGW hosts. + * Makefile.am (libobjc_s.a): Remove dead pre-libtool target. + (libobjc.dll): Likewise. + * configure: Regenerate. + +2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * configure: Regenerate. + +2009-11-28 Jakub Jelinek <jakub@redhat.com> + + * sarray.c (sarray_free): Use old_buckets variable. + * encoding.c (objc_layout_structure_next_member): Remove unused + bfld_type_size variable. + +2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * configure.ac (AC_PREREQ): Bump to 2.64. + +2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * aclocal.m4: Regenerate. + * configure: Regenerate. + * config.h.in: Regenerate. + +2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * Makefile.in (LIBTOOL): Add $(LIBTOOLFLAGS). + +2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * Makefile.in (AUTOCONF, ACLOCAL, ACLOCAL_AMFLAGS, aclocal_deps): + New variables. + ($(srcdir)/configure, $(srcdir)/aclocal.m4): New rules. + +2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force. + +2009-04-09 Nick Clifton <nickc@redhat.com> + + * sendmsg.c: Change copyright header to refer to version 3 of + the GNU General Public License with version 3.1 of the GCC + Runtime Library Exception and to point readers at the COPYING3 + and COPYING3.RUNTIME files and the FSF's license web page. + * NXConstStr.m: Likewise. + * Object.m: Likewise. + * Protocol.m: Likewise. + * archive.c: Likewise. + * class.c: Likewise. + * encoding.c: Likewise. + * exception.c: Likewise. + * gc.c: Likewise. + * hash.c: Likewise. + * init.c: Likewise. + * libobjc_entry.c: Likewise. + * linking.m: Likewise. + * misc.c: Likewise. + * nil_method.c: Likewise. + * objc/NXConstStr.h: Likewise. + * objc/Object.h: Likewise. + * objc/Protocol.h: Likewise. + * objc/encoding.h: Likewise. + * objc/hash.h: Likewise. + * objc/objc-api.h: Likewise. + * objc/objc-decls.h: Likewise. + * objc/objc-list.h: Likewise. + * objc/objc.h: Likewise. + * objc/runtime.h: Likewise. + * objc/sarray.h: Likewise. + * objc/thr.h: Likewise. + * objc/typedstream.h: Likewise. + * objects.c: Likewise. + * sarray.c: Likewise. + * selector.c: Likewise. + * thr-dce.c: Likewise. + * thr-decosf1.c: Likewise. + * thr-irix.c: Likewise. + * thr-mach.c: Likewise. + * thr-objc.c: Likewise. + * thr-os2.c: Likewise. + * thr-posix.c: Likewise. + * thr-pthreads.c: Likewise. + * thr-rtems.c: Likewise. + * thr-single.c: Likewise. + * thr-solaris.c: Likewise. + * thr-vxworks.c: Likewise. + * thr-win32.c: Likewise. + * thr.c: Likewise. + * libobjc.def: Change copyright header to refer to version 3 of + the GNU General Public License and to point readers at the COPYING3 + file and the FSF's license web page. + * makefile.dos: Likewise. + +2009-04-09 Jakub Jelinek <jakub@redhat.com> + + * Makefile.in: Change copyright header to refer to version + 3 of the GNU General Public License and to point readers at the + COPYING3 file and the FSF's license web page. + * configure.ac: Likewise. + +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. + +2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * configure: Regenerate. + +2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * configure: Regenerate. + +2008-11-21 Kai Tietz <kai.tietz@onevision.com> + + * Object.m (errno): Replaced by errno.h include. + (compare): Cast self to id to prevent warning on comparison. + * objc/objc.h (BOOL): Prevent redeclaration of BOOL, if it is + already there. + * sendmsg.c (__objc_print_dtable_stats): Remove type warnings. + * thr-win32.c (__objc_thread_detach): Remove type warning. + (__objc_thread_id): Likewise. + * thr.c (__objc_thread_detach_functiont): Add __builtin_trap () + for noreturn. + +2008-09-26 Peter O'Gorman <pogma@thewrittenword.com> + Steve Ellcey <sje@cup.hp.com> + + * configure: Regenerate for new libtool. + * config.h.in: Regenerate for new libtool. + +2008-07-18 Matthias Klose <doko@ubuntu.com> + + * Makefile.in: Ignore missing ../boehm-gc/threads.mk. + +2008-07-18 Matthias Klose <doko@ubuntu.com> + + * Makefile.in: Include ../boehm-gc/threads.mk. + (OBJC_BOEHM_GC_LIBS): Define, (libobjc_gc$(libsuffix).la): Use it. + +2008-07-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * Makefile.in (install-info): New stub target. + +2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * configure: Regenerate. + +2008-06-14 Kai Tietz <kai.tietz@onevision.com> + + * exception.c (PERSONALITY_FUNCTION): Remove extra decrement + if HAVE_GETIPINFO is not defined. + +2008-06-10 Kai Tietz <kai.tietz@onevision.com> + + * Object.m (compare): Add type id. + * objc/Object.h: Likewise. + * archive.c (objc_read_class): Use size_t to extend version to be + size of pointer scalar width. + * sendmsg.c (rtx): Undefine it before redefinition. + (__objc_print_dtable_stats): Cast arguments to long as intended. + +2008-05-30 Julian Brown <julian@codesourcery.com> + + * exception.c (__objc_exception_class): Initialise as constant + array for ARM EABI. Change macro to static const for non-ARM EABI. + (ObjcException): Add note about structure layout. Remove landingPad + and handlerSwitchValue for ARM EABI. + (get_ttype_entry): Add __ARM_EABI_UNWINDER__ version + of function. + (CONTINUE_UNWINDING): Define for ARM EABI/otherwise cases. + (PERSONALITY_FUNCTION): Use ARM EABI-specific arguments, and add + ARM EABI unwinding support. + (objc_exception_throw): Use memcpy to initialise exception class. + +2008-05-25 Alan Modra <amodra@bigpond.net.au> + + * encoding.c (strip_array_types): Rename from get_inner_array_type. + (rs6000_special_round_type_align): Update. + +2008-05-09 Julian Brown <julian@codesourcery.com> + + * Makefile.in (LTLDFLAGS): New. + (libobjc$(libsuffix).la, libobjc_gc$(libsuffix).la): Use above. + +2008-04-18 Paolo Bonzini <bonzini@gnu.org> + + PR bootstrap/35457 + * aclocal.m4: Regenerate. + * configure: Regenerate. + +2008-01-24 David Edelsohn <edelsohn@gnu.org> + + * configure: Regenerate. + +2007-10-14 H.J. Lu <hongjiu.lu@intel.com> + + * configure.ac: Don't run config-ml.in directly. + (multilib_arg): New. + * configure: Regenerated. + +2007-08-06 Andrew Pinski <pinskia@gmail.com> + + PR libobjc/30731 + * exception.c (parse_lsda_header): Use _uleb128_t/_sleb128_t instead + of _Unwind_Word for variables which are used in + read_uleb128/read_sleb128. + (PERSONALITY_FUNCTION): Likewise. + +2007-07-05 H.J. Lu <hongjiu.lu@intel.com> + + * aclocal.m4: Regenerated. + +2007-06-03 Andrew Pinski <andrew_pinski@playstation.sony.com> + + * configure.ac: Fix a typo in *-*-darwin clause. + * configure: Regenerated. + +2007-06-02 H.J. Lu <hongjiu.lu@intel.com> + + * configure.ac: Fix a typo. + * configure: Regenerated. + +2007-06-02 Paolo Bonzini <bonzini@gnu.org> + + * configure: Regenerate. + +2007-06-01 Andrew Pinski <andrew_pinski@playstation.sony.com> + + * Makefile.in: Replace all uses of libext with libsuffix. + * configure.ac: Likewise. + * configure: Regenerate. + + Revert: + * Makefile.in: Remove all uses of $(libext). + +2007-05-23 Andrew Pinski <andrew_pinski@playstation.sony.com> + + * Makefile.in: Remove all uses of $(libext). + +2007-05-23 Steve Ellcey <sje@cup.hp.com> + + * configure: Regenerate. + * aclocal.m4: Regenerate. + +2007-04-21 Andrew Ruder <andy@aeruder.net> + + * sendmsg.c (__objc_get_forward_imp): Call + __objc_msg_forward2 for real. + +2007-04-09 Andrew Ruder <andy@aeruder.net> + + * 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. + +2007-03-01 Brooks Moses <brooks.moses@codesourcery.com> + + * Makefile.in: Add dummy install-pdf target. + +2007-02-18 Manuel Lopez-Ibanez <manu@gcc.gnu.org> + + * objc/objc-list.h (list_free): Add keyword 'inline' to avoid + unused warning. + +2006-10-31 Geoffrey Keating <geoffk@apple.com> + + * encoding.c (darwin_rs6000_special_round_type_align): New. + +2006-10-14 Geoffrey Keating <geoffk@apple.com> + + * Makefile.in: Use multi_basedir instead of toplevel_srcdir. + * configure.ac: Use multi.m4 from aclocal rather than custom + code. Use multi_basedir instead of toplevel_srcdir. + * aclocal.m4: Regenerate. + * configure: Regenerate. + +2006-10-10 Brooks Moses <bmoses@stanford.edu> + + * Makefile.in: Added empty "pdf" target. + +2006-07-18 Paolo Bonzini <bonzini@gnu.org> + + * configure: Regenerate. + +2006-05-23 Carlos O'Donell <carlos@codesourcery.com> + + * Makefile.in: Add install-html target. Add install-html to .PHONY + +2006-02-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> + + PR libobjc/26309 + * thr-objc.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX. + +2006-01-24 David Ayers <d.ayers@inode.at> + + PR libobjc/9751 + * gc.c (class_ivar_set_gcinvisible): Replace strncpy with memcpy + and insure the new strings are '\0' termintated. + +2006-01-24 David Ayers <d.ayers@inode.at> + + PR libobjc/13946 + * configure.ac: Add include directives for --enable-objc-gc. + * Makefile.in: Ditto. + * configure: Regenerate. + + * gc.c (__objc_class_structure_encoding): Increment the used bytes + instead of the local pointer to them. + +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. + +2005-12-15 David Ayers <d.ayers@inode.at> + + PR libobjc/14382 + * README (+load,+initialize): Fix documentation to reflect + intended and implemented semantics for +load and +initialize. + +2005-12-12 Andrew Pinski <pinskia@physics.uc.edu> + + * encoding.c (TYPE_FIELDS): Fix to skip over just _C_STRUCT_B and + the name. + (get_inner_array_type): Fix to skip over _C_ARY_B and size. + (rs6000_special_round_type_align): Update for the ABI fix. + (objc_layout_finish_structure): Correct the encoding which is passed to + ROUND_TYPE_ALIGN. + +2005-12-11 Andrew Pinski <pinskia@physics.uc.edu> + + PR libobjc/25347 + * encoding.c (objc_sizeof_type): Don't handle _C_UNION_B special + but use the struct layout functions. + (objc_alignof_type): Likewise. + (objc_layout_structure): Handle _C_UNION_B also. + (objc_layout_structure_next_member): Likewise. + (objc_layout_finish_structure): Likewise. + +2005-12-11 Andrew Pinski <pinskia@physics.uc.edu> + + 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-11-20 David Ayers <d.ayers@inode.at> + + PR libobjc/19024 + * objc/hash.h: Remove deprecated hash API. + * hash_compat.c: Remove. + * Makefile.in: Remove reference to hash_compat.c. + + * configure.ac (VERSION): Bump library version to 2:0:0. + * configure: Regenerate. + +2005-11-09 Alexandre Oliva <aoliva@redhat.com> + + PR other/4372 + * thr-objc.c (_XOPEN_SOURCE): Define. + +2005-10-07 Ulrich Weigand <uweigand@de.ibm.com> + + PR libobjc/23612 + * objc/objc-api.h (struct objc_ivar): Move definition to + global scope. + +2005-09-04 Andrew Pinski <pinskia@physics.uc.edu> + Rasmus Hahn <rassahah@neofonie.de> + + PR libobjc/23108 + * archive.c (objc_write_type): Correct the element offset. + (objc_read_type): Likewise. + +2005-08-17 Kelley Cook <kcook@gcc.gnu.org> + + * All files: Update FSF address. + +2005-08-13 Marcin Koziej <creep@desk.pl> + Andrew Pinski <pinskia@physics.uc.edu> + + PR libobjc/22492 + * exception.c (PERSONALITY_FUNCTION): Fix the PC with finally. + +2005-08-13 Andrew Pinski <pinskia@physics.uc.edu> + + * Makefile.in (extra_ldflags_libobjc): New. + (libobjc$(libext).la): Add extra_ldflags_libobjc to the link line. + (libobjc_gc$(libext).la): Likewise. + * configure.ac (extra_ldflags_libgfortran): Set for *-darwin* to + "-Wl,-single_module". + * configure: Regenerate. + * linking.m (_objcInit): Remove. + +2005-07-26 Andrew Pinski <pinskia@physics.uc.edu> + + PR libobjc/22606 + * Makefile.in (ALL_CFLAGS): Add -fexceptions. + +2005-06-08 David Ayers <d.ayers@inode.at> + + * 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. + +2005-06-07 David Ayers <d.ayers@inode.at> + + * archive.c, init.c, selector.c: Include hash.h. + * archive.c, class.c, encoding.c, gc.c, hash.c, hash_compat.c, + init.c, misc.c, nil_method.c, objects.c, sarray.c, selector.c, + sendmsg.c, thr-dce.c, thr-decosf1.c, thr-irix.c, thr-mach.c, + thr-objc.c, thr-os2.c, thr-posix.c, thr-pthreads.c, thr-rtems.c, + thr-single.c, thr-solaris.c, thr-vxworks.c, thr-win32.c, thr.c: + Include Objective-C headers with quotes and objc/ directory + prefix. + +2005-05-19 Richard Henderson <rth@redhat.com> + + * exception.c: Revert last change. + +2005-05-19 David Ayers <d.ayers@inode.at> + + * exception.c: Include tsystem.h for unwind.h. + +2005-05-09 Mike Stump <mrs@apple.com> + + * configure: Regenerate. + +2005-04-12 Mike Stump <mrs@apple.com> + + * configure: Regenerate. + +2005-03-21 Zack Weinberg <zack@codesourcery.com> + + * Makefile.in: Set gcc_version here. + * configure.ac: Do not invoke TL_AC_GCC_VERSION. Adjust quoting + in definition of toolexeclibdir so that $(gcc_version) is expanded + by the Makefile. + * aclocal.m4, configure: Regenerate. + +2005-03-03 David Ayers <d.ayers@inode.at> + + * objc/hash.h (OBJC_IGNORE_DEPRECATED_API): Update deprecated + version reference. Correct typo. + +2005-03-02 David Ayers <d.ayers@inode.at> + + PR libobjc/19024 + * Makefile.in (OBJS): Add hash_compat.lo. + (OBJS_GC): Add hash_compat_gc.lo. + (hash_compat_gc.lo): New target and rule. + * objc/hash.h (hash_new, hash_delete, hash_add, hash_remove) + (hash_next, hash_value_for_key, hash_is_key_in_hash) + (hash_ptr, hash_string, compare_ptrs, compare_strings): Prefix + with objc_. Add deprecated non prefixed inlined versions. + (OBJC_IGNORE_DEPRECATED_API): New macro to hide deprecated + declarations. + * hash.c (hash_new, hash_delete, hash_add, hash_remove, hash_next) + (hash_value_for_key, hash_is_key_in_hash): Prefix with objc_ and + update callers. + * hash_compat.c: New file. + * archive.c: Update callers. + * init.c: Likewise. + * selector.c: Likewise. + * libobjc.def: Add objc_ versions of hash functions. + +2005-02-28 Andrew Pinski <pinskia@physics.uc.edu> + + PR libobjc/20252 + * Makefile.in (GTHREAD_FLAGS): Remove. + (ALL_CFLAGS): Remove usage of GTHREAD_FLAGS. + * thr-objc.c: Include config.h. + * configure.ac: Instead of looking at GCC's makefile, figure out if + GTHREAD_FLAGS should be defined by looking at the `thread model' + of the current gcc. + * configure: Regenerate. + * config.h.in: Regenerate. + +2005-02-28 Paolo Bonzini <bonzini@gnu.org> + + PR bootstrap/17383 + * configure.ac: Call GCC_TOPLEV_SUBDIRS. + (Determine CFLAGS for gthread): Use $host_subdir. + * configure: Regenerate. + * Makefile.in (host_subdir): New. + (INCLUDES): Use it. + +2004-12-20 Andrew Pinski <pinskia@physics.uc.edu> + + PR libobjc/12035 + * gc.c: Remove definition of LOGWL, modWORDSZ, and divWORDSZ since + they are not used. + Include limits.h and stdlib.h. + Define BITS_PER_WORD. + +2004-12-12 Alexander Malmberg <alexander@malmberg.org> + + * selector.c (__objc_init_selector_tables): Add missing void to + definition. + +2004-12-02 Richard Sandiford <rsandifo@redhat.com> + + * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version. + * configure, aclocal.m4: Regenerate. + +2004-11-29 Kelley Cook <kcook@gcc.gnu.org> + + * configure: Regenerate for libtool change. + +2004-11-25 Kelley Cook <kcook@gcc.gnu.org> + + * configure: Regenerate for libtool reversion. + +2004-11-24 Kelley Cook <kcook@gcc.gnu.org> + + * configure: Regenerate for libtool change. + +2004-11-24 Kelley Cook <kcook@gcc.gnu.org> + + * aclocal.m4, config.h.in: Regenerate. + +2004-10-08 Mike Stump <mrs@apple.com> + Andrew Pinski <pinskia@physics.uc.edu> + + * aclocal.m4: Rename to ... + * acinclude.m4: here and also use m4_include instead of sinclude. + * aclocal.m4: Regenerate. + * configure: Regenerate. + * configure.ac: Add AM_MAINTAINER_MODE and AM_PROG_CC_C_O. + * Makefile.in (configure): Add @MAINT@ infront of configure.ac + +2004-10-08 Andrew Pinski <pinskia@physics.uc.edu> + + * archive.c: Fix all the warnings about passing unsigned char* + to char* and the other way too. + +2004-09-16 Andrew Pinski <pinskia@physics.uc.edu> + + PR libobjc/16448 + * exception.c: Include config.h + (objc_exception_throw): Change _GLIBCXX_SJLJ_EXCEPTIONS to + SJLJ_EXCEPTIONS. + * configure.ac: Find out what exception handling code we use. + * configure: Regenerate. + * config.h.in: New file, regenerate. + +2004-09-16 Andrew Pinski <apinski@apple.com> + + * encoding.c (ALTIVEC_VECTOR_MODE): Define a bogus macro. + +2004-08-28 Nathanael Nerode <neroden@gcc.gnu.org> + + * configure.ac: Switch from _GCC_TOPLEV_NONCANONICAL_TARGET to + ACX_NONCANONICAL_TARGET. + * configure: Regenerate. + +2004-08-13 Ziemowit Laski <zlaski@apple.com> + + * objc/sarray.h: Hoist include of assert.h near the top of file, + and mark the remainder of the file 'extern "C"'. + +2004-08-13 Andrew Pinski <pinskia@physics.uc.edu> + + * 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. + +2004-08-12 Ziemowit Laski <zlaski@apple.com> + + * 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. + +2004-07-22 Andrew Pinski <pinskia@physics.uc.edu> + + * thr.c (__objc_thread_detach_function): Do not mark as volatile + but instead use the attribute noreturn. + +2004-06-28 Zack Weinberg <zack@codesourcery.com> + + * encoding.c: Rename target_flags with a #define to avoid + conflict with a prior declaration. + +2004-06-24 Andrew Pinski <apinski@apple.com> + + * 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. + + +2004-06-21 Nick Clifton <nickc@redhat.com> + + * encoding.c (BITS_PER_UNIT): Define if a definition is not + provided. + +2004-06-20 Alexander Malmberg <alexander@malmberg.org> + + * Makefile.in (exception.lo): Remove $(OBJC_GCFLAGS). + (exception_gc.lo): New. + (OBJS_GC): Add exception_gc.lo. + +2004-06-17 Richard Henderson <rth@redhat.com> + + * exception.c: New file. + * Makefile.in (exception.lo): New. + (OBJS): Add it. + +2004-06-14 Andrew Pinski <pinskia@physics.uc.edu> + + * linking.m (_objcInit): New empty function + for Darwin only. + +2004-06-11 Andrew Pinski <pinskia@physics.uc.edu> + + * configure.ac: Support --enable-shared=libobjc. + * configure: Regenerate. + + PR libobjc/15901 + * configure.ac: Do not disable shared by default. + * configure: Regenerate. + +2004-06-03 Nicola Pero <n.pero@mi.flashnet.it> + + * Protocol.m ([-isEqual:]): Small optimizations returning + immediately if the argument is equal to self, and accessing + the argument's name directly if it's a protocol. + +2004-06-03 David Ayers <d.ayers@inode.at> + + * Protocol.m ([-isEqual:]): Test the class of the argument. + +2004-05-25 Andrew Pinski <pinskia@physics.uc.edu> + + * configure.ac (includedir): Rename to ... + (includedirname). + * Makefile.in: s/includedir/includedirname/. + + PR target/11572 + * configure.ac (includedir): Set to "include" + except for Darwin. + (libext) Set to empty except for Darwin. + * configure: Regenerate + * Makefile.in: s/libobjc.la/libobjc$(libext).la/g. + s/include/$(includedir)/g. + +2004-05-25 Daniel Jacobowitz <drow@false.org> + + * Makefile.in: Add .NOEXPORT. + +2004-05-25 Andrew Pinski <pinskia@physics.uc.edu> + + 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. + + +2004-05-13 Andrew Pinski <pinskia@physics.uc.edu> + + * archive.c (objc_read_class): Initialize class_name. + (objc_read_selector): Initialize selector_name. + +2004-05-09 Richard Sandiford <rsandifo@redhat.com> + + * Makefile.in (toolexecdir): Remove trailing space. + +2004-04-15 Nathanael Nerode <neroden@gcc.gnu.org> + + PR libobjc/14948 + * configure.ac: De-precious CC so multilibs work. + * configure: Regenerate. + +2004-04-14 Nathanael Nerode <neroden@gcc.gnu.org> + + * configure.ac: Restore toolexecdir. + * Makefile.in: Restore toolexecdir. + * configure: Regenerate. + +2004-04-09 Nathanael Nerode <neroden@gcc.gnu.org> + + * configure.ac: Remove (unused) glibcpp_prefixdir. + * configure: Regenerate. + + * configure.in: Rename to configure.ac. + * Makefile.in: Update to match. + + * Makefile.in: Remove toolexecdir, glibcpp_toolexecdir (unused). + Replace glibcpp_toolexeclibdir with toolexeclibdir. + * configure.in: Remove glibcpp_toolexecdir (unused). + Replace glibcpp_toolexeclibdir with toolexeclibdir. Don't generate + config.h or stamp-h (unused). Move one comment to the right place. + * configure: Regenerate. + * config.h.in: Remove (unused). + + * config.h.in: Regenerate with autoheader. + + * Makefile.in: Remove (unused) gcc_version_trigger. + * configure.in: Remove (unused) glibcpp_builddir. Don't AC_SUBST + gcc_version_trigger. + * configure: Regenerate. + + * configure.in: Switch to modern style for AC_INIT, AC_OUTPUT. + Sort file into sections. Remove dnl where appropriate. Fix + other style issues. + * configure: Regenerate. + + * configure.in: Replace old AC_PROG_CC hack with new one. + Define toplevel_srcdir in terms of srcdir, not top_srcdir (there + are no subdirectory output files, so this is fine). Change prereq + to autoconf 2.59. + * aclocal.m4: Include ../config/no-executables.m4. + * configure: Regenerate with autoconf 2.59. + + * configure.in: Improve comments on gthread_cflags. Improve m4 + quotation, and replace 'if test' with 'case', for --enable-objc-gc. + * configure: Regenerate. + + * configure.in: Move PACKAGE and VERSION settings up top. Remove + unused call to AC_PROG_LN_S. Default RANLIB to ':'. Remove + redundant checks for values of RANLIB, AR, INSTALL. + * configure: Regenerate. + + * configure.in: Clean up handling of + --enable-version-specific-runtime-libs and related variables; + replace 'if test' with 'case' where reasonable. Fix comments. + Remove useless libstdcxx_interface. + * configure: Regenerate. + + * configure.in: Use _GCC_TOPLEV_NONCANONICAL_TARGET. + Replace uses of target_alias with target_noncanonical. + * aclocal.m4: Include ../config/acx.m4. + * configure: Regenerate. + * Makefile.in: Replace uses of target_alias with target_noncanonical. + Fix copyright statement. + + * configure.in: Hand-inline bulky, confusing macros from + aclocal.m4. Replace references to "GNU Objective C" with "GCC". + Update copyright notice. Remove stuff for automake, which isn't + used in this directory. Remove emacs local variables. + * aclocal.m4: Remove hand-inlined macros. Update copyright notice. + * configure: Regenerate. + +2004-03-16 Manfred Hollstein <mh@suse.com> + + * Makefile.in, configure.in, configure: Update copyright years. + +2004-03-15 Manfred Hollstein <mh@suse.com> + + * Makefile.in (LIBOBJC_VERSION, LIBOBJC_GC_VERSION): Use + definition from configure.in. + * configure.in (PACKAGE): Add definition. + (VERSION): Add definition; substitute it in output files. + * configure: Re-generate. + +2004-03-05 Ziemowit Laski <zlaski@apple.com> + + * objc/hash.h (hash_string, compare_strings): + Add type-casts to make Objective-C++ happy. + * objc/typedstream.h (objc_get_stream_class_version): + Rename parameter from 'class' to 'class_name' to make + Objective-C++ happy. + +2004-03-01 Michael Matz <matz@suse.de> + + * Makefile.in (ALL_CFLAGS): Add -fno-strict-aliasing. + +2004-02-06 Ziemowit Laski <zlaski@apple.com> + + * objc/objc-api.h (objc_super): The 'class' field shall + be named 'super_class' #ifdef __cplusplus. + +2004-01-17 Andrew Pinski <pinskia@physics.uc.edu> + + PR target/10781 + * encoding.c (rs6000_special_round_type_align): Define. + +2004-01-14 Adam Fedor <fedor@gnu.org> + + PR libobjc/12155 + * selector.c (__objc_register_instance_methods_to_class): Free + new_list if not used. + +2004-01-09 Andrew Ruder <aeruder@ksu.edu> + + PR libobjc/11904 + * sarray.c (sarray_free): Free array->is_copy_of latter. + +2003-12-01 Zack Weinberg <zack@codesourcery.com> + + PR 11433 + * Protocol.m (descriptionForInstanceMethod): Don't dereference + instance_methods if it's NULL. + (descriptionForClassMethod): Likewise for class_methods. + +2003-10-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> + + * Makefile.in (runtime-info.h): Remove -Wp. + +2003-10-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> + + * Makefile.in (CC1OBJ): Remove. + (runtime-info.h): Invoke $(CC) so all MULTIFLAGS are handled + correctly. + Use .m extension for temporary file. + Remove assembler temp file. + +2003-10-20 Joseph S. Myers <jsm@polyomino.org.uk> + + * objc/hash.h (hash_string): Don't use a cast as an lvalue. + +2003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> + + * Makefile.in (runtime-info.h): Use MULTIFLAGS. + +2003-09-09 Alan Modra <amodra@bigpond.net.au> + + * configure: Regenerate. + +2003-08-27 Alexander Malmberg <alexander@malmberg.org> + + * Makefile.in, aclocal.m4: Update to $(libdir)/gcc/ instead of + (libdir)/gcc-lib/ when installing. + * configure: Regenerate. + +Thu Jul 10 10:27:43 2003 Nicola Pero <n.pero@mi.flashnet.it> + + libobjc/9969 + * sendmsg.c (get_imp): Fixed rare threading problem. + (__objc_responds_to): Similar fixes. + (objc_msg_lookup): Similar fixes. + (__objc_init_install_dtable): Lock the runtime before checking if the + table is installed. + +2003-05-23 Nathanael Nerode <neroden@gcc.gnu.org> + + * hash.c, init.c, libobjc.def, libobjc_entry.c, linking.m, + makefile.dos, misc.c, nil_method.c, objects.c, sarray.c, + selector.c, sendmsg.c, thr-dce.c, thr-decosf1.c, thr-irix.c, + thr-mach.c, thr-objc.c, thr-os2.c, thr-posix.c, thr-pthreads.c, + thr-rtems.c, thr-single.c, thr-solaris.c, thr-vxworks.c, + thr-win32.c, thr.c: Replace "GNU CC" with "GCC". + * 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". + +Tue May 13 14:56:03 2003 Richard Frith-Macdonald <rfm@gnu.org> + Nicola Pero <n.pero@mi.flashnet.it> + + libobjc/10742 + * init.c (class_superclass_of_class): New function. + (create_tree_of_subclasses_inherited_from): Use it. + (__objc_tree_insert_class): Likewise. + (class_is_subclass_of_class): Likewise. + +2003-04-11 David Chad <davidc@freebsd.org> + Loren J. Rittle <ljrittle@acm.org> + + libobjc/8562 + * objc/hash.h (hash_string): Constify correctly. + (compare_ptrs): Use direct compare. + * objc/objc-list.h (list_nth): Rename index to indx to avoid shadow. + * objc/sarray.h: Global rename index to indx to avoid shadow. + +2003-03-12 Andreas Schwab <schwab@suse.de> + + * aclocal.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Avoid trailing /. in + glibcpp_toolexeclibdir. + * configure: Rebuilt. + +2003-02-20 Alexandre Oliva <aoliva@redhat.com> + + * configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to + config.status. + * configure: Rebuilt. + +2003-01-27 Alexandre Oliva <aoliva@redhat.com> + + * aclocal.m4 (glibcpp_toolexeclibdir): Instead of + $(MULTISUBDIR), use `$CC -print-multi-os-directory`, unless + version_specific_libs is enabled. + * configure: Rebuilt. + +2003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de> + + * Makefile.in (FLAGS_TO_PASS): Also pass DESTDIR. + (install-libs, install-headers): Prepend $(DESTDIR) to + destination paths in all (un)installation commands. + +2002-12-02 Zack Weinberg <zack@codesourcery.com> + + * thr-objc.c: Include coretypes.h and tm.h. + +2002-12-01 Zack Weinberg <zack@codesourcery.com> + + * encoding.c, sendmsg.c: Include coretypes.h and tm.h. + +2002-11-26 Nathanael Nerode <neroden@gcc.gnu.org> + + * configure.in: Remove skip-this-dir support. + * configure: Regenerate. + +2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * Makefile.in (all): Fix multilib parallel build. + +Thu Sep 12 12:44:37 2002 Nicola Pero <n.pero@mi.flashnet.it> + + * sendmsg.c (nil_method): Declare not to take a variable number of + args. + (objc_msg_lookup): Cast nil_method to IMP before returning it. + (objc_msg_lookup_super): The same. + +2002-09-10 Jan Hubicka <jh@suse.cz> + + * nil_method.c (nil_method): No longer defined with variable + arguments. + +2002-07-02 Rodney Brown <rbrown64@csc.com.au> + + * objc/encoding.h: Fix formatting. + * objc/hash.h: Likewise. + * objc/objc-api.h: Likewise. + * objc/runtime.h: Likewise. + * objc/thr.h: Likewise. + * archive.c: Likewise. + * class.c: Likewise. + * encoding.c: Likewise. + * gc.c: Likewise. + * hash.c: Likewise. + * init.c: Likewise. + * misc.c: Likewise. + * nil_method.c: Likewise. + * objects.c: Likewise. + * sarray.c: Likewise. + * selector.c: Likewise. + * sendmsg.c: Likewise. + * thr-mach.c: Likewise. + * thr.c: Likewise. + +2002-06-25 DJ Delorie <dj@redhat.com> + + * aclocal.m4 (GLIBCPP_CONFIGURE): Split out + GLIBCPP_TOPREL_CONFIGURE. + * configure.in: Call it before AC_CANONICAL_SYSTEM. + * configure: Regenerate. + +2002-06-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * Object.m (forward, read, write): Fix unused parameter warnings. + * encoding.c: Include <stdlib.h>. + (target_flags): Mark with attribute unused. + (atoi): Delete. + * runtime.h (__objc_selector_max_index): Change to unsigned int. + (__objc_generate_gc_type_description): Prototype. + * selector.c (__objc_selector_max_index): Change to unsigned int. + +Mon Jun 17 18:37:42 2002 Nicola Pero <n.pero@mi.flashnet.it> + + * sendmsg.c (__objc_get_forward_imp): Fix warning by making sure + we always have a return value: if __objc_msg_forward does not + supply a forwarding implementation, return the default + __builtin_apply based one. + +2002-06-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * Object.m: Fix signed/unsigned warning. + * Protocol.m: Likewise. + * archive.c: Always include stdlib.h. + (objc_read_short, objc_read_unsigned_short, objc_read_int, + objc_read_long, __objc_read_nbyte_uint, __objc_read_nbyte_ulong): + Fix signed/unsigned warning. + (objc_write_type, objc_read_type, objc_write_types, + objc_read_types): Ensure ctype 8-bit safety. + (__objc_no_write, __objc_no_read): Mark unused parameters. + * class.c (class_table_setup): Specify void arg. + * encoding.c (atoi, objc_sizeof_type, objc_alignof_type, + objc_skip_typespec, objc_skip_offset, + objc_layout_structure_next_member): Ensure ctype 8-bit safety. + (objc_layout_structure_next_member): Ensure variables are + initialized. + * gc.c (__objc_generate_gc_type_description, + class_ivar_set_gcinvisible): Mark unused parameters. + * init.c (__objc_send_load, __objc_destroy_class_tree_node): Mark + unused parameters. + (__objc_init_protocols) Fix signed/unsigned warning. + * nil_method.c (nil_method): Mark unused parameters. + * thr.h (objc_thread_callback): Specify void arg. + * sarray.c (sarray_new, sarray_realloc, sarray_free): Fix + signed/unsigned warning. + (sarray_free): Fix formatting. + * selector.c (sel_types_match): Ensure ctype 8-bit safety. + * sendmsg.c (__objc_init_install_dtable) Mark unused parameters. + +2002-06-09 Andreas Jaeger <aj@suse.de> + + * encoding.c (objc_layout_structure_next_member): Remove unused + variable. + +2002-05-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * Makefile.in (SHELL): Set to @SHELL@. + (WARN_CFLAGS): New. + (ALL_CFLAGS): Add $(WARN_CFLAGS). + +2002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> + + * aclocal.m4: Allow for PWDCMD to override hardcoded pwd. + * configure: Regenerate. + +2002-05-08 Alexandre Oliva <aoliva@redhat.com> + + * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at + script entry, and set LD to it when configuring multilibs. + * configure: Rebuilt. + +2002-04-19 David O'Brien <obrien@FreeBSD.org> + + * encoding.c (MAX, MIN, ROUNDING): #undef before defining. + +2002-04-09 Hans-Peter Nilsson <hp@bitrange.com> + + PR objc/6107 + * objc/objc-api.h (struct objc_protocol_list): Change type of + member count from int to size_t. + +2002-02-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> + + PR libobjc/4039 + * aclocal.m4: Replace with version copied from libstdc++-v3. + * configure.in: Update for changes to aclocal and Makefile. + * configure: Regenerate. + * Makefile.in: Correct install of multilibs and shared libs, use + INSTALL_DATA for include files. + +Mon Dec 17 17:02:12 2001 Nicola Pero <nicola@brainstorm.co.uk> + + * init.c (__objc_exec_class): Fixed bug in the loop on unclaimed + categories - when an unclaimed category was found, the loop was + doing two steps forward instead of one, so that in certain cases + it was failing to properly load all the categories. (Reported + with fix by Alexander Malmberg <alexander@malmberg.org>). + +2001-11-14 Aldy Hernandez <aldyh@redhat.com> + + * encoding.c: Add target_flags. + +2001-11-07 Aldy Hernandez <aldyh@redhat.com> + + * objc/objc-api.h (_C_VECTOR): New. + + * encoding.c (VECTOR_TYPE): New. + +Mon Oct 29 21:29:21 2001 Nicola Pero <n.pero@mi.flashnet.it> + + * class.c: Rewritten the class table to use optimized, lock-free + lookup. This more than doubles the speed of class method + invocations. (class_table_setup), (class_table_insert), + (class_table_replace), (class_table_get_safe), + (class_table_next), (class_table_print), + (class_table_print_histogram): New functions. + (__objc_init_class_tables): Use class_table_setup. + (__objc_add_class_to_hash): Use class_table_get_safe and + class_table_insert. (objc_lookup_class), (objc_get_class): Do not + assert the existence of the table; do not lock the runtime; use + class_table_get_safe. (objc_next_class): Use class_table_next. + (__objc_resolve_class_links): Use class_table_next. + (class_pose_as): Use class_table_replace. + +2001-09-10 Ovidiu Predescu <ovidiu@cup.hp.com> + + * gc.c: Removed the DEBUG declaration. + +Wed Jul 18 12:48:56 2001 Nicola Pero <n.pero@mi.flashnet.it> + + * thr.c (objc_mutex_lock): Invoke __objc_thread_id directly, + rather than through objc_thread_id, to save a function call. + (objc_mutex_trylock, objc_mutex_unlock, objc_condition_wait): + Ditto. + +Mon Jul 16 12:15:00 2001 Nicola Pero <n.pero@mi.flashnet.it> + + * objc/objc-api.h (object_is_class): Fixed - buggy code was trying + to cast an id to a Class, which can not be done. Make the check + by using CLS_ISMETA on the class pointer instead. + (object_is_meta_class): Similar fix. + +2001-06-09 Alexandre Oliva <aoliva@redhat.com>, Stephen L Moshier <moshier@mediaone.net> + + * configure.in (AC_EXEEXT): Work around in case it expands to + nothing, as in autoconf 2.50. + * acinclude.m4: Likewise. + * configure: Rebuilt. + +2001-06-08 Nicola Pero <n.pero@mi.flashnet.it> + + * THREADS: Explain that when we compile libobjc inside GCC, we + always use thr-objc.c as a backend, which uses GCC's thread code. + +2001-06-06 Richard Frith-Macdonald <rrfm@gnu.org> + + * init.c (__objc_send_message_in_list): When setting a new entry + in __objc_load_methods use the method IMP as key, but check to see + if the method is in the hashtable by looking at the IMP also. + Also ... call the method after adding it to the hashtable rather + than before ... thus preventing an obscure possibility of infinite + recursion if a +load method itself loads a subclass. + +2001-05-25 Ovidiu Predescu <ovidiu@cup.hp.com> + + * init.c (__objc_send_message_in_list): When setting a new entry + in __objc_load_methods use the method name as key, not the method + IMP (reported by Richard Frith-Macdonald <richard@brainstorm.co.uk>). + +2001-05-09 Joseph S. Myers <jsm28@cam.ac.uk> + + * objc-features.texi: Move to ../gcc/objc.texi. + * fdl.texi: Remove. + * Makefile.in: Don't generate documentation from + objc-features.texi. + +2001-05-01 Mark Mitchell <mark@codesourcery.com> + + * fdl.texi: New file. + * objc-features.texi: Simplify. + * Makefile.in: Adjust accordingly. + +2001-04-30 Mark Mitchell <mark@codesourcery.com> + + * objc-features.texi: Use the GFDL. + +Wed Mar 21 04:44:58 EST 2001 John Wehle (john@feith.com) + + * encoding.c (REAL_TYPE): Define. + +2001-03-19 David Edelsohn <edelsohn@gnu.org> + + * encoding.c (TYPE_MODE): Define. + +2001-03-14 Nicola Pero <n.pero@mi.flashnet.it> + + * thr.c (objc_thread_add): New function. + (objc_thread_remove): Ditto. + * objc/thr.h: Declare them. + * libobjc.def: Mention them. + +2001-02-28 Ovidiu Predescu <ovidiu@cup.hp.com> + + * objc-features.texi: Document the @compatibility_alias compiler + directive (description from Nicola Pero <n.pero@mi.flashnet.it>). + +Fri Feb 23 18:12:00 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> + + * sendmsg.c (__objc_forward): Delete strlen() declaration. + +2001-02-08 Geoffrey Keating <geoffk@redhat.com> + + * configure.in: Don't run AC_PROG_CC_WORKS or AC_EXEEXT, because + we're not interested in the result and they might fail. + * configure: Regenerated. + +2001-01-12 Joseph S. Myers <jsm28@cam.ac.uk> + + * objc-features.texi: Use @email. + +2001-01-12 Joseph S. Myers <jsm28@cam.ac.uk> + + * sendmsg.c (__objc_print_dtable_stats): Don't use #ifdef inside + printf. + +2000-01-11 Richard Earnshaw <rearnsha@arm.com> + + * encoding.c (STRUCTURE_SIZE_BOUNDARY): Redefine in a way that + determines the value dynamically. + +Wed Jan 3 00:49:10 2001 Ovidiu Predescu <ovidiu@cup.hp.com> + + * sendmsg.c: Added __objc_msg_forward, a hook that allows external + libraries to 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.) + + * objc/objc-api.h: Define __objc_msg_forward. + + * sendmsg.c: Define gen_rtx_REG. + +2000-12-06 Ralf Corsepius <corsepiu@faw.uni-ulm.de> + + * thr-rtems.c: New file. Stub to compile. + +2000-09-06 Alexandre Oliva <aoliva@redhat.com> + + * configure: Rebuilt with new libtool.m4. + +Tue Aug 15 00:38:56 2000 Ovidiu Predescu <ovidiu@cup.hp.com> + + * configure.in: Create a config.h file. Check for <sched.h>. + * configure: Regenerate. + + * config.h.in: Check for <sched.h>. + +2000-08-14 Zack Weinberg <zack@wolery.cumb.org> + + * configure: Regenerate after change to ../libtool.m4. + +2000-08-14 Andreas Schwab <schwab@suse.de> + + * objc-features.texi (Top): Move @menu at end of node. + +2000-08-11 Manfred Hollstein <manfredh@redhat.com> + + * objc-features.texi: Move @node Top before @menu. + +Sun Aug 6 23:27:49 2000 Ovidiu Predescu <ovidiu@cup.hp.com> + + * objc-features.texi: Documented the new -fconstant-string-class + option. + +Sun Aug 6 22:51:16 2000 Ovidiu Predescu <ovidiu@cup.hp.com> + + * thr-posix.c: Integrated Chris Ball's <cball@fmco.com> changes to + improve the Posix thread support for Objective-C. + +2000-08-04 Zack Weinberg <zack@wolery.cumb.org> + + * aclocal.m4: Replace copy of ../libtool.m4 with + sinclude(../libtool.m4). + +Fri Jul 28 08:58:02 2000 Nicola Pero <nicola@brainstorm.co.uk> + + * configure.in: Added libtool support; build shared libraries + if --enable-shared was passed on command line. + * Makefile.in: Modified most compilation commands to use libtool. + * aclocal.m4: New symbolic link to the ../libtool.m4, from the + libtool distribution. + +Sat Jul 29 00:10:21 2000 Ovidiu Predescu <ovidiu@cup.hp.com> + + * sarray.c, Object.m: Removed the explicit prototypes for strlen + and memcpy on 64-bit platforms (Suggested by Rodney Brown + <rdb@cup.hp.com>). + +2000-05-12 H.J. Lu (hjl@gnu.org) + + * Makefile.in (GTHREAD_FLAGS): New. + (ALL_CFLAGS): Add $(GTHREAD_FLAGS). + (OBJC_THREAD_FILE): Changed to thr-objc. + + * configure.in (GTHREAD_FLAGS): New, check and replace it for + Makefile. + (OBJC_THREAD_FILE): Removed. + + * thr-objc.c: New. + +2000-07-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * objc/hash.h: Include string.h. + +2000-04-15 David Edelsohn <edelsohn@gnu.org> + + * Object.m (strlen): 64-bit PowerPC is a 64bit platform as well. + +2000-04-12 Jakub Jelinek <jakub@redhat.com> + + * Object.m (strlen): Provide prototype on all 64bit platforms, + not only alpha. + * sarray.c (memcpy): Likewise. + * encoding.c (objc_layout_finish_structure): Don't use + ROUND_TYPE_ALIGN on sparc. + + * encoding.c (objc_layout_structure_next_member): Do the whole + procedure even for the first member, so that we get correct + alignment. + +2000-03-29 Zack Weinberg <zack@wolery.cumb.org> + + * objc/Protocol.h, objc/objc-list.h: Change #endif labels to + comments. + +2000-02-23 Zack Weinberg <zack@wolery.cumb.org> + + * Makefile.in: Add -DIN_TARGET_LIBS to ALL_CFLAGS. + +Thu Sep 23 07:19:12 1999 Chris Ball <cball@fmco.com> + + * thr-posix.c (__objc_mutex_deallocate): made deallocate work. + +Tue Sep 21 07:47:10 1999 Jeffrey A Law (law@cygnus.com) + + * Makefile.in (gc.o, gc_gc.o): Do not pass -fgnu-runtime to + the compiler when building C code. + +Fri Aug 6 23:32:29 1999 Daniel Jacobowitz <drow@drow.them.org> + + * Makefile.in (FLAGS_TO_PASS): Include prefix, exec_prefix, + libdir, libsubdir and tooldir. + +Mon Jun 21 05:40:15 1999 John David Anglin <dave@hiauly1> + + * init.c (__objc_force_linking): Make global. + +Thu May 20 03:20:59 1999 Jeffrey A Law (law@cygnus.com) + + * configure.in (AC_EXEEXT): Remove call. + (compiler_name): Explicitly check with no extension and .exe + extension. + * configure: Regenerate. + +Sun Apr 25 01:15:34 1999 Mumit Khan <khan@xraylith.wisc.edu> + + * Makefile.in (CC1OBJ): Define in terms of CC. + (runtime-info.h): Use. + +Fri April 8 08:21:07 1999 Ovidiu Predescu <ovidiu@cup.hp.com> + + * objc-features.texi: Updated the URL to Boehm's GC page. + +Fri Mar 26 23:41:07 1999 Ovidiu Predescu <ovidiu@cup.hp.com> + + * archive.c (__objc_code_char, __objc_write_char): Explicitly specify + the char as being signed (patch from Daniel Jacobowitz + <drow@false.org>). + +Wed Mar 24 22:41:28 1999 Mumit Khan <khan@xraylith.wisc.edu> + + * configure.in (AC_PREREQ): Update to 2.13. + (AC_EXEEXT): Call to find possible file extension. + (compiler_name): Use. + * configure: Regenerate. + +Wed Jan 27 02:31:01 1999 Jeffrey A Law (law@cygnus.com) + + * Makefile.in (ALL_CFLAGS): Add -DIN_GCC. + +Tue Jan 5 01:38:53 1999 Jeffrey A Law (law@cygnus.com) + + * configure.in (thread_file): Correct and simplify code to find + the thread file. + * configure: Rebuilt. + +1998-11-26 Manfred Hollstein <manfred@s-direktnet.de> + + * configure.in (compiler_name): Add check to detect if this + language's compiler has been built. + * configure: Regenerate. + +Mon Nov 23 16:50:28 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * configure.in: Use AC_PREREQ(2.12.1). + +Thu Nov 19 20:33:37 1998 Jeffrey A Law (law@cygnus.com) + + * Makefile.in (runtime-info.h): Avoid GNU make extensions. + +Sun Nov 8 17:46:14 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * Makefile.in (INCLUDES): Add -I$(srcdir)/$(MULTISRCTOP)../include. + +Thu Oct 22 14:34:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * configure.in: Use AC_CONFIG_AUX_DIR($topsrcdir). + +Sat Oct 17 05:21:31 1998 Ovidiu Predescu <ovidiu@slip.net> + + * objc-features.texi (Top): Changed the email address. + * objc-features.texi (Garbage Collection): Use @uref instead of @url. + +Mon Oct 11 21:25:27 1998 Ovidiu Predescu <ovidiu@slip.net> + + * encoding.c: Redefine get_inner_array_type to get the first entry + in the structure. + +Thu Oct 8 12:21:14 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk> + + * encoding.c (objc_skip_type_qualifiers): Handle _C_BYREF. + (objc_get_type_qualifiers): Similarly. + * objc/encoding.h (_C_BYREF): Define. + (_F_BYREF): Define. + +1998-10-07 David S. Miller <davem@pierdol.cobaltmicro.com> + + * objc/sarray.h: Make boffset be an unsigned long when sparc so it + works out on 64-bit systems. + +Tue Oct 6 20:32:06 1998 Alexandre Oliva <oliva@dcc.unicamp.br> + + * Makefile.in (INCLUDES): Make it multilib-friendly. + +Fri Oct 2 07:12:14 1998 H.J. Lu (hjl@gnu.org) + + * Makefile.in (INCLUDES): Add -I$(srcdir)/../gcc. + +Thu Oct 1 22:33:03 1998 Robert Lipe <robertl@dgii.com> + Jeffrey A Law (law@cygnus.com) + + * Makefile.in (INCLUDES): Reference gcc via $MULTIBUILDTOP. + (FLAGS_TO_PASS): Added. + (runtime-info.h): Reference cc1ibj via $MULTIBUILDTOP. + + * archive.c: Change config.h to tconfig.h. + + * configure.in: Find gcc's object directory even for multilibs. + +Wed Sep 30 18:17:17 1998 Robert Lipe <robertl@dgii.com> + + * configure.in: Escape ^ in grep string. + * configure: Rebuilt. + +Wed Sep 30 09:14:52 1998 Jeffrey A Law (law@cygnus.com) + + * All .h files pushed down into the objc/ subdirectory. + * Makefile.in (copy_headers): Corresponding changes. + * configure.in (AC_INIT): Corresponding changes. + * configure: Rebuilt. + +1998-09-30 Ben Elliston <bje@cygnus.com> + Jeff Law <law@cygnus.com> + + * Makefile.in: Rewrite. + + * configure.in: Likewise. + + * configure: Regenerate. + + * All .c files. Remove "objc" prefix when including objc header + files. Include tconfig.h, not ../tconfig.h. + +Mon Sep 21 23:27:10 1998 Ovidiu Predescu <ovidiu@slip.net> + + * encoding.c (TREE_TYPE, ARRAY_TYPE): Define. + (get_inner_array_type): Define. + +1998-09-21 Ben Elliston <bje@cygnus.com> + + * New directory. Moved files from ../gcc/objc. |