Commit Graph

363 Commits

Author SHA1 Message Date
Nicola Pero
d05809afcf In libobjc/: 2011-06-07 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2011-06-07  Nicola Pero  <nicola.pero@meta-innovation.com>

	* sendmsg.c (class_get_instance_method): Removed.
	(class_get_class_method): Removed.
	(objc_get_uninstalled_dtable): Removed.

From-SVN: r174775
2011-06-07 22:25:13 +00:00
Nicola Pero
0b0b41a89e In libobjc/: 2011-06-07 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2011-06-07  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc-private/module-abi-8.h (class_get_instance_size): Removed.
	* objects.c (class_create_instance): Removed.
	* error.c (__USE_FIXED_PROTOTYPES__): Removed.
	* gc.c (__objc_generate_gc_type_description): Use
	class_getInstanceSize() instead of class_get_instance_size().
	* selector.c (sel_types_match): Made static.
	(sel_get_typed_uid): Removed.
	(sel_get_any_typed_uid): Removed.
	(sel_get_name): Removed.
	(sel_get_type): Removed.
	(sel_register_name): Removed.
	(sel_register_typed_name): Removed.
	(sel_get_uid): Removed.

From-SVN: r174773
2011-06-07 22:07:48 +00:00
Nicola Pero
338efe0d54 In libobjc/: 2011-06-07 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2011-06-07  Nicola Pero  <nicola.pero@meta-innovation.com>

	* encoding.c (method_get_number_of_arguments): Removed.
	(method_get_sizeof_arguments): Removed.

From-SVN: r174768
2011-06-07 21:36:57 +00:00
Nicola Pero
69c3298059 In libobjc/: 2011-06-07 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2011-06-07  Nicola Pero  <nicola.pero@meta-innovation.com>

	* class.c (objc_next_class): Removed.
	(class_pose_as): Removed.
	(CLASSOF): Removed.
	(class_table_replace): Removed.
	(objc_lookup_class): Removed.

From-SVN: r174767
2011-06-07 21:20:42 +00:00
Nicola Pero
80e4b9e501 In libobjc/: 2011-06-07 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2011-06-07  Nicola Pero  <nicola.pero@meta-innovation.com>

	Removed the Traditional Objective-C runtime public API.
	* Makefile.in (OBJC_DEPRECATED_H): Variable removed.
	(install-headers): Do not create the objc/deprecated directory and
	do not install the deprecated headers.
	(OBJC_H): Removed encoding.h and objc-api.h.
	* Object.m: Removed all methods with the exception of -class and
	-isEqual:.  Updated includes.  ([-class]): Use Modern API.
	* objc/Object.h: Do not include deprecated/Object.h.
	* objc/deprecated/Object.h: Removed.
	* linking.m (__objc_linking): Call [Object class] instead of
	[Object name].
	* Protocol.m: Removed all methods with the exception of -isEqual:.
	Updated includes.
	* objc/Protocol.h: Do not include deprecated/Protocol.h.
	* objc/deprecated/Protocol.h: Removed.
	* objc/deprecated/struct_objc_symtab.h: Removed.
	* objc/deprecated/struct_objc_module.h: Removed.
	* objc/deprecated/struct_objc_ivar.h: Removed.
	* objc/deprecated/struct_objc_ivar_list.h: Removed.
	* objc/deprecated/struct_objc_method.h: Removed.
	* objc/deprecated/struct_objc_method_list.h: Removed.
	* objc/deprecated/struct_objc_protocol_list.h: Removed.
	* objc/deprecated/struct_objc_category.h: Removed.
	* objc/deprecated/MetaClass.h: Removed.
	* objc/deprecated/objc_msg_sendv.h: Removed.  
	* objc/deprecated/README: Removed.
	* objc/deprecated/struct_objc_class.h: Removed.
	* objc/deprecated/struct_objc_protocol.h: Removed.
	* objc/deprecated/struct_objc_selector.h: Removed.
	* objc/encoding.h: Removed.
	* objc/message.h (struct objc_super): Removed the definition for
	the Traditional Objective-C runtime API.
	* objc/objc.h: Do not include objc/objc-decls.h.
	deprecated/struct_objc_selector.h, deprecated/MetaClass.h,
	deprecated/struct_objc_class.h, deprecated/struct_objc_protocol.h
	and deprecated/objc_msg_sendv.h.  Uncommented new definition of
	Protocol *.
	* objc/objc-api.h: Removed.
	* objc/runtime.h: Updated comments.  Removed check to detect
	concurrent usage of Traditional and Modern APIs.
	* objc-private/module-abi-8.h: Always define struct objc_class and
	struct objc_protocol.  (struct objc_protocol_list): Changed type
	of 'list' argument from 'Protocol *' to 'struct objc_protocol *'.
	(class_get_instance_size): Added.
	* objc-private/protocols.h (__objc_protocols_add_protocol): Take a
	'struct objc_protocol *' as argument, not a 'Protocol *'.
	* objc-private/runtime.h: Updated comments.
	* objc-private/selector.h (struct objc_selector, sel_eq): Added.
	* class.c: Include objc-private/selector.h.
	(objc_get_meta_class): Return a Class instead of a MetaClass.
	* encoding.c (method_get_next_argument): Removed.
	(method_get_first_argument): Removed.
	(method_get_nth_argument): Removed.
	* gc.c: Include objc/runtime.h instead of objc/encoding.h.
	Include objc-private/module-abi-8.h and ctype.h.
	* protocols.c (__objc_protocols_add_protocol): Take a 'struct
	objc_protocl *' as argument, not a 'Protocol *'.
	(class_addProtocol): Added casts to 'struct objc_protocol *' and
	'Protocol *'.
	(class_copyProtocolList): Likewise.
	(protocol_conformsToProtocol): Likewise.
	(protocol_copyProtocolList): Likewise.
	* sarray.c: Include objc-private/module-abi-8.h.
	* sendmsg.c (method_get_next_argument): Removed.
	(method_get_first_argument): Removed.
	(method_get_nth_argument): Removed.
	(objc_msg_sendv): Removed.
	(arglist_t, retval_t): New.  (class_get_class_method): Take a
	'Class', not 'MetaClass', argument.
	* thr.c: Include module-abi-8.h.

