aboutsummaryrefslogtreecommitdiff
path: root/libobjc/ChangeLog
AgeCommit message (Collapse)Author
2010-12-11In libobjc/:Nicola Pero
2010-12-11 Nicola Pero <nicola.pero@meta-innovation.com> * sendmsg.c (selector_resolveClassMethod): New. (selector_resolveInstanceMethod): New. (__objc_resolve_class_method): New. (__objc_resolve_instance_method): New. (get_imp): Call __objc_resolve_class_method or __objc_resolve_instance_method at the appropriate time. (objc_msg_lookup): Same. (class_getClassMethod): Same. (class_getInstanceMethod): Same. (__objc_init_dispatch_tables): Initialize selector_resolveClassMethod and selector_resolveInstanceMethod. * objc/runtime.h: Updated documentation of class_getClassMethod, class_getInstanceMethod and class_getMethodImplementation. In gcc/testsuite/: 2010-12-11 Nicola Pero <nicola.pero@meta-innovation.com> * objc.dg/gnu-api-2-resolve-method.m: New. * obj-c++.dg/gnu-api-2-resolve-method.mm: New. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@167712 138bc75d-0d04-0410-961f-82ee72b054a4
2010-12-112010-12-11 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero
* objc-private/module-abi-8.h (struct objc_symtab): Updated description of sel_ref_cnt and refs. * objc/deprecated/struct_objc_symtab.h (objc_symtab): Same change. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@167710 138bc75d-0d04-0410-961f-82ee72b054a4
2010-12-06config/ChangeLog:Dave Korn
2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com> PR target/40125 PR lto/46695 * lthostflags.m4: New file. (ACX_LT_HOST_FLAGS): Define. libgfortran/ChangeLog: 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com> PR target/40125 PR lto/46695 * configure.ac: Invoke ACX_LT_HOST_FLAGS. * Makefile.am (LTLDFLAGS): Use lt_host_flags. * aclocal.m4: Regenerate. * configure: Regenerate. * Makefile.in: Regenerate. libgomp/ChangeLog: 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com> PR target/40125 PR lto/46695 * configure.ac: Invoke ACX_LT_HOST_FLAGS. * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags. * aclocal.m4: Regenerate. * configure: Regenerate. * Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. libjava/ChangeLog: 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com> PR target/40125 PR lto/46695 * configure.ac: Invoke ACX_LT_HOST_FLAGS. * configure.host (libgcj_sublib_ltflags): Use lt_host_flags. * aclocal.m4: Regenerate. * configure: Regenerate. * Makefile.in: Regenerate. * gcj/Makefile.in: Regenerate. * include/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. libobjc/ChangeLog: 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. libquadmath/ChangeLog: 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com> PR target/40125 PR lto/46695 * configure.ac: Invoke ACX_LT_HOST_FLAGS. * Makefile.am (libquadmath_la_LDFLAGS): Use lt_host_flags. * aclocal.m4: Regenerate. * configure: Regenerate. * Makefile.in: Regenerate. libssp/ChangeLog: 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com> PR target/40125 PR lto/46695 * configure.ac: Invoke ACX_LT_HOST_FLAGS. * Makefile.am (libssp_la_LDFLAGS): Use lt_host_flags. * aclocal.m4: Regenerate. * configure: Regenerate. * Makefile.in: Regenerate. libstdc++-v3/ChangeLog: 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com> PR target/40125 PR lto/46695 * configure.ac: Invoke ACX_LT_HOST_FLAGS. * configure.host (OPT_LDFLAGS): Use lt_host_flags for cygming. * aclocal.m4: Regenerate. * configure: Regenerate. * Makefile.in: Regenerate. * doc/Makefile.in: Regenerate. * include/Makefile.in: Regenerate. * libsupc++/Makefile.in: Regenerate. * po/Makefile.in: Regenerate. * python/Makefile.in: Regenerate. * src/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. lto-plugin/ChangeLog: 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com> PR target/40125 PR lto/46695 * configure.ac: Invoke ACX_LT_HOST_FLAGS. * Makefile.am (liblto_plugin_la_LDFLAGS): Use lt_host_flags but override -bindir setting. * aclocal.m4: Regenerate. * configure: Regenerate. * Makefile.in: Regenerate. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@167480 138bc75d-0d04-0410-961f-82ee72b054a4
2010-12-032010-12-03 Matthias Klose <doko@ubuntu.com> Matthias Klose
* configure.ac (VERSION): Bump the version to 3:0:0. * configure: Regenerate. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@167426 138bc75d-0d04-0410-961f-82ee72b054a4
2010-11-23In libobjc/:Richard Frith-Macdonald
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@167092 138bc75d-0d04-0410-961f-82ee72b054a4
2010-11-182010-11-18 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero
* ivars.c: Include stdlib.h. * protocols.c: Same change. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@166895 138bc75d-0d04-0410-961f-82ee72b054a4
2010-11-11Fixed my email address in 3 of my ChangeLog entries for the past couple of ↵Nicola Pero
months git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@166613 138bc75d-0d04-0410-961f-82ee72b054a4
2010-10-242010-10-24 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero
* 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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@165903 138bc75d-0d04-0410-961f-82ee72b054a4
2010-10-17In gcc/:Nicola Pero
2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com> * doc/objc.texi (GNU Objective-C runtime API): New section. (Modern GNU Objective-C runtime API): New section. (Traditional GNU Objective-C runtime API): New section. (Executing code before main): Mention that this section is specific to the GNU Objective-C runtime. (Garbage Collection): Same. In gcc/testsuite/: 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com> * obj-c++.dg/gnu-api-2-class.mm: New. * obj-c++.dg/gnu-api-2-ivar.mm: New. * obj-c++.dg/gnu-api-2-method.mm: New. * obj-c++.dg/gnu-api-2-objc.mm: New. * obj-c++.dg/gnu-api-2-object.mm: New. * obj-c++.dg/gnu-api-2-property.mm: New. * obj-c++.dg/gnu-api-2-protocol.mm: New. * obj-c++.dg/gnu-api-2-sel.mm: New. In libobjc/: 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com> * objc/message.h: Moved initial includes outside of extern "C". * objc/runtime.h: Add extern "C" for Objective-C++. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@165595 138bc75d-0d04-0410-961f-82ee72b054a4
2010-10-17In libobjc/:Nicola Pero
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. In gcc/: 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com> * doc/objc.texi (What you can and what you cannot do in +load): Document that sending messages to constant string objects in +load is not guaranteed to work. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@165583 138bc75d-0d04-0410-961f-82ee72b054a4
2010-10-16In libobjc/:Nicola Pero
2010-10-16 Nicola Pero <nicola.pero@meta-innovation.com> * objc/runtime.h: Updated comments. (class_addMethod): New. (class_addIvar): New. (class_replaceMethod): New. (objc_allocateClassPair): New. (objc_registerClassPair): New. (objc_disposeClassPair): New. * class.c (objc_allocateClassPair): New. (objc_registerClassPair): New. (objc_disposeClassPair): New. (class_getSuperclass): Return Nil if a class is in construction. * init.c (__objc_exec_class): Call __objc_init_class. (__objc_init_class): New. * ivars.c (class_copyIvarList): Return NULL if class is in construction. Do not lock the runtime mutex. (class_getInstanceVariable): Return NULL if class is in construction. Do not lock the runtime mutex. (class_addIvar): New. * sendmsg.c (class_addMethod): New. (class_replaceMethod): New. * objc-private/module-abi-8.h (__CLS_SETNOTINFO): New. (_CLS_IN_CONSTRUCTION): New. (CLS_IS_IN_CONSTRUCTION): New. (CLS_SET_IN_CONSTRUCTION): New. (CLS_SET_NOT_IN_CONSTRUCTION): New. * objc-private/runtime.h (__objc_init_class): New. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@165563 138bc75d-0d04-0410-961f-82ee72b054a4
2010-10-162010-10-16 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero
* class.c (class_getSuperclass): Call __objc_resolve_class_links if the class is not resolved yet. * ivars.c (class_getInstanceVariable): Use class_getSuperclass. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@165542 138bc75d-0d04-0410-961f-82ee72b054a4
2010-10-16In libobjc/:Nicola Pero
2010-10-16 Nicola Pero <nicola.pero@meta-innovation.com> * objc/runtime.h (class_getIvarLayout): New. (class_getWeakIvarLayout): New. (class_setIvarLayout): New. (class_setWeakIvarLayout): New. * ivars.c (class_getIvarLayout): New. (class_getWeakIvarLayout): New. (class_setIvarLayout): New. (class_setWeakIvarLayout): New. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@165533 138bc75d-0d04-0410-961f-82ee72b054a4
2010-10-15In libobjc/:Nicola Pero
2010-10-15 Nicola Pero <nicola.pero@meta-innovation.com> * objc/runtime.h (class_copyPropertyList): New. (class_getProperty): New. (property_getAttributes): New. (property_getName): New. * ivars.c (class_copyPropertyList): New. (class_getProperty): New. (property_getAttributes): New. (property_getName): New. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@165531 138bc75d-0d04-0410-961f-82ee72b054a4
2010-10-15In libobjc/:Nicola Pero
2010-10-15 Nicola Pero <nicola.pero@meta-innovation.com> * objc-private/runtime.h (__objc_update_classes_with_methods): New. * class.c (__objc_update_classes_with_methods): New. (objc_getClassList): Do not lock the class lock. * methods.c (method_exchangeImplementations): New. (method_setImplementation): New. * objc/runtime.h (method_setImplementation): New. (method_exchangeImplementations): New. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@165525 138bc75d-0d04-0410-961f-82ee72b054a4
2010-10-15In libobjc/:Nicola Pero
2010-10-15 Nicola Pero <nicola.pero@meta-innovation.com> * Protocol.m: Include objc/runtime.h and objc-private/module-abi-8.h instead of objc/objc-api.h. Do not repeat Protocol's instance variables. (struct objc_method_description_list): Do not define here. ([-conformsTo:]): Reimplemented on top of protocol_conformsTo(). ([descriptionForInstanceMethod:]): Use sel_isEqual() to compare selectors directly instead of getting names and then using strcmp. ([descriptionForClassMethod:]): Same change. ([-isEqual:]): Reimplemented on top of protocol_isEqual(). * protocols.c (protocol_getMethodDescription): Use sel_isEqual() to compare selectors directly instead of getting names and then using strcmp. * objc/Protocol.h: Updated comments. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@165517 138bc75d-0d04-0410-961f-82ee72b054a4
2010-10-15Fixed date in my last changelog entryNicola Pero
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@165501 138bc75d-0d04-0410-961f-82ee72b054a4
2010-10-15In libobjc/:Nicola Pero
2010-10-14 Nicola Pero <nicola.pero@meta-innovation.com> * init.c (__objc_init_protocol): New function which fixes up a protocol's class pointer, registers it with the runtime, register all protocol selectors and registers associated protocols too. (objc_init_statics): Detect if we are initializing protocols, and if so, use __objc_init_protocol instead of only fixing up the class pointer. (__objc_init_protocls): Use __objc_init_protocol. * objc-private/module-abi-8.h: Updated comments. * objc-private/runtime.h (__objc_register_selectors_from_description_list): New. * selector.c (__objc_register_selectors_from_description_list): New. (struct objc_method_description_list): Declare. * Protocol.m ([-descriptionForInstanceMethod:]): Use sel_get_name when accessing the name of a method, which is now correctly a SEL. ([-descriptionForClassMethod:]): Same change. * protocols.c (protocol_getMethodDescription): Same change. * objc/runtime.h: Updated comments. (sel_registerTypedName): Fixed typo in function name. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@165499 138bc75d-0d04-0410-961f-82ee72b054a4
2010-10-13In libobjc/:Nicola Pero
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. In gcc/testsuite/: 2010-10-13 Nicola Pero <nicola.pero@meta-innovation.com> PR libobjc/23214 * objc.dg/pr23214.m: New. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@165414 138bc75d-0d04-0410-961f-82ee72b054a4
2010-10-13In libobjc/:Nicola Pero
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@165409 138bc75d-0d04-0410-961f-82ee72b054a4
2010-10-13In libobjc/:Nicola Pero
2010-10-13 Nicola Pero <nicola.pero@meta-innovation.com> * encoding.c (method_copyReturnType): New. (method_copyArgumentType): New. (method_getReturnType): New. (method_getArgumentType): New. * methods.c (method_getDescription): New. * objc/runtime.h (method_copyReturnType): New. (method_copyArgumentType): New. (method_getReturnType): New. (method_getArgumentType): New. (method_getDescription): New. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@165404 138bc75d-0d04-0410-961f-82ee72b054a4
2010-10-12In libobjc/:Nicola Pero
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@165403 138bc75d-0d04-0410-961f-82ee72b054a4
2010-10-122010-10-12 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero
* Makefile.in (C_SOURCE_FILES): Added methods.c. * encoding.c (method_getNumberOfArguments): New. (method_get_number_of_arguments): Call method_getNumberOfArguments. * ivars.c (ivar_getName): Check for NULL variable argument. (ivar_getOffset): Check for NULL variable argument. (ivar_getTypeEncoding): Check for NULL variable argument. (class_copyIvarList): New. * methods.c: New. * protocols.c (class_copyProtocolList): Check for Nil class_ argument. * sendmsg.c: Use 'struct objc_method *' instead of Method_t, and 'struct objc_method_list *' instead of MethodList_t. (class_getMethodImplementation): New. (class_respondsToSelector): New. (class_getInstanceMethod): New. (class_getClassMethod): New. * objc/runtime.h: Updated comments. (class_copyIvarList): New. (class_getInstanceMethod): New. (class_getClassMethod): New. (class_getMethodImplementation): New. (class_respondsToSelector): New. (method_getName): New. (method_getImplementation): New. (method_getTypeEncoding): New. (class_copyMethodList): New. (method_getNumberOfArguments): New. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@165400 138bc75d-0d04-0410-961f-82ee72b054a4
2010-10-12In libobjc/:Nicola Pero
2010-10-12 Nicola Pero <nicola.pero@meta-innovation.com> * class.c: Include objc/runtime.h and objc-private/module-abi-8.h instead of objc/objc-api.h. (objc_get_unknown_class_handler): Do not define. (class_isMetaClass): New. (class_getSuperclass): New. (class_getVersion): New. (class_setVersion): New. (class_getInstanceSize): New. * exceptions.c: Include objc/runtime.h instead of objc/objc-api.h. (is_kind_of_exception_matcher): Use objc_getSuperclass instead of objc_get_super_class. (get_ttype_entry): Use objc_getRequiredClass instead of objc_get_class. * ivars.c (class_getClassVariable): New. * objects.c: Include objc/runtime.h, objc/thr.h and objc-private/module-abi-8.h instead of objc/objc-api.h * objc/runtime.h (class_getClassVariable): New. (class_isMetaClass): New. (class_getSuperclass): New. (class_getVersion): New. (class_setVersion): New. (class_getInstanceSize): New. * objc-private/module-abi-8.h (HOST_BITS_PER_LONG): New (from objc/objc-api.h) (__CLS_INFO): Same. (__CLS_ISINFO): Same. (__CLS_SETINFO): Same. (CLS_ISMETA): Same. (CLS_ISCLASS): Same. (CLS_ISRESOLV): Same. (CLS_SETRESOLV): Same. (CLS_ISINITIALIZED): Same. (CLS_SETINITIALIZED): Same. (CLS_GETNUMBER): Same. (CLS_SETNUMBER): Same. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@165392 138bc75d-0d04-0410-961f-82ee72b054a4
2010-10-122010-10-12 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero
* archive.c: Do not include objc/objc.h. * class.c: Do not include objc/objc.h. * encoding.c: Include objc/runtime.h, ctype.h and objc-private/module-abi-8.h instead of objc/objc-api.h and objc/encoding.h. * error.c: Do not include objc/objc.h. * gc.c: Include tconfig.h and objc/encoding.h only if OBJC_WITH_GC. * hash.c: Include objc/runtime.h and objc/thr.h instead of objc/objc-api.h. Do not include objc/objc.h. * init.c: Do not include objc/objc.h. * ivars.c: Include objc/runtime.h, objc-private/module-abi-8.h and objc/thr.h instead of objc/objc-api.h. Do not include objc/objc.h. * linking.m: Tidied comment. * memory.c: Include objc/runtime.h instead of objc/objc-api.h. Do not include objc/objc.h. * objects.c: Do not include objc/objc.h. * objc-sync.c: Include objc/runtime.h instead of objc/objc-api.h. * protocols.c: Do not include objc/objc.h. * sarray.c: Include objc/runtime.h instead of objc/objc-api.h. Do not include objc/objc.h. * selector.c: Do not include objc/objc.h. * sendmsg.c: Do not include objc/objc.h. * thr.c: Include objc/runtime.h instead of objc/objc-api.h. Do not include objc/objc.h. * objc/objc-decls.h: Reindented code. * objc/runtime.h Include objc-decls.h. Updated comments. (objc_malloc): New. (objc_atomic_malloc): New. (objc_calloc): New. (objc_realloc): New. (objc_free): New. * objc-private/runtime.h: Updated comments. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@165386 138bc75d-0d04-0410-961f-82ee72b054a4
2010-10-12In libobjc/:Nicola Pero
2010-10-12 Nicola Pero <nicola.pero@meta-innovation.com> * Makefile.in (C_SOURCE_FILES): Added protocols.c. * objc-private/protocols.h: New. * protocols.c: New. * init.c: Include objc-private/protocols.h. (__objc_exec_class): Call __objc_protocols_init on startup. (__objc_init_protocols): Call __objc_protocols_add_protocol. * objc-private/runtime.h: Use (struct objc_method_list *) instead of MethodList_t, and (struct objc_method *) instead of Method_t. * objc/deprecated/struct_objc_class.h: Define __objc_STRUCT_OBJC_CLASS_defined. * objc-private/module-abi-8.h (struct objc_method_description_list): New. (struct objc_class): Only define if __objc_STRUCT_OBJC_CLASS_defined is undefined. * objc/runtime.h (class_getName): New. (objc_getProtocol): New. (objc_copyProtocolList): New. (class_addProtocol): New. (class_conformsToProtocol): New. (class_copyProtocolList): New. (protocol_conformsToProtocol): New. (protocol_isEqual): New. (protocol_getName): New. (protocol_getMethodDescription): New. (protocol_copyMethodDescriptionList): New. (protocol_getProperty): New. (protocol_copyPropertyList): New. (protocol_copyProtocolList): New. * class.c (class_getName): New. * selector.c (sel_isEqual): New. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@165349 138bc75d-0d04-0410-961f-82ee72b054a4
2010-10-12In libobjc/:Nicola Pero
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@165348 138bc75d-0d04-0410-961f-82ee72b054a4
2010-10-11In libobjc/:Nicola Pero
2010-10-11 Nicola Pero <nicola.pero@meta-innovation.com> * class.c (objc_getClassList): New. (objc_getRequiredClass): New. (objc_getMetaClass): New. (objc_lookupClass): New. (objc_getClass): New. (__objc_get_unknown_class_handler): New. (objc_setGetUnknownClassHandler): New. (objc_get_class): Use __objc_get_unknown_class_handler. (objc_lookup_class): Call objc_getClass. * objc/objc-api.h: Updated comment and copyright notice. * objc/runtime.h: Updated comments. (objc_getClass): New. (objc_lookupClass): New. (objc_getMetaClass): New. (objc_getRequiredClass): New. (objc_getClassList): New. (objc_setGetUnknownClassHandler): New. (objc_get_unknown_class_handler): New. * objc-private/runtime.h: Use __objc_private_runtime_INCLUDE_GNU instead of __objc_runtime_INCLUDE_GNU as include guard. * objc-private/error.h (_objc_abort): Mark as noreturn. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@165326 138bc75d-0d04-0410-961f-82ee72b054a4
2010-10-11In libobjc/:Nicola Pero
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@165269 138bc75d-0d04-0410-961f-82ee72b054a4
2010-10-102010-10-11 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero
* objc/objc.h: Updated comments. * objc/objc-api.h: (object_copy): Added one argument; use a #define to maintain backwards-compatibility. Moved _objc_object_alloc, _objc_object_copy, _objc_object_dispose and objc_get_uninstalled_dtable into objc/deprecated/objc_get_uninstalled_dtable.h and objc/deprecated/objc_object_alloc.h. Include these files. * objc/deprecated/objc_get_uninstalled_dtable.h: New. * objc/deprecated/objc_object_alloc.h: New. * objc/runtime.h (set_getName): New. (sel_getType): New. (sel_getUid): New. (sel_registerName): New. (sel_registerTypedName): New. (sel_isEqual): New. (class_createInstance): New. (object_copy): New. (object_dispose): New. * objects.c: Do not include tconfig.h. Include gc_typed.h if building the garbage collection version. (__objc_object_alloc): Removed. (__objc_object_copy): Removed. (__objc_object_dispose): Removed. (class_createInstance): New from code in class_create_instance. Cast second argument of GC_malloc_explicitly_typed. Use objc_calloc. Do not call _objc_object_alloc. (class_create_instance): Call class_createInstance. (object_copy): Added extraBytes argument. Do not call _objc_object_copy. (object_dispose): Do not call _objc_object_dispose. * memory.c (objc_free): When using garbage collection, mark the argument as unused. * selector.c (sel_getName): New. (sel_get_name): Call sel_getName. (sel_getType): New. (sel_get_type): Call sel_getType. (sel_registerName): New. (sel_register_name): Call sel_registerName. (sel_registerTypedName): New. (sel_register_typed_name): Call sel_registerTypedName. (sel_getUid): New. (sel_get_uid): Call sel_getUid. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@165264 138bc75d-0d04-0410-961f-82ee72b054a4
2010-10-10In libobjc/:Nicola Pero
2010-10-10 Nicola Pero <nicola.pero@meta-innovation.com> * objc/objc-api.h: Define Method, Method_t, Category and Category_t. Prevent including this file at the same time as objc/runtime.h. Updated comments. * objc/deprecated/struct_objc_method.h: Do not define Method, Method_t. * objc/deprecated/struct_objc_category.h: Do not define Category, Category_t. * objc-private/module-abi-8.h: New file containing a copy of all the structure definitions. Not used yet. * objc/encoding.h (objc_aligned_size): Removed duplicate declaration. Updated comments. * objc/runtime.h: Added Ivar, objc_property_t, Property, Method, Category, struct objc_method_description, _C_ID and similar, _C_CONST and similar and _F_CONST and similar. Added objc_sizeof_type, objc_alignof_type, objc_aligned_size, objc_promoted_size, objc_skip_type_qualifier, objc_skip_typespec, objc_skip_offset, objc_skip_argspec, objc_get_type_qualifiers, struct objc_struct_layout, objc_layout_structure, objc_layout_structure_next_member, objc_layout_finish_structure, objc_layout_structure_get_info. Prevent including this file at the same time as objc/objc-api.h. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@165256 138bc75d-0d04-0410-961f-82ee72b054a4
2010-10-10In libobjc/:Nicola Pero
2010-10-10 Nicola Pero <nicola.pero@meta-innovation.com> * Makefile.in (OBJC_DEPRECATED_H): Added struct_objc_category.h, struct_objc_ivar.h, struct_objc_ivar_list.h, struct_objc_method.h, struct_objc_method_list.h, struct_objc_module.h, struct_objc_protocol_list.h, struct_objc_symtab.h. * objc/deprecated/struct_objc_category.h: New. * objc/deprecated/struct_objc_ivar.h: New. * objc/deprecated/struct_objc_ivar_list.h: New. * objc/deprecated/struct_objc_method.h: New. * objc/deprecated/struct_objc_method_list.h: New. * objc/deprecated/struct_objc_module.h: New. * objc/deprecated/struct_objc_protocol_list.h: New. * objc/deprecated/struct_objc_symtab.h: New. * objc/deprecated/struct_objc_static_instances.h: New. * objc/objc-api.h: Definitions of deprecated structures moved into the above header fragment files in objc/deprecated/. Include the files instead of definition the structures here. Updated comments. * objc/runtime.h: Updated comments. Do not include objc-api.h. (objc_set_enumeration_mutation_handler): Renamed to objc_setEnumerationMutationHandler. * objc-foreach.c (objc_set_enumeration_mutation_handler): Renamed to objc_setEnumerationMutationHandler. * objc/objc-exception.h (objc_set_exception_matcher): Renamed to objc_setExceptionMatcher. (objc_set_uncaught_exception_handler): Renamed to objc_setUncaughtExceptionHandler. * exception.c: Same changes. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@165249 138bc75d-0d04-0410-961f-82ee72b054a4
2010-10-09In libobjc/:Nicola Pero
2010-10-10 Nicola Pero <nicola.pero@meta-innovation.com> * objc-sync.c: Include objc-private/common.h. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@165242 138bc75d-0d04-0410-961f-82ee72b054a4
2010-10-09In libobjc/:Nicola Pero
2010-10-10 Nicola Pero <nicola.pero@meta-innovation.com> * objc-foreach.c: Include objc-private/common.h. * objc/deprecated/METHOD_NULL.h: New file. * objc/objc-api.h: Include deprecated/METHOD_NULL.h instead of defining METHOD_NULL here. * Makefile.in (OBJC_DEPRECATED_H): Added METHOD_NULL.h. * Object.m ([+instancesRespondTo:]): Use (Method_t)0 instead of METHOD_NULL. ([-respondsTo:]): Same change. * objc/objc-api.h (method_get_imp): Converted it into a normal function so that we can hide the internals of struct objc_method. * sendmsg.c (method_get_imp): Implemented. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@165241 138bc75d-0d04-0410-961f-82ee72b054a4
2010-10-09In libobjc/:Nicola Pero
2010-10-09 Nicola Pero <nicola.pero@meta-innovation.com> * objc/objc-api.h (struct objc_super, Super, Super_t, objc_msg_lookup_super, objc_msg_sendv, objc_msg_forward, objc_msg_forward2): Declarations moved to objc/message.h. Include message.h here. * objc/message.h: Added such declarations; updated comments. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@165236 138bc75d-0d04-0410-961f-82ee72b054a4
2010-10-06In gcc/:Nicola Pero
2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com> Implemented fast enumeration for Objective-C. * c-parser.c (objc_could_be_foreach_context): New. (c_lex_one_token): Recognize RID_IN keyword in a potential Objective-C foreach context. (c_parser_declaration_or_fndef): Added parameter. Accept Objective-C RID_IN keyword as terminating a declaration; in that case, return the declaration in the new parameter. (c_parser_extenral_declaration): Updated calls to c_parser_declaration_or_fndef. (c_parser_declaration_or_fndef): Same change. (c_parser_compound_statement_nostart): Same change. (c_parser_label): Same change. (c_parser_objc_methodprotolist): Same change. (c_parser_omp_for_loop): Same change. (c_parser_for_statement): Detect and parse Objective-C foreach statements. (c_parser_omp_for_loop): Updated call to check_for_loop_decls(). * c-decl.c (check_for_loop_decls): Added parameter to allow ObjC fast enumeration parsing code to turn off the c99 error but still perform checks on the loop declarations. * c-tree.h (check_for_loop_decls): Updated declaration. * doc/objc.texi: Document fast enumeration. In gcc/c-family/: 2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com> Implemented fast enumeration for Objective-C. * c-common.h (objc_finish_foreach_loop): New. * stub-objc.c (objc_finish_foreach_loop): New. In gcc/objc/: 2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com> Implemented fast enumeration for Objective-C. * objc-act.c (build_fast_enumeration_state_template): New. (TAG_ENUMERATION_MUTATION): New. (TAG_FAST_ENUMERATION_STATE): New. (synth_module_prologue): Call build_fast_enumeration_state_template() and set up objc_enumeration_mutation_decl. (objc_create_temporary_var): Allow providing a name to temporary variables. (objc_build_exc_ptr): Updated calls to objc_create_temporary_var(). (next_sjlj_build_try_catch_finally): Same change. (objc_finish_foreach_loop): New. * objc-act.h: Added OCTI_FAST_ENUM_STATE_TEMP, OCTI_ENUM_MUTATION_DECL, objc_fast_enumeration_state_template, objc_enumeration_mutation_decl. Merge from 'apple/trunk' branch on FSF servers. 2006-04-12 Fariborz Jahanian <fjahanian@apple.com> Radar 4507230 * objc-act.c (objc_type_valid_for_messaging): New routine to check for valid objc object types. (objc_finish_foreach_loop): Check for invalid objc objects in foreach header. In gcc/testsuite/: 2010-10-05 Nicola Pero <nicola.pero@meta-innovation.com> Implemented fast enumeration for Objective-C. * objc.dg/foreach-1.m: New. * objc.dg/foreach-2.m: New. * objc.dg/foreach-3.m: New. * objc.dg/foreach-4.m: New. * objc.dg/foreach-5.m: New. * objc.dg/foreach-6.m: New. * objc.dg/foreach-7.m: New. Merge from 'apple/trunk' branch on FSF servers: 2006-04-13 Fariborz Jahanian <fjahanian@apple.com> Radar 4502236 * objc.dg/objc-foreach-5.m: New. 2006-04-12 Fariborz Jahanian <fjahanian@apple.com> Radar 4507230 * objc.dg/objc-foreach-4.m: New. 2006-03-13 Fariborz Jahanian <fjahanian@apple.com> Radar 4472881 * objc.dg/objc-foreach-3.m: New. 2005-03-07 Fariborz Jahanian <fjahanian@apple.com> Radar 4468498 * objc.dg/objc-foreach-2.m: New. 2006-02-15 Fariborz Jahanian <fjahanian@apple.com> Radar 4294910 * objc.dg/objc-foreach-1.m: New In libobjc/: 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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@165019 138bc75d-0d04-0410-961f-82ee72b054a4
2010-09-302010-09-30 Kai Tietz <kai.tietz@onevision.com>Kai Tietz
* objc/deprecated/struct_objc_class.h: Add padding to avoid warning with -Wpadded. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@164746 138bc75d-0d04-0410-961f-82ee72b054a4
2010-09-27In gcc/:Nicola Pero
2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com> * doc/objc.texi (Type encoding): Added the new 'long double' (D) code. Added byref, which was missing in the list of codes. Explain that enumeration values are encoded as the integer type that the compiler uses to store them. Explain and make examples of how 'const' interacts with pointers, and the complication of the encoding of 'const char *'. (Legacy type encoding): New subsection, explaining that GCC emits incorrect type encodings for the NeXT runtime for compatibility reasons. (@@encode): New subsection, explaining @encode and particularly that protocol qualifiers are not recognized inside an @encode() expression. (Method signatures): New subsection, explaining how method signatures are encoded. In gcc/objc/: 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com> PR objc/45763 PR objc/25450 PR objc/25464 * objc-act.c: Improved comments for encoding functions. (encode_aggregate_within): For the GNU runtime, rewritten some obsfuscated code to clarify the various cases. (encode_aggregate): Function removed. (encode_array): Generate an error if asked to encode an incomplete array as part of generating instance variables. Else, when encoding an incomplete array inside a structure, encode it as an array of zero size. (encode_pointer): For the GNU runtime, fixed encoding 'BOOL *' as '^c' instead of '*'. (encode_gnu_bitfield): Encode enumerated types exactly in the same type as integer types instead of using a hardcoded 'i'. If asked to encode a non-integer type as a bitfield, do not abort compilation immediately; instead generate an error, then skip the type. (encode_type): Use a 'switch' instead of a sequence of 'if's. Added a 'default' clause that gets executed if the type can not be matched, and that encodes it as '?' (unknown) and produces a warning. For the GNU runtime, encode enumerated types exactly in the same way as integer types instead of using a hardcoded 'i'. Encode long double as 'D'. Encode 128-bit integers as 'T' or 't'. Encode C++ reference types as pointers. Call encode_vector to encode vectors. (encode_vector): New function. 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com> Merge from 'apple/trunk' branch on FSF servers. I modified the changes to be used only when compiling for the NeXT runtime. 2005-10-10 Fariborz Jahanian <fjahanian@apple.com> Radar 4301047 * objc-act.c (encode_type): Remove the hack. 2005-07-20 Ziemowit Laski <zlaski@apple.com> Radar 4136935 * objc-act.c (pointee_is_readonly): New function. (encode_pointer, encode_aggregate_within, encode_type): Attempt to emulate GCC 3.3 when generating type encodings. In gcc/testsuite/: 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com> PR objc/25464 * objc.dg/type-size-3.m: New test. 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com> PR objc/45763 * objc.dg/encode-1.m: Execute the test with the GNU runtime as well. 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com> PR objc/25450 * objc.dg/encode-3.m: Updated for fix of encoding of enums. * objc.dg/type-size-2.m: Same change. * obj-c++.dg/encode-5.mm: Same change. 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com> Merge from 'apple/trunk' branch on FSF servers. The original Changelogs are below. * objc.dg/encode-6.m: Execute the test only with the GNU runtime. * objc.dg/encode-6-next.m: New file (from encode-6.m in the branch). * objc.dg/encode-7-next.m: New file (from encode-7.m in the branch). * objc.dg/encode-7-next-64bit.m: New file (from encode-7-64bit.m in the branch). * objc.dg/proto-qual-1.m: Test the 3.3 ABI on NeXT (from proto-qual-1.m in the branch) and the normal ABI on GNU. * objc.dg/threedotthree-abi-1.m: New file (from the branch). Run the test only with the NeXT runtime. * obj-c++/encode-1.mm: Execute the test only with the GNU runtime. * obj-c++/encode-1-next.mm: New file (from encode-1.mm in the branch). * obj-c++.dg/threedotthree-abi-1.mm: New file (from the branch). Run the test only with the NeXT runtime. 2006-03-30 Fariborz Jahanian <fjahanian@apple.com> Radar 4492973 * objc.dg/encode-7-64bit.m: New. * objc.dg/encode-7.m: Skip if -m64. 2005-10-19 Fariborz Jahanian <fjahanian@apple.com> Radar 4301047 * objc.dg/proto-qual-1.m: Fix test to match 3.3 ABI * obj-c++.dg/threedotthree-abi-1.mm: New * objc.dg/threedotthree-abi-1.m: New 2005-07-20 Ziemowit Laski <zlaski@apple.com> Radar 4136935 * obj-c++.dg/encode-1.mm: Tweak encodings to match fix. * objc.dg/encode-6.m: Likewise. * objc.dg/encode-7.m: New test case. In libobjc/: 2010-09-26 Nicola Pero <nicola.pero@meta-innovation.com> * encoding.c (objc_sizeof_type): Added support for vector type and for double long types. (objc_alignof_type): Same change. (objc_skip_typespec): Same change. * objc/encoding.h (_C_GCINVISIBLE): Use '|' for _C_GCINVISIBLE instead of '!' since '!' is already used for _C_VECTOR. * objc/objc-api.h (_C_LNG_DBL): Added. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@164659 138bc75d-0d04-0410-961f-82ee72b054a4
2010-09-26Reverted removing 'inline' from get_impNicola Pero
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@164636 138bc75d-0d04-0410-961f-82ee72b054a4
2010-09-26In libobjc/:Nicola Pero
* libobjc_entry.c: File removed. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@164633 138bc75d-0d04-0410-961f-82ee72b054a4
2010-09-262010-09-26 Kai Tietz <kai.tietz@onevision.com>Kai Tietz
* sendmsg.c (get_imp): Remove inline. (objc_msg_lookup): Likewise. (objc_get_uninstalled_dtable): Likewise. * encoding.c (objc_skip_type_qualifiers): Likewise. (objc_skip_offset): Likewise. * archive.c (__objc_write_object): Likewise (__objc_write_class): (__objc_write_selector): (objc_read_char): (objc_read_unsigned_char): (objc_read_short): (objc_read_unsigned_short): (objc_read_int): (objc_read_long): (__objc_read_nbyte_uint): (objc_read_unsigned_int): (objc_read_unsigned_long): * objc/objc-decls.h (obc_EXPORT): Remove dllexport for DLL_EXPORT case. (objc_EXPORT): Likewise. * objc/message.h (objc-decls.h): Add include. * objc/objc-api.h: Mark API by objc_EXPORT. * libobjc.def (__objc_responds_to): Removed. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@164632 138bc75d-0d04-0410-961f-82ee72b054a4
2010-09-18In libobjc/:Nicola Pero
* 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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@164389 138bc75d-0d04-0410-961f-82ee72b054a4
2010-09-17In libobjc/:Nicola Pero
* 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. Also, fixed an error in my last commit by adding back objc/hash.h and objc/objc-list.h that had not been committed. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@164374 138bc75d-0d04-0410-961f-82ee72b054a4
2010-09-17In libobjc/:Nicola Pero
* objc/hash.h: Moved into objc/deprecated/hash.h; objc/hash.h replaced with a placeholder including the file from the deprecated/ directory. * objc/objc-api.h: Updated includes. * objc/typedstream.h: Updated includes. * objc-private/hash.h: New file (private copy of hash.h). * objc/objc-list.h: Moved into objc/deprecated/objc-list.h; objc/objc-list.h replaced with a placeholder including the file from the deprecated/ directory. * objc-private/objc-list.h: New file (private copy of objc-list.h). * init.c: Include objc-private/hash.h and objc-private/objc-list.h instead of objc/hash.h and objc/objc-list.h. * selector.c: Same change. * class.c: Added include <string.h>, which used to be implicitly included when hash.h was included. * exception.c: Same change. * objects.c: Same change. * sarray.c: Same change. * sendmsg.c: Same change. * Makefile.in (OBJC_DEPRECATED_H): Added hash.h and objc-list.h. (OBJC_H): Removed hash.h and objc-list.h git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@164373 138bc75d-0d04-0410-961f-82ee72b054a4
2010-09-14In libobjc/:Nicola Pero
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@164276 138bc75d-0d04-0410-961f-82ee72b054a4
2010-09-12In libobjc/:Nicola Pero
* 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. * memory.c (objc_calloc): Fixed call to GC_malloc when building with Garbage Colletion. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@164231 138bc75d-0d04-0410-961f-82ee72b054a4
2010-09-12In libobjc/:Nicola Pero
* memory.c: Do not include objc-private/runtime.h. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@164225 138bc75d-0d04-0410-961f-82ee72b054a4
2010-09-12In libobjc/:Nicola Pero
* objc/deprecated/objc_malloc.h: New file. * objc/deprecated/objc_valloc.h: New file. * objc/objc-api.h: Include the files instead of defining objc_valloc, _objc_malloc() and similar. * Makefile.in (OBJC_DEPRECATED_H): Added objc_valloc.h and objc_malloc.h. * memory.c: Removed the extra layer of indirection of _objc_malloc and similar. (objc_calloc): Use GC_malloc in the garbage-collected implementation as GC_malloc returns memory that is already freed. (objc_valloc): Deprecated. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@164224 138bc75d-0d04-0410-961f-82ee72b054a4
2010-09-12In libobjc/:Nicola Pero
* objc/deprecated/objc_error.h: New file. * objc/objc-api.h: Include deprecated/objc_error.h instead of defining objc_error and related. * error.c: New file. Added _objc_abort function which replaces objc_error. No change in functionality as they both print an error and abort. * misc.c: File removed. Code moved into memory.c and error.c. * memory.c: New file. * objc-private/error.h: New file. * archive.c: Include objc-private/error.h and use _objc_abort instead of objc_error everywhere. * class.c: Same change. * encoding.c: Same change. * init.c: Same change, and simplified init_check_module_version. * memory.c: Same change. * sendmsg.c: Same change. * thr.c: Same change. * Makefile.in (OBJ_DEPRECATED_H): Added objc_error.h. (OBJ_H): Reordered list. (OBJS): Removed misc.lo, added memory.lo and error.lo. (OBJS_GC): Removed misc_gc.lo, added memory_gc.lo and error_gc.lo. (misc_gc.lo): Rule removed. (error_gc.lo): Rule added. (memory_gc.lo): Rule added. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@164223 138bc75d-0d04-0410-961f-82ee72b054a4
2010-09-11In libobjc/:Nicola Pero
* 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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@164218 138bc75d-0d04-0410-961f-82ee72b054a4