Commit Graph

34 Commits

Author SHA1 Message Date
Andrew Ruder 80ae8e8ad2 sendmsg.c: Added __objc_msg_forward2...
2007-04-09  Andrew Ruder  <andy@aeruder.net>

        * sendmsg.c: Added __objc_msg_forward2, a hook that allows
        external libraries to provide a function that returns the real
        forwarding function based on both the selector and the receiver.
        * objc/objc-api.h: Define __objc_msg_forward2.

From-SVN: r123678
2007-04-09 11:04:50 -07:00
Manuel López-Ibáñez 3034b4535a objc-list.h (list_free): Add keyword 'inline' to avoid unused warning.
2007-02-18  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	* objc/objc-list.h (list_free): Add keyword 'inline' to avoid
	unused warning.

From-SVN: r122090
2007-02-18 11:55:53 +00:00
Andrew Pinski 06b1145579 re PR objc/25360 (Complex types are not encoded)
2005-12-14  Andrew Pinski  <pinskia@physics.uc.edu>

        PR objc/25360
        * objc/objc-act.c (encode_type): Encode Complex types as 'j' followed
        by the inner type.

2005-12-14  Andrew Pinski  <pinskia@physics.uc.edu>

        PR objc/25360
        * objc/objc-api.c (_C_COMPLEX): New define.
        * encoding.c (objc_sizeof_type): Handle _C_Complex.
        (objc_alignof_type): Likewise.
        (objc_skip_typespec): Likewise.

From-SVN: r108675
2005-12-16 12:19:37 -08:00
Andrew Pinski 153b4898d2 re PR libobjc/25346 (objc_sizeof_type does not handle _Bool at all)
2005-12-11  Andrew Pinski  <pinskia@physics.uc.edu>

        PR libobjc/25346
        * objc/objc-api.h (_C_BOOL): New define.
        * encoding.c (objc_sizeof_type): Handle _C_BOOL.
        (objc_alignof_type): Likewise.
        (objc_skip_typespec): Likewise.

2005-12-11  Andrew Pinski  <pinskia@physics.uc.edu>

        PR libobjc/25346
        * objc.dg/encode-7.m: New test.

From-SVN: r108378
2005-12-10 22:28:35 -08:00
David Ayers 8470034667 re PR libobjc/19024 (name collisions libobjc/libmysqlclient)
2005-11-20  David Ayers  <d.ayers@inode.at>

	PR libobjc/19024
	* objc/hash.h: Remove deprecated hash API.
	* hash_compat.c: Remove.
	* Makefile.in: Remove reference to hash_compat.c.

	* configure.ac (VERSION): Bump library version to 2:0:0.
	* configure: Regenerate.

From-SVN: r107251
2005-11-20 12:49:41 +00:00
Ulrich Weigand b7add50638 re PR testsuite/23612 (obj-c++.dg/encode-6.mm fail with the GNU runtime)
PR libobjc/23612
	* objc/objc-api.h (struct objc_ivar): Move definition to
	global scope.

From-SVN: r105073
2005-10-06 23:47:09 +00:00
Kelley Cook f9d09c4359 All files: Update FSF address.
2005-08-17  Kelley Cook  <kcook@gcc.gnu.org>

	* All files: Update FSF address.

From-SVN: r103197
2005-08-17 03:21:42 +00:00
David Ayers cf22360307 NXConstStr.h, [...]: Do not include Objective-C headers as system headers.
2005-06-08  David Ayers  <d.ayers@inode.at>

	* objc/NXConstStr.h, objc/Object.h, objc/Protocol.h,
	objc/encoding.h, objc/hash.h, objc/objc-api.h,
	objc/runtime.h, objc/sarray.h, objc/thr.h,
	objc/typedstream.h: Do not include Objective-C headers as
	system headers.

From-SVN: r100760
2005-06-08 15:13:17 +00:00
David Ayers e59ef5430f hash.h (OBJC_IGNORE_DEPRECATED_API): Update deprecated version reference.
2005-03-03  David Ayers  <d.ayers@inode.at>

	* objc/hash.h (OBJC_IGNORE_DEPRECATED_API): Update deprecated
	version reference.  Correct typo.