From-SVN: r174765
2011-06-07 19:37:35 +00:00
Nicola Pero
543ad675a6 In libobjc/: 2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>

	* Makefile.in (OBJC_DEPRECATED_H): Removed struct_objc_static_instances.h
	and objc_get_uninstalled_dtable.h.
	* objc/deprecated/struct_objc_static_instances.h: Removed.
	* objc/deprecated/objc_get_uninstalled_dtable.h: Removed.	
	* objc/objc-api.h: Do not include deprecated/objc_static_instances.h
	and deprecated/objc_get_uninstalled_dtable.h.

From-SVN: r174618
2011-06-03 19:57:56 +00:00
Nicola Pero
815d63dd46 In libobjc/: 2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>

	* Makefile.in (OBJC_DEPRECATED_H): Removed objc_object_alloc.h.
	* objc/deprecated/objc_object_alloc.h: Removed.
	* objc/objc-api.h: Do not include deprecated/objc_object_alloc.h.
	* objects.c (_objc_object_alloc, _objc_object_dispose,
	_objc_object_copy): Removed.
	* libobjc.def (__objc_object_alloc, __objc_object_copy,
	__objc_object_dispose): Removed.

From-SVN: r174617
2011-06-03 19:43:04 +00:00
Nicola Pero
d2a1962dbf In libobjc/: 2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>

	* Makefile.in (OBJC_DEPRECATED_H): Removed METHOD_NULL.h.
	* objc/objc-api.h: Do not include deprecated/METHOD_NULL.h.
	* objc/deprecated/METHOD_NULL.h: Removed.

From-SVN: r174616
2011-06-03 19:24:08 +00:00
Nicola Pero
309ce401bc In libobjc/: 2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>

	* Makefile.in (OBJC_DEPRECATED_H): Removed objc_valloc.h,
	objc_malloc.h and objc_unexpected_exception.h.
	(exception.lo): Do not use -Wno-deprecated-declarations.
	(exception_gc.lo): Likewise.
	* objc/objc-api.h: Do not include deprecated/objc_valloc.h,
	deprecated/objc_malloc.h and
	deprecated/objc_unexpected_exception.h.
	* objc/deprecated/objc_valloc.h: Removed.
	* objc/deprecated/objc_malloc.h: Removed.
	* objc/deprecated/objc_unexpected_exception.h: Removed.
	* exception.c (_objc_unexpected_exception): Removed.
	(objc_exception_throw): Do not check for
	_objc_unexpected_exception.
	* memory.c (objc_valloc, _objc_malloc, _objc_atomic_malloc,
	_objc_valloc, _objc_realloc, _objc_calloc, _objc_free): Removed.	
	* libobjc.def (_objc_unexpected_exception, objc_valloc): Removed.

