Commit Graph

28 Commits

Author SHA1 Message Date
Kai Tietz 7116b6ea5c sendmsg.c (get_imp): Remove inline.
2010-09-26  Kai Tietz  <kai.tietz@onevision.com>

	* sendmsg.c (get_imp):  Remove inline.
	(objc_msg_lookup): Likewise.
	(objc_get_uninstalled_dtable): Likewise.
	* encoding.c (objc_skip_type_qualifiers): Likewise.
	(objc_skip_offset): Likewise.
	* archive.c (__objc_write_object): Likewise
	(__objc_write_class):
	(__objc_write_selector):
	(objc_read_char):
	(objc_read_unsigned_char):
	(objc_read_short):
	(objc_read_unsigned_short):
	(objc_read_int):
	(objc_read_long):
	(__objc_read_nbyte_uint):
	(objc_read_unsigned_int):
	(objc_read_unsigned_long):
	* objc/objc-decls.h (obc_EXPORT): Remove dllexport for DLL_EXPORT case.
	(objc_EXPORT): Likewise.
	* objc/message.h (objc-decls.h): Add include.
	* objc/objc-api.h: Mark API by objc_EXPORT.
	* libobjc.def (__objc_responds_to): Removed.

From-SVN: r164632
2010-09-26 16:32:45 +02:00
Nicola Pero 5be9cdc112 In libobjc/:
* objc/hash.h: Moved into objc/deprecated/hash.h; objc/hash.h
        replaced with a placeholder including the file from the
        deprecated/ directory.
        * objc/objc-api.h: Updated includes.
        * objc/typedstream.h: Updated includes.
        * objc-private/hash.h: New file (private copy of hash.h).
        * objc/objc-list.h: Moved into objc/deprecated/objc-list.h;
        objc/objc-list.h replaced with a placeholder including the file
        from the deprecated/ directory.
        * objc-private/objc-list.h: New file (private copy of objc-list.h).
        * init.c: Include objc-private/hash.h and objc-private/objc-list.h
        instead of objc/hash.h and objc/objc-list.h.
        * selector.c: Same change.
        * class.c: Added include <string.h>, which used to be implicitly included
        when hash.h was included.
        * exception.c: Same change.
        * objects.c: Same change.
        * sarray.c: Same change.
        * sendmsg.c: Same change.
        * Makefile.in (OBJC_DEPRECATED_H): Added hash.h and objc-list.h.
        (OBJC_H): Removed hash.h and objc-list.h

From-SVN: r164373
2010-09-17 16:35:15 +00:00
Nicola Pero d1be5d82e0 In libobjc/:
* objc/deprecated/objc_malloc.h: New file.
        * objc/deprecated/objc_valloc.h: New file.
        * objc/objc-api.h: Include the files instead of defining
        objc_valloc, _objc_malloc() and similar.
        * Makefile.in (OBJC_DEPRECATED_H): Added objc_valloc.h and
        objc_malloc.h.
        * memory.c: Removed the extra layer of indirection of _objc_malloc
        and similar.
        (objc_calloc): Use GC_malloc in the garbage-collected
        implementation as GC_malloc returns memory that is already freed.
        (objc_valloc): Deprecated.

From-SVN: r164224
2010-09-12 01:44:58 +00:00
Nicola Pero 7b86998664 In libobjc/:
* objc/deprecated/objc_error.h: New file.
        * objc/objc-api.h: Include deprecated/objc_error.h instead of
        defining objc_error and related.
        * error.c: New file.  Added _objc_abort function which replaces
        objc_error.  No change in functionality as they both print an
        error and abort.
        * misc.c: File removed.  Code moved into memory.c and error.c.
        * memory.c: New file.
        * objc-private/error.h: New file.
        * archive.c: Include objc-private/error.h and use _objc_abort
        instead of objc_error everywhere.
        * class.c: Same change.
        * encoding.c: Same change.
        * init.c: Same change, and simplified init_check_module_version.
        * memory.c: Same change.
        * sendmsg.c:  Same change.
        * thr.c: Same change.
        * Makefile.in (OBJ_DEPRECATED_H): Added objc_error.h.
        (OBJ_H): Reordered list.
        (OBJS): Removed misc.lo, added memory.lo and error.lo.
        (OBJS_GC): Removed misc_gc.lo, added memory_gc.lo and error_gc.lo.
        (misc_gc.lo): Rule removed.
        (error_gc.lo): Rule added.
        (memory_gc.lo): Rule added.

From-SVN: r164223
2010-09-12 00:43:15 +00:00
Nicola Pero 83c28dfd5c In libobjc/:
* objc/objc-api.h: Removed obsolete #ifdef for NeXTSTEP.