From-SVN: r95840
2005-03-03 18:25:04 +00:00
David Ayers 270a1283e6 re PR libobjc/19024 (name collisions libobjc/libmysqlclient)
2005-03-02  David Ayers  <d.ayers@inode.at>

        PR libobjc/19024
        * Makefile.in (OBJS): Add hash_compat.lo.
        (OBJS_GC): Add hash_compat_gc.lo.
        (hash_compat_gc.lo): New target and rule.
        * objc/hash.h (hash_new, hash_delete, hash_add, hash_remove)
        (hash_next, hash_value_for_key, hash_is_key_in_hash)
        (hash_ptr, hash_string, compare_ptrs, compare_strings): Prefix
        with objc_.  Add deprecated non prefixed inlined versions.
        (OBJC_IGNORE_DEPRECATED_API): New macro to hide deprecated
        declarations.
        * hash.c (hash_new, hash_delete, hash_add, hash_remove, hash_next)
        (hash_value_for_key, hash_is_key_in_hash): Prefix with objc_ and
        update callers.
        * hash_compat.c: New file.
        * archive.c: Update callers.
        * init.c: Likewise.
        * selector.c: Likewise.
        * libobjc.def: Add objc_ versions of hash functions.

From-SVN: r95793
2005-03-02 11:37:03 -08:00
Ziemowit Laski f13bb1997a sarray.h: Hoist include of assert.h near the top of file...
[libobjc/ChangeLog]
2004-08-13  Ziemowit Laski  <zlaski@apple.com>

        * objc/sarray.h: Hoist include of assert.h near the top of file,
        and mark the remainder of the file 'extern "C"'.

From-SVN: r85971
2004-08-13 22:50:09 +00:00
Andrew Pinski 9567d41559 Object.h: Move includes out of extern "C" blocks.
2004-08-13  Andrew Pinski  <pinskia@physics.uc.edu>

        * objc/Object.h: Move includes out of extern "C" blocks.
        * objc/encoding.h: Likewise.
        * objc/hash.h: Likewise.
        * objc/objc-api.h: Likewise.
        * objc/runtime.h: Likewise.
        * objc/sarray.h: Likewise.
        * objc/typedstream.h: Likewise.

From-SVN: r85968
2004-08-13 15:23:58 -07:00
Ziemowit Laski 1a6213c3de NXConstStr.h: Update copyright date...
2004-08-12  Ziemowit Laski  <zlaski@apple.com>

        * objc/NXConstStr.h: Update copyright date; bracket with
        'extern "C"' for C++ use; make include syntax consistent
        by using <...> instead of "..."; hoist <objc/...> includes
        above the 'extern "C"' block.
        * objc/Object.h: Likewise.
        * objc/Protocol.h: Likewise.
        * objc/encoding.h: Likewise.
        * objc/hash.h: Likewise.
        * objc/runtime.h: Likewise.
        * objc/sarray.h: Likewise.
        * objc/thr.h: Likewise.
        * objc/typedstream.h: Likewise.
        * objc/objc-api.h: Add 'extern "C"' block for C++ use.
        (objc_static_instances): For C++ case, do away with
        zero-sized array.
        (objc_method): Hoist definition to file scope.
        (_objc_load_callback, _objc_object_alloc, class_get_class_method,
        class_get_instance_method, class_create_instance,
        class_get_class_name, class_get_instance_size,
        class_get_meta_class, class_get_super_class, class_get_version,
        class_is_class, class_is_meta_class, class_set_version,
        class_get_gc_object_type, class_ivar_set_gcinvisible,
        get_imp): Rename 'class' parameter to '_class'.
        * objc/objc-list.h: Add 'extern "C"' block for C++ use.
        * objc/objc.h: Update copyright date.
        (arglist_t): Provide a union tag.