From-SVN: r174615
2011-06-03 19:15:23 +00:00
Nicola Pero
4f570b66f1 In libobjc/: 2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc/objc.h: Do not include deprecated/STR.h.
	* objc/deprecated/STR.h: Removed.
	* Makefile.in (OBJC_DEPRECATED_H): removed STR.h.

From-SVN: r174614
2011-06-03 18:37:44 +00:00
Nicola Pero
dd3dba526f In libobjc/: 2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>

	* Makefile.in (OBJC_H): Removed hash.h and sarray.h.
	(OBJC_DEPRECATED_H): Likewise.
	* libobjc.def (objc_hash_new, objc_hash_delete, objc_hash_add,
	objc_hash_remove, objc_hash_next, objc_hash_value_for_key,
	objc_hash_is_key_in_hash, hash_add, hash_delete, hash_new,
	hash_next, hash_remove, hash_value_for_key, hash_is_key_in_hash,
	sarray_at_put, sarray_at_put_safe, sarray_free, sarray_lazy_copy,
	sarray_new, sarray_realloc, sarray_remove_garbage): Removed.
	* objc/sarray.h: Removed.
	* objc/hash.h: Removed.
	* objc/deprecated/sarray.h: Removed.
	* objc/deprecated/hash.h: Removed.
	* objc/Object.h: Do not include objc/deprecated/hash.h
	* Object.m: Include string.h.
	* objc/objc-api.h: Do not include objc/deprecated/hash.h.
	* objc-private/common.h (GNU_LIBOBJC_COMPILING_LIBOBJC_ITSELF):
	Removed.

In gcc/testsuite/:
2011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc.dg/headers.m: Do not include sarray.h and hash.h.

From-SVN: r174610
2011-06-03 17:59:14 +00:00
Nicola Pero
4236b2e5c2 In libobjc/: 2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>

	* Object.m ([-forward::]): Removed.
	* objc/deprecated/Object.h ([-forward::]): Removed.
	* sendmsg.c (__objc_forward): Updated comments.

From-SVN: r174607
2011-06-03 17:02:03 +00:00
Nicola Pero
7a7249780d In libobjc/: 2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>

	* Makefile.in (OBJC_H): Removed objc-list.h.
	(OBJC_DEPRECATED_H): Removed objc-list.h.
	* objc/objc-list.h: File removed.
	* objc/deprecated/objc-list.h: File removed.

In gcc/testsuite/:
2011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc.dg/headers.m: Do not include objc-list.h.

From-SVN: r174594
2011-06-03 01:02:22 +00:00
Nicola Pero
efad6bee02 In libobjc/: 2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>

	* Makefile.in (OBJC_H): Removed typedstream.h.
	(OBJC_DEPRECATED_H): Removed typedstream.h.
	(C_SOURCE_FILES): Removed archive.c.
	(Object.lo): Rule removed.
	(Object_gc.lo): Likewise.
	(archive.lo): Likewise.
	(archive_gc.lo): Likewise.
	* objc/deprecated/Object.h ([+streamVersion:], [-read], [-write],
	[-awake]): Removed.
	Do not include deprecated/typedstream.h.
	* Object.m: Removed the same methods.
	* archive.c: File removed.
	* objc/typedstream.h: File removed.
	* objc/deprecated/typedstream.h: File removed.
	* libobjc.def (__objc_read_nbyte_uint, __objc_read_nbyte_ulong,
	__objc_write_class, __objc_write_object, __objc_write_selector,
	objc_close_typed_stream, objc_end_of_typed_stream,
	objc_flush_typed_stream, objc_get_stream_class_version,
	objc_open_typed_stream, objc_open_typed_stream_for_file,
	objc_read_array, objc_read_char, objc_read_int, objc_read_long,
	objc_read_object, objc_read_selector, objc_read_short,
	objc_read_string, objc_read_type, objc_read_types,
	objc_read_unsigned_char, objc_read_unsigned_int,
	objc_read_unsigned_long, objc_read_unsigned_short,
	objc_write_array, objc_write_char, objc_write_int,
	objc_write_long, objc_write_object, objc_write_object_reference,
	objc_write_root_object, objc_write_selector, objc_write_short,
	objc_write_string, objc_write_string_atomic, objc_write_type,
	objc_write_types, objc_write_unsigned_char,
	objc_write_unsigned_int, objc_write_unsigned_long,
	objc_write_unsigned_short): Removed.
	
