In libobjc/: 2010-10-10 Nicola Pero <nicola.pero@meta-innovation.com>
[platform/upstream/gcc.git] / libobjc / ChangeLog
index 431c7fc..a07be1c 100644 (file)
@@ -1,3 +1,315 @@
+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