From-SVN: r164217
2010-09-11 21:08:25 +00:00
Nicola Pero 3d0d87390b In libobjc:
* objc/deprecated/struct_objc_selector.h: New file.  Definition of
        'struct objc_selector' and 'sel_eq' moved here.
        * objc/deprecated/struct_objc_protocol.h: New file.  Definition of
        'struct objc_procotol' moved here.
        * objc/deprecated/struct_objc_class.h: New file.  Definition of
        'struct objc_class' moved here.
        * objc/deprecated/MetaClass.h: New file.  Definition of MetClass
        moved here.
        * objc/deprecated/STR.h: New file.  Definition of STR moved here.       
        * objc/message.h: New file.  Definitions for relval_t, apply_t,
        arglist, arglist_t and objc_msg_lookup were moved here.
        * objc/objc.h: Include the above files instead of defining the
        corresponding structs, types and functions here.  Added new opaque
        definitions for SEL and Class.  Use Class and not 'struct
        objc_class *' in the definition of 'struct objc_object'.
        Commented all types defined in the file.  Removed special
        definition of BOOL as 'int' on __vxworks; use 'unsigned char'
        there as well.
        * objc/deprecated/objc-unexpected-exception.h: Renamed to
        objc_unexpected_exception.h.
        * objc/objc-api.h: Updated include of
        objc-unexpetected-exception.h
        * objc/objc-exception.h: Updated comments.
        * Makefile.in (OBJC_H, OBJC_DEPRECATED_H): Added the new header
        files.  Reindented list of files.

From-SVN: r164212
2010-09-11 12:38:56 +00:00
Nicola Pero 4c26f0a5a2 * libobjc/objc/objc-api.h (objc_trace): Unused variable removed.
From-SVN: r164199
2010-09-10 17:14:42 +00:00
Nicola Pero e976a775e2 deprecated: New directory.
* libobjc/objc/deprecated: New directory.
        * libobjc/objc/deprecated/README: New file.
        * libobjc/objc/README: New file.
        * libobjc/objc/typedstream.h: Moved into objc/deprecated/typedstream.h;
        objc/typedstream.h replaced with a placeholder including the file
        from the deprecated/ directory.
        * libobjc/objc/deprecated/objc-unexpected-exception.h: New file with the
        definition of _objc_unexpected_exception.       
        * libobjc/objc/objc-api.h: Include deprecated/objc-unexcepted-exception.h
        instead of defining _objc_unexpected_exception.
        * libobjc/objc/deprecated/Object.h: New file with the deprecated Object
        methods in a 'Deprecated' category.
        * libobjc/objc/Object.h Include deprecated/Object.h instead of defining
        the deprecated methods.
        * libobjc/Object.m: Moved deprecated methods into 'Deprecated' category.
        * libobjc/objc-private: New directory.
        * libobjc/objc-private/README: New file.
        * libobjc/Makefile.in (OBJC_DEPRECATED_H): New variable.
        (install-headers): Create installation directory for
        OBJC_DEPRECATED_H headers, and install them.

From-SVN: r164153
2010-09-10 09:56:40 +00:00
Nicola Pero e30511ed4b objc-exception.h: New file.
* objc/objc-exception.h: New file.
	* exception.c (objc_set_uncaught_exception_handler): Implemented.
	(objc_set_exception_matcher): Implemented.
	(objc_exception_throw): Use the uncaught exception handler if set.
	(PERSONALITY_FUNCTION): Use the exception matcher instead of the
	hardcoded isKindOf.
	(isKindOf): Renamed to is_kind_of_exception_matcher.  Tidied code
	up.  Removed segmentation fault when value is 'nil'.
	* objc/objc-api.h (_objc_unexpected_exception): Mark as
	deprecated.
	* Makefile.in (exception.lo, exception_gc.lo): Use
	-Wno-deprecated-declarations when compiling.
	(OBJC_H): Added objc-exception.h

From-SVN: r164023
2010-09-08 21:03:09 +00:00
Jakub Jelinek 748086b7b2 Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.
From-SVN: r145841
2009-04-09 17:00:19 +02:00
David Ayers faef499bdf re PR libobjc/27466 (RFE: Support for libobjc equivalent of std::set_unexpected)
libobjc/

2009-03-12  Richard Frith-Macdonald  <rfm@gnu.org>
	    David Ayers  <ayers@fsfe.org>

	PR libobjc/27466
	* objc/objc-api.h (_objc_unexpected_exception): Declare
	new hook.  Update copyright dates.
	* exception.c (objc_exception_throw): Use hook.  Update
	copyright dates.
	* libobjc.def (_objc_unexpected_exception): Export hook.
	Update copyright dates.
	
gcc/testsuite/

2009-03-12  David Ayers  <ayers@fsfe.org>

	PR libobjc/27466
	* objc/execute/exceptions/handler-1.m. New test.

From-SVN: r144826
2009-03-12 22:28:15 +00:00
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
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
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
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 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
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
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
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
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