In gcc/testsuite/:
2011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc.dg/type-stream-1.m: Test removed.
	* objc.dg/headers.m: Do not include typedstream.h.

From-SVN: r174593
2011-06-03 00:43:14 +00:00
Nicola Pero
e79132c385 In libobjc/: 2011-06-02 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2011-06-02  Nicola Pero  <nicola.pero@meta-innovation.com>

	* Makefile.in (OBJC_DEPRECATED_H): Removed objc_error.h.
	* objc/deprecated/objc_error.h: Removed.
	* objc/objc-api.h: Do not include deprecated/objc_error.h.
	* libobjc.def (objc_error, objc_verror): Removed.
	* error.c (_objc_error_handler, objc_error, objc_verror,
	objc_set_error_handler): Removed.
	* Object.m ([-error:], [-perform:], [-perform:with:],
	[-perform:with:with], [-subclassResponsibility:],
	[-notImplemented:], [-shouldNotImplement:], [-doesNotRecognize:]):
	Removed.
	* objc/deprecated/Object.h: Removed the same methods.
	* sendmsg.c (__objc_forward): Do not try to invoke the "error:"
	method after trying to invoke the "doesNotRecognize:" method.
	
In gcc/testsuite/:
2011-06-02  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc.dg/torture/forward-1.m (main): Updated testcase.

From-SVN: r174587
2011-06-02 23:15:14 +00:00
Nicola Pero
7f344fab18 Fixed one of my last ChangeLog entries
From-SVN: r174276
2011-05-26 10:51:43 +00:00
Nicola Pero
0dd5327a46 In libobjc/: 2011-05-26 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2011-05-26  Nicola Pero  <nicola.pero@meta-innovation.com>

	* sendmsg.c: Reindented part of the file.  No non-trivial changes
	in code.

From-SVN: r174269
2011-05-26 09:31:30 +00:00
Nicola Pero
1e49849c9f In libobjc/: 2011-05-26 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2011-05-26  Nicola Pero  <nicola.pero@meta-innovation.com>

	* sendmsg.c (__objc_install_dtable_for_class): Use objc_getClass,
	not objc_lookupClass.

From-SVN: r174268
2011-05-26 09:13:59 +00:00
Nicola Pero
48126bcbc2 Fixed typo in last ChangeLog entry
From-SVN: r174238
2011-05-25 20:33:06 +00:00
Richard Frith-Macdonald
b5a3450ff7 In libobjc/: 2011-05-25 Richard Frith-Macdonald <rfm@gnu.org> David Ayers <ayers@fsfe.org>
In libobjc/:
2011-05-25  Richard Frith-Macdonald <rfm@gnu.org>
	    David Ayers  <ayers@fsfe.org>

	PR libobjc/38037
	* sendmsg.c: Include objc/hash.h.
	(get_implementation): New function, mostly with code from get_imp
	updated to support the new +initialize dispatch table logic.
	(get_imp): Use get_implementation.
	(__objc_responds_to): Updated to support the new +initialize
	dispatch table logic.
	(class_respondsToSelector): Likewise.
	(objc_msg_lookup): Use get_implementation.
	(__objc_init_install_dtable): Removed.
	(__objc_install_methods_in_dtable): Updated arguments.
	(__objc_install_dispatch_table_for_class): Renamed to
	__objc_install_dtable_for_class and updated to support the new
	+initialize dispatch table logic.
	(__objc_update_dispatch_table_for_class): Updated to support the
	new +initialize dispatch table logic.
	(__objc_forward): Call get_implementation instead of get_imp.
	(prepared_dtable_table): New.
	(__objc_prepare_dtable_for_class): New.	
	(__objc_prepared_dtable_for_class): New.
	(__objc_get_prepared_imp): New.
	(__objc_install_prepared_dtable_for_class): New.

Co-Authored-By: David Ayers <ayers@fsfe.org>