From-SVN: r85927
2004-08-13 02:06:37 +00:00
Andrew Pinski 6f0aa5e195 encoding.h: Wrap the functions with extern "C" for C++ mode.
2004-06-24  Andrew Pinski  <apinski@apple.com>

        * objc/encoding.h: Wrap the functions with extern "C" for C++
        mode.
        * objc/hash.h: Likewise.
        * objc/objc-api.h: Likewise.
        * objc/objc-list.h: Likewise.
        * objc/runtime.h: Likewise.
        * objc/sarray.h: Likewise.
        * objc/thr.h: Likewise.
        * objc/typedstream.h: Likewise.

From-SVN: r83635
2004-06-24 21:31:51 -07:00
Andrew Pinski 435317e25c [multiple changes]
2004-05-25  Andrew Pinski  <pinskia@physics.uc.edu>

	Merge from the libobjc-branch
	2004-02-09  Andrew Pinski  <pinskia@physics.uc.edu>

		* Makefile.in (OBJC_H): Change objc-deps.h to objc-decls.h.

	2004-02-03  Andrew Pinski  <pinskia@physics.uc.edu>

		* Makefile.in (OBJC_H): Add objc-deps.h.

	2004-01-27  Nicola Pero  <n.pero@mi.flashnet.it>

		* Protocol.m ([-conformsTo:]): If the argument is nil, return NO.
		([-hash], [-isEqual:]): New methods.

	2004-01-27  Richard Frith-Macdonald <rfm@gnu.org>

		* sarray.c (sarray_free): Add a better comment.

	2004-01-27  Adam Fedor  <fedor@gnu.org>

		* hash.c (hash_add): Cast cachep to int.
		* selector.c (__sel_register_typed_name): Cast
		soffset_decode to int.

	2004-01-27  Alexander Malmberg  <alexander@malmberg.org>

		* selector.c: Rename register_selectors_from_list to
		__objc_register_selectors_from_list. Update caller.
		(__objc_register_selectors_from_list): Lock __objc_runtime_mutex
		while registering selectors. Use __sel_register_typed_name instead
		of sel_register_typed_name. Check for NULL method_name:s.
		(pool_alloc_selector): New function.
		(__sel_register_typed_name): Use pool_alloc_selector to allocate
		selector structures.
		* sendmsg.c (class_add_method_list): Use
		__objc_register_selectors_from_list.
		* objc/runtime.h: Add __objc_register_selectors_from_list.

	2004-01-25  Adam Fedor  <fedor@gnu.org>
	            Nicola Pero  <n.pero@mi.flashnet.it>
	            Andrew Pinski  <pinskia@physics.uc.edu>

		* objc/objc-decls.h: New file.
		* objc/objc-api.h (_objc_lookup_class): Mark as export.
		(_objc_load_callback): Likewise.
		(_objc_object_alloc): Likewise.
		(_objc_object_copy): Likewise.
		(_objc_object_dispose): Likewise.

	2004-01-25  Andrew Pinski  <pinskia@physics.uc.edu>

		* archive.c: s/__inline__/inline
		* sendmsg.c: Likewise.

		* encoding.c: Remove FIXME about the warning
		about unused variable.
		* sendmsg.c: Add a FIXME comment saying that
		this should be using libffi.

		* Makefile.in (LIBTOOL): Use @LIBTOOL@ now as it works.

From-SVN: r82253
2004-05-25 12:10:54 -07:00
Ziemowit Laski d5e63fce33 hash.h (hash_string, [...]): Add type-casts to make Objective-C++ happy.
2004-03-05  Ziemowit Laski  <zlaski@apple.com>

        * objc/hash.h (hash_string, compare_strings):
        Add type-casts to make Objective-C++ happy.
        * objc/typedstream.h (objc_get_stream_class_version):
        Rename parameter from 'class' to 'class_name' to make
        Objective-C++ happy.

From-SVN: r78986
2004-03-05 21:06:57 +00:00
Ziemowit Laski 25fe8680db [gcc/ChangeLog]
2004-02-06  Ziemowit Laski  <zlaski@apple.com>

        * objc/objc-act.c (build_super_template) the 'class' field of
        'struct _objc_super' shall be named 'super_class' #ifdef OBJCPLUS.
        (get_super_receiver): Likewise.

