Age | Commit message (Collapse) | Author | Files | Lines |
|
In libobjc/:
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.
From-SVN: r167961
|
|
In libobjc/:
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'.
From-SVN: r167869
|
|
In libobjc/:
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.
From-SVN: r167864
|
|
In libobjc/:
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.
From-SVN: r167837
|
|
2010-12-15 Nicola Pero <nicola.pero@meta-innovation.com>
* sendmsg.c: Reindented some code and tidied up comments. No
actual code changes.
From-SVN: r167835
|
|
into ...
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.
From-SVN: r167825
|
|
objc/objc-api.h.
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.
From-SVN: r167818
|
|
From-SVN: r167817
|
|
2010-12-14 Nicola Pero <nicola.pero@meta-innovation.com>
* selector.c: Reindented some code and tidied up comments. No
actual code changes.
From-SVN: r167815
|
|
libobjc:
* encoding.c (_darwin_rs6000_special_round_type_align): New.
(darwin_rs6000_special_round_type_align): Adjust to use new routine.
testsuite:
* objc.dg/gnu-encoding/struct-layout-encoding-1_generate.c: Adjust XFAILs.
From-SVN: r167741
|
|
In libobjc/:
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.
From-SVN: r167712
|
|
refs.
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.
From-SVN: r167710
|
|
toolchain)
config/ChangeLog:
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.
From-SVN: r167480
|
|
2010-12-03 Matthias Klose <doko@ubuntu.com>
* configure.ac (VERSION): Bump the version to 3:0:0.
* configure: Regenerate.
From-SVN: r167426
|
|
In libobjc/:
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.
From-SVN: r167092
|
|
2010-11-18 Nicola Pero <nicola.pero@meta-innovation.com>
* ivars.c: Include stdlib.h.
* protocols.c: Same change.
From-SVN: r166895
|
|
months
From-SVN: r166613
|
|
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.
From-SVN: r165903
|
|
In gcc/:
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++.
From-SVN: r165595
|
|
In libobjc/:
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.
From-SVN: r165583
|
|
In libobjc/:
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.
From-SVN: r165563
|
|
is not resolved yet.
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.
From-SVN: r165542
|
|
In libobjc/:
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.
From-SVN: r165533
|
|
In libobjc/:
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.
From-SVN: r165531
|
|
In libobjc/:
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.
From-SVN: r165525
|
|
In libobjc/:
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.
From-SVN: r165517
|
|
From-SVN: r165501
|
|
In libobjc/:
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.
From-SVN: r165499
|
|
In libobjc/:
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.
From-SVN: r165414
|
|
In libobjc/:
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.
From-SVN: r165409
|
|
In libobjc/:
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.
From-SVN: r165404
|
|
In libobjc/:
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.
From-SVN: r165403
|
|
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.
From-SVN: r165400
|
|
In libobjc/:
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.
From-SVN: r165392
|
|
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.
From-SVN: r165386
|
|
In libobjc/:
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.
From-SVN: r165349
|
|
In libobjc/:
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.
From-SVN: r165348
|
|
In libobjc/:
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.
From-SVN: r165326
|
|
In libobjc/:
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.
From-SVN: r165269
|
|
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.
From-SVN: r165264
|
|
In libobjc/:
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.
From-SVN: r165256
|
|
In libobjc/:
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.
From-SVN: r165249
|
|
In libobjc/:
2010-10-10 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-sync.c: Include objc-private/common.h.
From-SVN: r165242
|
|
In libobjc/:
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.
From-SVN: r165241
|
|
In libobjc/:
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.
From-SVN: r165236
|
|
In gcc/:
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.
From-SVN: r165019
|
|
2010-09-30 Kai Tietz <kai.tietz@onevision.com>
* objc/deprecated/struct_objc_class.h: Add padding
to avoid warning with -Wpadded.
From-SVN: r164746
|
|
In gcc/:
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.
From-SVN: r164659
|
|
From-SVN: r164636
|
|
* libobjc_entry.c: File removed.
From-SVN: r164633
|