From-SVN: r174221
2011-05-25 18:54:40 +00:00
Nicola Pero
85fe6408f4 In libobjc/: 2011-05-24 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2011-05-24  Nicola Pero  <nicola.pero@meta-innovation.com>

	PR libobjc/48177
	* selector.c (__sel_register_typed_name): Use sel_types_match()
	instead of strcmp() to compare selector types (Suggestion by
	Richard Frith-Macdonald <rfm@gnu.org>).

In gcc/testsuite/:
2011-05-24  Nicola Pero  <nicola.pero@meta-innovation.com>

	PR libobjc/48177
	* objc.dg/pr48177.m: New testcase.

From-SVN: r174143
2011-05-24 21:39:24 +00:00
Rainer Orth
b98b952feb re PR libobjc/32037 (--enable-objc-gc on OS X won't build)
PR libobjc/32037
	* Makefile.in (OBJC_GCFLAGS): Move ...
	* configure.ac (enable_objc_gc): ... here.
	Add $(libsuffix) to OBJC_BOEHM_GC.
	* configure: Regenerate.

From-SVN: r172477
2011-04-15 09:26:05 +00:00
Nicola Pero
68ade9e4e8 In libobjc/: 2011-02-28 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2011-02-28  Nicola Pero  <nicola.pero@meta-innovation.com>
	
	* selector.c (sel_getTypedSelector): Return NULL if there are
	multiple selectors with conflicting types.
	* objc/runtime.h (sel_getTypedSelector): Updated documentation.
	
In gcc/testsuite/:
2011-02-28  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc.dg/gnu-api-2-sel.m: Test that sel_getTypedSelector return
	NULL in case of a selector with conflicting types.
	* obj-c++.dg/gnu-api-2-sel.mm: Same change.

From-SVN: r170563
2011-02-28 14:48:23 +00:00
Richard Frith-Macdonald
55b21c7a64 Fixed critical typo in Objective-C runtime garbage collection code
From-SVN: r170561
2011-02-28 13:08:37 +00:00
Ralf Wildenhues
029c8f3e77 Remove freebsd1 from libtool.m4 macros and config.rpath.
/:
	Import from Libtool and gnulib:

	2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>

	Prepare for supporting FreeBSD 10.
	* config.rpath: Remove handling of freebsd1* which soon would
	match FreeBSD 10.0.

	2011-01-20  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)

	Remove support for FreeBSD 1.x.
	* libtool.m4 (_LT_LINKER_SHLIBS)
	(_LT_SYS_DYNAMIC_LINKER): Remove handling of freebsd1* which
	soon would incorrectly match FreeBSD 10.0.

boehm-gc/:
	* configure: Regenerate.

gcc/:
	* configure: Regenerate.

libffi/:
	* configure: Regenerate.

libgfortran/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Likewise.
	* configure: Likewise.

libgo/:
	* config/libtool.m4: (_LT_LINKER_SHLIBS)
	(_LT_SYS_DYNAMIC_LINKER): Remove handling of freebsd1* which
	soon would incorrectly match FreeBSD 10.0.
	* configure: Regenerate.

libgomp/:
	* configure: Regenerate.

libjava/:
	* configure: Regenerate.
	* shlibpath.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Remove handling
	of freebsd1* which soon would incorrectly match FreeBSD 10.0.

libjava/classpath/:
	* config.rpath, ltcf-c.sh, ltcf-gcj.sh, ltconfig: Remove
	handling of freebsd1* which soon would match FreeBSD 10.0.
	* configure: Regenerate.

libjava/libltdl/:
	* acinclude.m4 (AC_LIBTOOL_PROG_LD_SHLIBS)
	(AC_LIBTOOL_SYS_DYNAMIC_LINKER): Remove handling
	of freebsd1* which soon would incorrectly match FreeBSD 10.0.
	* configure: Regenerate.

libmudflap/:
	* configure: Regenerate.

libobjc/:
	* configure: Regenerate.

libquadmath/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Likewise.
	* configure: Likewise.

libssp/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Likewise.
	* configure: Likewise.

libstdc++-v3/:
	* configure: Regenerate.

lto-plugin/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

zlib/:
	* configure: Regenerate.