[gcc/libobjc/ChangeLog]
2004-02-06  Ziemowit Laski  <zlaski@apple.com>

        * objc/objc-api.h (objc_super): The 'class' field shall
        be named 'super_class' #ifdef __cplusplus.

From-SVN: r77430
2004-02-06 23:54:30 +00:00
Joseph Myers beca20d2a0 * objc/hash.h (hash_string): Don't use a cast as an lvalue.
From-SVN: r72722
2003-10-20 22:50:13 +01:00
Nathanael Nerode 6c82ad2561 Makefile.in, [...]: Replace "GNU CC" with "GCC".
2003-05-23  Nathanael Nerode  <neroden@gcc.gnu.org>

	* Makefile.in, NXConstStr.m, Object.m, Protocol.m, archive.c,
	class.c, encoding.c, gc.c, objc/NXConstStr.h, objc/Object.h,
	objc/Protocol.h, objc/encoding.h, objc/hash.h, objc/objc-api.h,
	objc/objc-list.h, objc/objc.h, ocjc/runtime.h, objc/sarray.h,
	objc/thr.h, objc/typedstream.h: Replace "GNU CC" with "GCC".

From-SVN: r67131
2003-05-23 20:04:58 +00:00
David Chad 0b87e18ef1 (in libobjc:)
libobjc/8562
(in libobjc:)
	* objc/hash.h (hash_string): Constify correctly.
	(compare_ptrs): Use direct compare.
	* objc/objc-list.h (list_nth): Rename index to indx to avoid shadow.
	* objc/sarray.h: Global rename index to indx to avoid shadow.

(in gcc/testsuite:)
	* objc.dg/headers.m: New test.

Co-Authored-By: Loren J. Rittle <ljrittle@acm.org>

From-SVN: r65461
2003-04-11 04:30:33 +00:00
Nicola Pero 4c341bf5b7 Added comments to the definition of IMP
From-SVN: r57072
2002-09-12 17:28:47 +00:00
Rodney Brown 40165636b5 encoding.h: Fix formatting.
2002-07-02  Rodney Brown  <rbrown64@csc.com.au>

	* objc/encoding.h: Fix formatting.
	* objc/hash.h: Likewise.
	* objc/objc-api.h: Likewise.
	* objc/runtime.h: Likewise.
	* objc/thr.h: Likewise.
	* archive.c: Likewise.
	* class.c: Likewise.
	* encoding.c: Likewise.
	* gc.c: Likewise.
	* hash.c: Likewise.
	* init.c: Likewise.
	* misc.c: Likewise.
	* nil_method.c: Likewise.
	* objects.c: Likewise.
	* sarray.c: Likewise.
	* selector.c: Likewise.
	* sendmsg.c: Likewise.
	* thr-mach.c: Likewise.
	* thr.c: Likewise.

From-SVN: r55190
2002-07-02 19:43:03 +00:00
Kaveh R. Ghazi b62cc13a20 Object.m (forward, [...]): Fix unused parameter warnings.
* Object.m (forward, read, write): Fix unused parameter warnings.
	* encoding.c: Include <stdlib.h>.
	(target_flags): Mark with attribute unused.
	(atoi): Delete.
	* runtime.h (__objc_selector_max_index): Change to unsigned int.
	(__objc_generate_gc_type_description): Prototype.
	* selector.c (__objc_selector_max_index): Change to unsigned int.

