Commit Graph

405 Commits

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

	PR libobjc/50002
	* class.c (__objc_update_classes_with_methods): Iterate over meta
	classes as well as normal classes when refreshing the method
	implementations.  This fixes replacing class methods.

2011-08-06  Nicola Pero  <nicola.pero@meta-innovation.com>

	* class.c (class_getSuperclass): Fixed to work with meta classes
	still in construction too.

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

	PR libobjc/50002
	* objc.dg/gnu-api-2-class.m: Updated comments.
	* obj-c++.dg/gnu-api-2-class.mm: Likewise.
	* objc.dg/gnu-api-2-class-meta.m: New test.
	* obj-c++.dg/gnu-api-2-class-meta.mm: Likewise.
	
2011-08-06  Nicola Pero  <nicola.pero@meta-innovation.com>
	
	PR libobjc/49882
	* obj-c++.dg/gnu-api-2-class.mm (main): Test class_getSuperclass()
	with classes that are in construction.

From-SVN: r177510
2011-08-06 14:20:09 +00:00
Nicola Pero
e2852612bf In libobjc/: 2011-08-06 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2011-08-06  Nicola Pero  <nicola.pero@meta-innovation.com>

	* class.c (class_getSuperclass): Fixed typo in comment.

From-SVN: r177506
2011-08-06 09:53:43 +00:00
Nicola Pero
3f54203792 In libobjc/: 2011-08-06 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2011-08-06  Nicola Pero  <nicola.pero@meta-innovation.com>

	PR libobjc/49882
	* class.c (class_getSuperclass): Return the superclass if the
	class is in construction.
	* objc/runtime.h (class_getSuperclass): Updated documentation.

In gcc/testsuite/:
2011-08-06  Nicola Pero  <nicola.pero@meta-innovation.com>
	
	PR libobjc/49882
	* objc.dg/gnu-api-2-class.m (main): Test class_getSuperclass()
	with classes that are in construction.