From-SVN: r170106
2011-02-13 11:45:53 +00:00
Nicola Pero
fa539f5189 In libobjc/: 2010-12-26 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-12-26  Nicola Pero  <nicola.pero@meta-innovation.com>

	* init.c (create_tree_of_subclasses_inherited_from): Use
	class_superclass_of_class instead of assuming a class is
	unresolved when it could be resolved.  Tidied up code.
	(__objc_tree_insert_class): Enhanced DEBUG_PRINTF.
	(objc_tree_insert_class): Tidied up loop; return immediately upon
	inserting a class.
	(__objc_exec_class): Do not set __objc_class_tree_list.
	
In gcc/testsuite/:
2010-12-26  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc.dg/special/special.exp: Added load-category-2 and
	load-category-3 tests.
	* objc.dg/special/load-category-2.h: New.
	* objc.dg/special/load-category-2.m: New.
	* objc.dg/special/load-category-2a.m: New.
	* objc.dg/special/load-category-3.h: New.
	* objc.dg/special/load-category-3.m: New.
	* objc.dg/special/load-category-3a.m: New.

From-SVN: r168251
2010-12-26 16:56:01 +00:00
Nicola Pero
9cacfc3eb3 In libobjc/: 2010-12-24 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-12-24  Nicola Pero  <nicola.pero@meta-innovation.com>

	* selector.c (sel_getTypedSelector): Return NULL if given a NULL
	argument.
	(sel_registerTypedName): Same.
	(sel_registerName): Same.
	* objc/runtime.h: Updated documentation.
	
In gcc/testsuite/:
2010-12-24  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc.dg/gnu-api-2-sel.m: Test calling sel_getUid,
	sel_registerName and sel_registerTypedName with NULL arguments.
	Updated the test to work with the Apple runtime as well.
	* obj-c++.dg/gnu-api-2-sel.mm: Same change.

From-SVN: r168231
2010-12-24 20:10:46 +00:00
Nicola Pero
410644c41a In libobjc/: 2010-12-24 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-12-24  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc/runtime.h (class_addIvar): Updated documentation.  The
	alignment is actually the log_2 of the alignment in bytes.
	* ivars.c (class_addIvar): Corresponding change to the
	implementation.

In gcc/testsuite/:
2010-12-24  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc.dg/gnu-api-2-class.m: Updated test to pass log_2 of the
	alignment to class_addIvar, instead of the alignment itself.
	* obj-c++.dg/gnu-api-2-class.mm: Same change.

From-SVN: r168230
2010-12-24 18:41:05 +00:00
Nicola Pero
5750872c61 In libobjc/: 2010-12-24 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-12-24  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc/runtime.h (sel_getType): Renamed to sel_getTypeEncoding to
	be consistent with method_getTypeEncoding and
	ivar_getTypeEncoding.
	(sel_copyTypedSelectorList, sel_getTypedSelector): New.
	* selector.c (sel_getType): Renamed to sel_getTypeEncoding.
	(sel_copyTypedSelectorList, sel_getTypedSelector): New.
	(sel_get_type): Updated call to sel_getType.
	
In gcc/testsuite/:
2010-12-24  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc.dg/gnu-api-2-sel.m: Updated for renaming of sel_getType to
	sel_getTypeEncoding.  Test that sel_getTypeEncoding returns NULL
	when called with a NULL argument.  Added test for
	sel_copyTypedSelectorList and sel_getTypedSelector.
	* obj-c++.dg/gnu-api-2-sel.mm: Same changes.

From-SVN: r168229
2010-12-24 17:00:19 +00:00
Nicola Pero
877bf1953a In libobjc/: 2010-12-24 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-12-24  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc/runtime.h (class_conformsToProtocol,
	class_copyProtocolList): Updated documentation.

In gcc/testsuite/:
2010-12-24  Nicola Pero  <nicola.pero@meta-innovation.com>

	* obj-c.dg/gnu-api-2-class.m: Test that class_conformsToProtocol()
	does not check the superclasses.
	* obj-c++.dg/gnu-api-2-class.mm: Same change.

From-SVN: r168226
2010-12-24 15:32:25 +00:00
Nicola Pero
e99776d82a In libobjc/: 2010-12-23 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-12-23  Nicola Pero  <nicola.pero@meta-innovation.com>

	* init.c (create_tree_of_subclasses_inherited_from): Updated
	DEBUG_PRINTF messages.
	(__objc_tree_insert_class): Same.
	(__objc_send_load_using_method_list): Same.
	(__objc_send_load): Same.
	(__objc_exec_class): Same.  In particular, do not print the module
	name since it is no longer used.
	* sendmsg.c (__objc_send_initialize): Added DEBUG_PRINTFs for
	tracking +initialize calls.
	(__objc_update_dispatch_table_for_class): Added DEBUG_PRINTFs for
	tracking updates of dispatch tables.
	(__objc_install_dispatch_table_for_class): Same.