From-SVN: r54884
2002-06-21 14:36:37 +00:00
Kaveh R. Ghazi 8f8c44cb4f Object.m: Fix signed/unsigned warning.
* Object.m: Fix signed/unsigned warning.
	* Protocol.m: Likewise.
	* archive.c: Always include stdlib.h.
	(objc_read_short, objc_read_unsigned_short, objc_read_int,
	objc_read_long, __objc_read_nbyte_uint, __objc_read_nbyte_ulong):
	Fix signed/unsigned warning.
	(objc_write_type, objc_read_type, objc_write_types,
	objc_read_types): Ensure ctype 8-bit safety.
	(__objc_no_write, __objc_no_read): Mark unused parameters.
	* class.c (class_table_setup): Specify void arg.
	* encoding.c (atoi, objc_sizeof_type, objc_alignof_type,
	objc_skip_typespec, objc_skip_offset,
	objc_layout_structure_next_member): Ensure ctype 8-bit safety.
	(objc_layout_structure_next_member): Ensure variables are
	initialized.
	* gc.c (__objc_generate_gc_type_description,
	class_ivar_set_gcinvisible): Mark unused parameters.
	* init.c (__objc_send_load, __objc_destroy_class_tree_node): Mark
	unused parameters.
	(__objc_init_protocols) Fix signed/unsigned warning.
	* nil_method.c (nil_method): Mark unused parameters.
	* thr.h (objc_thread_callback): Specify void arg.
	* sarray.c (sarray_new, sarray_realloc, sarray_free): Fix
	signed/unsigned warning.
	(sarray_free): Fix formatting.
	* selector.c (sel_types_match): Ensure ctype 8-bit safety.
	* sendmsg.c (__objc_init_install_dtable) Mark unused parameters.

From-SVN: r54649
2002-06-15 17:50:14 +00:00
Hans-Peter Nilsson 0bd9dd55a7 re PR objc/6107 (sparc-sun-solaris2.7 gcc-3.1 extra objc testsuite failures w/-m64)
PR objc/6107
	* objc/objc-api.h (struct objc_protocol_list): Change type of
	member count from int to size_t.

From-SVN: r52058
2002-04-09 07:06:18 +00:00
Aldy Hernandez f4fdaedae3 objc-api.h (_C_VECTOR): New.
2001-11-07  Aldy Hernandez  <aldyh@redhat.com>

	 * objc-api.h (_C_VECTOR): New.

	 * encoding.c (VECTOR_TYPE): New.

From-SVN: r46849
2001-11-08 18:51:27 +00:00
Nicola Pero 42d28de5b2 Fixed object_is_class and object_is_metaclass
From-SVN: r44039
2001-07-16 11:36:24 +00:00
Nicola Pero b894530e6d thr.c (objc_thread_add): New function.
2001-03-14  Nicola Pero  <n.pero@mi.flashnet.it>

        * thr.c (objc_thread_add): New function.
        (objc_thread_remove): Ditto.
        * objc/thr.h: Declare them.
        * libobjc.def: Mention them.

From-SVN: r40479
2001-03-15 02:18:09 +00:00
Ovidiu Predescu 406515b276 Added __objc_msg_forward...
Added __objc_msg_forward, a hook that allows external libraries to
provide a function that returns the real forwarding function. This can
alleviate problems __builtin_apply() and friends have on various
platforms. (Solution suggested by Helge Hess.)

From-SVN: r38651
2001-01-03 08:49:34 +00:00
Kaveh R. Ghazi 8dd8d754d2 * objc/hash.h: Include string.h.
From-SVN: r35019
2000-07-13 18:56:49 +00:00
Zack Weinberg 2e3120e80d Protocol.h, [...]: Change #endif labels to comments.
* objc/Protocol.h, objc/objc-list.h: Change #endif labels to
	comments.

From-SVN: r32812
2000-03-29 20:19:06 +00:00
Richard Frith-Macdonald 1df287f8fb encoding.c (objc_skip_type_qualifiers): Handle _C_BYREF.
* encoding.c (objc_skip_type_qualifiers): Handle _C_BYREF.
        (objc_get_type_qualifiers): Similarly.
        * objc/encoding.h (_C_BYREF): Define.
        (_F_BYREF): Define.

From-SVN: r22917
1998-10-08 05:23:35 -06:00
David S. Miller 07181a20e3 sarray.h: Make boffset be an unsigned long when sparc so it works out on 64-bit systems.
* objc/sarray.h: Make boffset be an unsigned long when sparc so it
	works out on 64-bit systems.

From-SVN: r22881
1998-10-06 19:21:54 -07:00
Jeffrey A Law 789eb4f550 * All .h files pushed down into the objc/ subdirectory.
* Makefile.in (copy_headers): Corresponding changes.
        * configure.in (AC_INIT): Corresponding changes.
        * configure: Rebuilt.

From-SVN: r22664
1998-09-30 02:17:56 -06:00