From-SVN: r177505
2011-08-06 09:49:30 +00:00
Rainer Orth
201cdb7438 Makefile.in (UNWIND_H): Remove.
gcc:
	* Makefile.in (UNWIND_H): Remove.
	(LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED): Move to
	../libgcc/Makefile.in.
	(LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL): Likewise.
	(LIBUNWINDDEP): Remove.
	(libgcc-support): Remove LIB2ADDEH, $(srcdir)/emutls.c dependencies.
	(libgcc.mvars): Remove LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED,
	LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL.
	(stmp-int-hdrs): Remove $(UNWIND_H) dependency.
	Don't copy $(UNWIND_H).
	* config.gcc (ia64*-*-linux*): Remove with_system_libunwind
	handling.
	* configure.ac (GCC_CHECK_UNWIND_GETIPINFO): Remove.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* emutls.c, unwind-c.c, unwind-compat.c, unwind-compat.h,
	unwind-dw2-fde-compat.c, unwind-dw2-fde-glibc.c, unwind-dw2-fde.c,
	unwind-dw2-fde.h, unwind-dw2.c, unwind-dw2.h, unwind-generic.h,
	unwind-pe.h, unwind-sjlj.c, unwind.inc: Move to ../libgcc.
	* unwind-dw2-fde-darwin.c: Move to ../libgcc/config.
	* config/arm/libunwind.S, config/arm/pr-support.c,
	config/arm/unwind-arm.c, config/arm/unwind-arm.h: Move to
	../libgcc/config/arm.
	* config/arm/t-bpabi (UNWIND_H, LIB2ADDEH): Remove.
	* config/arm/t-symbian (UNWIND_H, LIB2ADDEH): Remove.
	* config/frv/t-frv ($(T)frvbegin$(objext)): Use
	$(srcdir)/../libgcc to refer to unwind-dw2-fde.h.
	($(T)frvend$(objext)): Likewise.
	* config/ia64/t-glibc (LIB2ADDEH): Remove.
	* config/ia64/t-glibc-libunwind: Move to ../libgcc/config/ia64.
	* config/ia64/fde-glibc.c, config/ia64/fde-vms.c,
	config/ia64/unwind-ia64.c, config/ia64/unwind-ia64.h: Move to
	../libgcc/config/ia64.
	* config/ia64/t-hpux (LIB2ADDEH): Remove.
	* config/ia64/t-ia64 (LIB2ADDEH): Remove.
	* config/ia64/t-vms (LIB2ADDEH): Remove.
	* config/ia64/vms.h (UNW_IVMS_MODE,
	MD_UNW_COMPATIBLE_PERSONALITY_P): Remove.
	* config/picochip/t-picochip (LIB2ADDEH): Remove.
	* config/rs6000/aix.h (R_LR, MD_FROB_UPDATE_CONTEXT): Remove.
	* config/rs6000/t-darwin (LIB2ADDEH): Remove.
	* config/rs6000/darwin-fallback.c: Move to ../libgcc/config/rs6000.
	* config/sh/t-sh ($(T)unwind-dw2-Os-4-200.o): Use
	$(srcdir)/../libgcc to refer to unwinder sources.
	* config/spu/t-spu-elf (LIB2ADDEH): Remove.
	* config/t-darwin (LIB2ADDEH): Remove.
	* config/t-freebsd (LIB2ADDEH): Remove.
	* config/t-libunwind (LIB2ADDEH, LIB2ADDEHSTATIC): Remove.
	* config/t-libunwind-elf: Move to ../libgcc/config.
	* config/t-linux (LIB2ADDEH): Remove.
	* config/t-sol2 (LIB2ADDEH): Remove.
	* config/xtensa/t-xtensa (LIB2ADDEH): Remove.
	* system.h (MD_FROB_UPDATE_CONTEXT): Poison.

	gcc/po:
	* EXCLUDES (unwind-c.c, unwind-dw2-fde-darwin.c)
	(unwind-dw2-fde-glibc.c, unwind-dw2-fde.c, unwind-dw2-fde.h)
	(unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h): Remove.

	libgcc:
	* Makefile.in (LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED): New
	variables.
	(LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL): New variables.
	(LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED): Add $(srcdir)/emutls.c.
	(install-unwind_h): New target.
	(all): Depend on it.
	* config.host (unwind_header): New variable.
	(*-*-freebsd*): Set tmake_file to t-eh-dw2-dip.
	(*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu,
	*-*-gnu*): Likewise, also for *-*-kopensolaris*-gnu.
	(*-*-solaris2*): Add t-eh-dw2-dip to tmake_file.
	(arm*-*-linux*): Add arm/t-bpabi for arm*-*-linux-*eabi.
	Set unwind_header.
	(arm*-*-uclinux*): Add arm/t-bpabi for arm*-*-uclinux*eabi.
	Set unwind_header.
	(arm*-*-eabi*, arm*-*-symbianelf*): Add arm/t-bpabi for
	arm*-*-eabi*.
	Add arm/t-symbian to tmake_file for arm*-*-symbianelf*.
	Set unwind_header.
	(ia64*-*-elf*): Add ia64/t-eh-ia64 to tmake_file.
	(ia64*-*-freebsd*): Likewise.
	(ia64*-*-linux*): Add ia64/t-glibc, ia64/t-eh-ia64, t-libunwind to
	tmake_file.
	Add t-libunwind-elf, ia64/t-glibc-libunwind unless
	$with_system_libunwind.
	(ia64*-*-hpux*): Set tmake_file.
	(ia64-hp-*vms*): Add ia64/t-eh-ia64 to tmake_file.
	(picochip-*-*): Set tmake_file.
	(rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Set
	md_unwind_header.
	(rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*): Likewise.
	(rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
	(s390x-ibm-tpf*): Add t-eh-dw2-dip to tmake_file.
	(xtensa*-*-elf*): Set tmake_file.
	(xtensa*-*-linux*): Likewise.
	* configure.ac: Include ../config/unwind_ipinfo.m4.
	Call GCC_CHECK_UNWIND_GETIPINFO.
	Link unwind.h to $unwind_header.
	* configure: Regenerate.
	* emutls.c, unwind-c.c, unwind-compat.c, unwind-compat.h,
	unwind-dw2-fde-compat.c, unwind-dw2-fde-dip.c, unwind-dw2-fde.c,
	unwind-dw2-fde.h, unwind-dw2.c, unwind-dw2.h, unwind-generic.h,
	unwind-pe.h, unwind-sjlj.c, unwind.inc: New files.
	* config/unwind-dw2-fde-darwin.c: New file.
	* config/arm/libunwind.S, config/arm/pr-support.c,
	config/arm/t-bpabi, config/arm/t-symbian, config/arm/unwind-arm.c,
	config/arm/unwind-arm.h,: New files.
	* config/ia64/fde-glibc.c, config/ia64/fde-vms.c,
	config/ia64/t-eh-ia64, config/ia64/t-glibc,
	config/ia64/t-glibc-libunwind, config/ia64/t-hpux,
	config/ia64/t-vms, config/ia64/unwind-ia64.c,
	config/ia64/unwind-ia64.h: New files.
	* config/picochip/t-picochip: New file.
	* config/rs6000/aix-unwind.h, config/rs6000/darwin-fallback.c: New
	files.
	* config/rs6000/t-darwin (LIB2ADDEH): Set.
	* config/s390/t-tpf (LIB2ADDEH): Remove.
	* config/t-darwin (LIB2ADDEH): Set.
	* config/t-eh-dw2-dip: New file.
	* config/t-libunwind, config/t-libunwind-elf: New files.
	* config/t-sol2 (LIB2ADDEH): Remove.
	* config/xtensa/t-xtensa: New file.

	gcc/ada:
	* gcc-interface/Makefile.in (raise-gcc.o): Search
	$(srcdir)/../libgcc.

	libgo:
	* Makefile.am (AM_CFLAGS): Search $(srcdir)/../libgcc.
	* Makefile.in: Regenerate.

	libjava:
	* configure.ac (GCC_UNWIND_INCLUDE): Rename to
	LIBGCC_UNWIND_INCLUDE.
	Point to $(multi_basedir)/./libjava/../libgcc.
	* configure: Regenerate.
	* Makefile.am (GCC_UNWIND_INCLUDE): Reflect this.
	* Makefile.in: Regenerate.

	libobjc:
	* Makefile.in (INCLUDES): Search
	$(srcdir)/$(MULTISRCTOP)../libgcc.

	libstdc++-v3:
	* acinclude.m4 (GLIBCXX_EXPORT_INCLUDES): Point TOPLEVEL_INCLUDES
	to $(toplevel_srcdir)/libgcc.
	* configure: Regenerate.

From-SVN: r177447
2011-08-05 14:37:48 +00:00
Nicola Pero
4fbff2d2ec In libobjc/: 2011-06-08 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2011-06-08  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc/objc.h (__GNU_LIBOBJC__): Bumped to 20110608.

From-SVN: r174799
2011-06-08 08:26:15 +00:00
Nicola Pero
c7907a5509 In libobjc/: 2011-06-08 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2011-06-08  Nicola Pero  <nicola.pero@meta-innovation.com>

	* configure.ac (VERSION): Bumped to 4:0:0.
	* configure (VERSION): Likewise.

From-SVN: r174798
2011-06-08 08:24:15 +00:00
Nicola Pero
7c172073f5 In libobjc/: 2011-06-08 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2011-06-08  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc/README: Updated.
	* objc-private/selector.h: Updated comments.

From-SVN: r174791
2011-06-08 02:53:39 +00:00
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
Jakub Jelinek
d652f226fc Update Copyright years for files modified in 2010.
From-SVN: r168438
2011-01-03 21:52:22 +01: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