From-SVN: r168215
2010-12-23 19:46:04 +00:00
Rainer Orth
1d439e6cd2 Makefile.in (libobjc$(libsuffix).la): Link with -Wc,-shared-libgcc.
* Makefile.in (libobjc$(libsuffix).la): Link with -Wc,-shared-libgcc.
	(libobjc_gc$(libsuffix).la): Likewise.

From-SVN: r168203
2010-12-23 11:26:14 +00:00
Nicola Pero
8288398698 In gcc/testsuite/: 2010-12-23 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/testsuite/:
2010-12-23  Nicola Pero  <nicola.pero@meta-innovation.com>

	* obj-c.dg/gnu-api-2-class.m: Test that class_addMethod() returns
	NO if the method is already implemented in the class.
	* obj-c++.dg/gnu-api-2-class.mm: Same change.

In libobjc/:
2010-12-23  Nicola Pero  <nicola.pero@meta-innovation.com>

	* sendmsg.c (class_addMethod): Return NO if the method already
	exists in the class.

From-SVN: r168199
2010-12-23 05:30:12 +00:00
Nicola Pero
0bfe3fa10f In libobjc/: 2010-12-22 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-12-22  Nicola Pero  <nicola.pero@meta-innovation.com>

	* init.c (duplicate_classes): New.
	(__objc_exec_class): Initialize duplicate_classes.
	(__objc_create_classes_tree): Ignore classes in the
	duplicate_classes table.
	(__objc_call_load_callback): Same.
	(__objc_init_class): If a duplicate class is found, add it to
	duplicate_classes instead of aborting.  Return YES if the class is
	not a duplicate, and NO if it is.
	* objc-private/runtime.h (__objc_init_class): Updated prototype.

From-SVN: r168183
2010-12-22 23:05:13 +00:00
Nicola Pero
9fd553ccd9 In libobjc/: 2010-12-22 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-12-22  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc-private/objc-list.h: Reindented file.  No code changes.
	* objc-private/sarray.h: Same change.

From-SVN: r168150
2010-12-22 00:17:21 +00:00
Nicola Pero
8637d320f1 In libobjc/: 2010-12-22 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-12-22  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc-private/accessors.h: Removed 'extern "C"' guards.  This
	file is never compiled with C++.
	* objc-private/hash.h: Same change.
	* objc-private/objc-list.h: Same change.
	* objc-private/objc-sync.h: Same change.
	* objc-private/protocols.h: Same change.
	* objc-private/runtime.h: Same change.
	* objc-private/sarray.h: Same change.
	* objc-private/selector.h: Same change.

From-SVN: r168149
2010-12-22 00:05:57 +00:00
Nicola Pero
522c4f1f1e Fixed changelog entry for one of my libobjc patches of a few days ago
From-SVN: r168147
2010-12-21 23:55:24 +00:00
Nicola Pero
1575c9deae In libobjc/: 2010-12-21 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>

	PR libobjc/18764
	* class.c (__objc_add_class_to_hash): Return YES if the class was
	added, and NO if it already existed.
	* init.c (__objc_init_class): If __objc_add_class_to_hash returns
	NO, then abort the program with an error message.
	* objc-private/runtime.h (__objc_add_class_to_hash): Updated
	declaration.

From-SVN: r168139
2010-12-21 22:49:37 +00:00
Nicola Pero
1588200e46 In libobjc/: 2010-12-21 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>

	* init.c (_objc_load_callback): Initialize with 0.
	(__objc_call_callback): Renamed to __objc_call_load_callback.
	Check _objc_load_callback only once, and if it is not set, return
	immediately.
	(objc_send_load): Updated call to __objc_call_callback.

From-SVN: r168133
2010-12-21 22:17:52 +00:00
Nicola Pero
c07499dc75 In libobjc/: 2010-12-21 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>

	PR libobjc/16110
	* init.c (__objc_send_message_in_list): Renamed to
	__objc_send_load_using_method_list.  Do not take an 'op' argument.
	Register the 'load' selector if needed.
	(__objc_send_load): Do not register the 'load' selector.  Updated
	call to __objc_send_message_in_list.
	(__objc_create_classes_tree): Add the class of any claimed
	category that was loaded in the module to the list of classes for
	which we try to execute +load.
	
In gcc/testsuite/:
2010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>

	PR libobjc/16110
	* objc.dg/special/special.exp: Added new test.
	* objc.dg/special/load-category-1.m: New.
	* objc.dg/special/load-category-1a.m: New.
	* objc.dg/special/load-category-1.h: New.

From-SVN: r168122
2010-12-21 15:34:19 +00:00
Nicola Pero
df0820da97 In libobjc/: 2010-12-21 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc-private/common.h: When DEBUG is defined, include <stdio.h>.
	Updated comments.
	* init.c (__objc_tree_insert_class): Use %p, not %x, when printing
	a pointer using DEBUG_PRINTF.

From-SVN: r168119
2010-12-21 14:56:18 +00:00
Nicola Pero
c75534d1e6 In libobjc/: 2010-12-21 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>

	PR libobjc/45953
	* selector.c (__sel_register_typed_name): When registering a new
	selector with the same name as an existing one, reuse the existing
	name string.  Also updated types, casts and comments in the whole
	function.

In gcc/testsuite/:
2010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>

	PR libobjc/45953
	* objc.dg/libobjc-selector-1.m: New test.

From-SVN: r168115
2010-12-21 13:44:04 +00:00
Nicola Pero
600cbba24e In libobjc/: 2010-12-21 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc-private/module-abi-8.h (struct objc_symtab): Declare 'refs'
	to be 'struct objc_selector *' and not 'SEL'.
	* init.c (__objc_exec_class): Call
	__objc_register_selectors_from_module instead of iterating over
	each selector and calling __sel_register_typed_name for each.
	* objc-private/selector.h: Declare
	__objc_register_selectors_from_module instead of
	__sel_register_typed_name.
	* selector.c (__objc_register_selectors_from_module): New.
	(__sel_register_typed_name): Made static.

From-SVN: r168113
2010-12-21 12:49:26 +00:00
Nicola Pero
bebf8772de In libobjc/: 2010-12-21 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>

	* linking.m: Do not include objc/NXConstStr.h.

From-SVN: r168112
2010-12-21 11:58:48 +00:00
Nicola Pero
9c68c0e598 In libobjc/: 2010-12-21 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>
	
	* objc-private/runtime.h (DEBUG_PRINTF): Moved from here ...
	* objc-private/common.h (DEBUG_PRINTF): To here.
	* hash.c: Do not include objc-private/runtime.h and objc/thr.h.

From-SVN: r168111
2010-12-21 11:50:14 +00:00
Nicola Pero
57d75eebe2 In libobjc/: 2010-12-21 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-12-21  Nicola Pero  <nicola.pero@meta-innovation.com>

	* hash.c: Tidied up comments and indentation.  No code changes.

From-SVN: r168110
2010-12-21 11:24:27 +00:00
Nicola Pero
ef7ed5df72 In libobjc/: 2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>

	PR libobjc/47012
	* accessors.m (objc_getProperty): If not atomic, do not
	retain/autorelease the returned value. (Problem reported by

From-SVN: r168070
2010-12-19 19:10:26 +00:00
Nicola Pero
f94e723ba7 In libobjc/: 2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc-private/runtime.h (__objc_selector_max_index,
	__objc_init_selector_tables, __objc_register_selectors_from_class,
	__objc_register_selectors_from_list,
	__objc_register_selectors_from_description_list): Moved to ...
	* objc-private/selector.h: ... here.

From-SVN: r168067
2010-12-19 18:13:28 +00:00
Nicola Pero
d9df33650f In libobjc/: 2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc-private/runtime.h (__objc_class_links_resolved): Removed.
	(__objc_print_dtable_stats): Removed.
	(__sel_register_typed_name): Removed.
	* sendmsg.c (__objc_print_dtable_stats): Use 'void' as argument.

From-SVN: r168066
2010-12-19 18:01:47 +00:00
Nicola Pero
41720477ab In libobjc/: 2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-12-19  Nicola Pero  <nicola.pero@meta-innovation.com>

	* init.c (__objc_exec_class): Call __objc_resolve_class_links (),
	if appropriate, after loading the module.

From-SVN: r168065
2010-12-19 17:30:30 +00:00