summaryrefslogtreecommitdiff
path: root/libobjc/exception.c
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright years.jakub2015-01-051-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219188 138bc75d-0d04-0410-961f-82ee72b054a4
* Update copyright years in libobjc/rsandifo2014-01-021-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206299 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-07-04 Kai Tietz <ktietz@redhat.com>ktietz2013-07-041-4/+4
| | | | | | | | * exception.c: Add check for SjLj to SEH blocks. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200663 138bc75d-0d04-0410-961f-82ee72b054a4
* Update copyright years in libobjc.rsandifo2013-02-031-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195693 138bc75d-0d04-0410-961f-82ee72b054a4
* libstdc++-v3/gingold2012-07-191-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * libsupc++/eh_personality.cc (__gxx_personality_seh0): New function. Adjust for SEH. * config/abi/pre/gnu.ver: Add __gxx_personality_seh0. libobjc/ * exception.c (__gnu_objc_personality_seh0): New function. libjava/ * libgcj.ver: Add __gcj_personality_seh0. * exception.cc (__gcj_personality_seh0): New function. Adjust for SEH. libgcc/ * unwind-seh.c: New file. * unwind-generic.h: Include windows.h for SEH. (_Unwind_Exception): Use 6 private fields for SEH. (_GCC_specific_handler): Declare. * unwind-c.c (__gcc_personality_seh0): New function. Adjust for SEH. * config/i386/libgcc-cygming.ver: New file. * config/i386/t-seh-eh: New file. * config.host (x86_64-*-mingw*): Default to seh. gcc/ * opts.c (finish_options): Handle UI_SEH. * expr.c (build_personality_function): Handle UI_SEH. * dwarf2out.c (dwarf2out_begin_prologue): Handle UI_SEH. * coretypes.h (unwind_info_type): Add UI_SEH. * config/i386/winnt.c (i386_pe_seh_emit_except_personality): New function. (i386_pe_seh_init_sections): Likewise. * config/i386/cygming.h (TARGET_ASM_EMIT_EXCEPT_PERSONALITY): Define. (TARGET_ASM_INIT_SECTIONS): Define. * common/config/i386/i386-common.c (TARGET_EXCEPT_UNWIND_INFO): Define. (i386_except_unwind_info): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189644 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-10-17 Paul Brook <paul@codesourcery.com>doko2011-10-201-22/+5
| | | | | | | | | | | Matthias Klose <doko@ubuntu.com> * exception.c (parse_lsda_header): hardcode ttype_encoding for older ARM EABI toolchains. (get_ttype_entry) Remove __ARM_EABI_UNWINDER__ variant. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180255 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2011-06-031-13/+0
| | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174615 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-12-181-36/+36
| | | | | | | | | | | | | | | | | | | | 2010-12-18 Nicola Pero <nicola.pero@meta-innovation.com> * class.c: Tidied up comments and indentation. No code changes. * error.c: Same. * exception.c: Same. * init.c: Same. * ivars.c: Same. * memory.c: Same. * objc-foreach.c: Same. * objc-sync.c: Same. * objects.c: Same. * protocols.c: Same. * sarray.c: Same. * thr.c: Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168022 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-10-121-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2010-10-12 Nicola Pero <nicola.pero@meta-innovation.com> * class.c: Include objc/runtime.h and objc-private/module-abi-8.h instead of objc/objc-api.h. (objc_get_unknown_class_handler): Do not define. (class_isMetaClass): New. (class_getSuperclass): New. (class_getVersion): New. (class_setVersion): New. (class_getInstanceSize): New. * exceptions.c: Include objc/runtime.h instead of objc/objc-api.h. (is_kind_of_exception_matcher): Use objc_getSuperclass instead of objc_get_super_class. (get_ttype_entry): Use objc_getRequiredClass instead of objc_get_class. * ivars.c (class_getClassVariable): New. * objects.c: Include objc/runtime.h, objc/thr.h and objc-private/module-abi-8.h instead of objc/objc-api.h * objc/runtime.h (class_getClassVariable): New. (class_isMetaClass): New. (class_getSuperclass): New. (class_getVersion): New. (class_setVersion): New. (class_getInstanceSize): New. * objc-private/module-abi-8.h (HOST_BITS_PER_LONG): New (from objc/objc-api.h) (__CLS_INFO): Same. (__CLS_ISINFO): Same. (__CLS_SETINFO): Same. (CLS_ISMETA): Same. (CLS_ISCLASS): Same. (CLS_ISRESOLV): Same. (CLS_SETRESOLV): Same. (CLS_ISINITIALIZED): Same. (CLS_SETINITIALIZED): Same. (CLS_GETNUMBER): Same. (CLS_SETNUMBER): Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165392 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-10-101-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2010-10-10 Nicola Pero <nicola.pero@meta-innovation.com> * Makefile.in (OBJC_DEPRECATED_H): Added struct_objc_category.h, struct_objc_ivar.h, struct_objc_ivar_list.h, struct_objc_method.h, struct_objc_method_list.h, struct_objc_module.h, struct_objc_protocol_list.h, struct_objc_symtab.h. * objc/deprecated/struct_objc_category.h: New. * objc/deprecated/struct_objc_ivar.h: New. * objc/deprecated/struct_objc_ivar_list.h: New. * objc/deprecated/struct_objc_method.h: New. * objc/deprecated/struct_objc_method_list.h: New. * objc/deprecated/struct_objc_module.h: New. * objc/deprecated/struct_objc_protocol_list.h: New. * objc/deprecated/struct_objc_symtab.h: New. * objc/deprecated/struct_objc_static_instances.h: New. * objc/objc-api.h: Definitions of deprecated structures moved into the above header fragment files in objc/deprecated/. Include the files instead of definition the structures here. Updated comments. * objc/runtime.h: Updated comments. Do not include objc-api.h. (objc_set_enumeration_mutation_handler): Renamed to objc_setEnumerationMutationHandler. * objc-foreach.c (objc_set_enumeration_mutation_handler): Renamed to objc_setEnumerationMutationHandler. * objc/objc-exception.h (objc_set_exception_matcher): Renamed to objc_setExceptionMatcher. (objc_set_uncaught_exception_handler): Renamed to objc_setUncaughtExceptionHandler. * exception.c: Same changes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165249 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-09-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164373 138bc75d-0d04-0410-961f-82ee72b054a4
* In libobjc/:nicola2010-09-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * objc/objc.h (__GNU_LIBOBJC__): New #define providing an easy way to check the API version. Added some comments. * objc-private/common.h: New file. * NXConstStr.m: Include objc-private/common.h. * Object.m: Same change. * Protocol.m: Same change. * archive.c: Same change. * class.c: Same change. * encoding.c: Same change. * exception.c: Same change. * gc.c: Same change. * hash.c: Same change. * init.c: Same change. * libobjc_entry.c: Same change. * linking.m: Same change. * misc.c: Same change (and added a comment). * nil_method.c: Same change. * objects.c: Same change. * sarray.c: Same change. * selector.c: Same change. * sendmsg.c: Same change. * thr.c: Same change. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164218 138bc75d-0d04-0410-961f-82ee72b054a4
* * objc/objc-exception.h: New file.nicola2010-09-081-31/+80
| | | | | | | | | | | | | | | | | | * 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 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164023 138bc75d-0d04-0410-961f-82ee72b054a4
* Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.jakub2009-04-091-10/+8
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145841 138bc75d-0d04-0410-961f-82ee72b054a4
* libobjc/ayers2009-03-121-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144826 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-06-14 Kai Tietz <kai.tietz@onevision.com>ktietz2008-06-141-1/+1
| | | | | | | | | * exception.c (PERSONALITY_FUNCTION): Remove extra decrement if HAVE_GETIPINFO is not defined. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@136782 138bc75d-0d04-0410-961f-82ee72b054a4
* * configure.ac (arm*-*-linux-gnueabi): Don't disable buildingjules2008-05-301-20/+134
| | | | | | | | | | | | | | | | | | | | | of libobjc for ARM EABI Linux. * configure: Regenerate. libobjc/ * exception.c (__objc_exception_class): Initialise as constant array for ARM EABI. Change macro to static const for non-ARM EABI. (ObjcException): Add note about structure layout. Remove landingPad and handlerSwitchValue for ARM EABI. (get_ttype_entry): Add __ARM_EABI_UNWINDER__ version of function. (CONTINUE_UNWINDING): Define for ARM EABI/otherwise cases. (PERSONALITY_FUNCTION): Use ARM EABI-specific arguments, and add ARM EABI unwinding support. (objc_exception_throw): Use memcpy to initialise exception class. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@136215 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-06 Andrew Pinski <pinskia@gmail.com>pinskia2007-08-061-4/+4
| | | | | | | | | | | | | PR libobjc/30731 * exception.c (parse_lsda_header): Use _uleb128_t/_sleb128_t instead of _Unwind_Word for variables which are used in read_uleb128/read_sleb128. (PERSONALITY_FUNCTION): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127242 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-08-17 Kelley Cook <kcook@gcc.gnu.org>kcook2005-08-171-2/+2
| | | | | | | * All files: Update FSF address. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103197 138bc75d-0d04-0410-961f-82ee72b054a4
* libobjc/ChangeLog:pinskia2005-08-141-2/+10
| | | | | | | | | | | | | | | | | | 2005-08-13 Marcin Koziej <creep@desk.pl> Andrew Pinski <pinskia@physics.uc.edu> PR libobjc/22492 * exception.c (PERSONALITY_FUNCTION): Fix the PC with finally. testsuite/ChangeLog: 2005-08-13 Marcin Koziej <creep@desk.pl> Andrew Pinski <pinskia@physics.uc.edu> PR libobjc/22492 * execute/exceptions/finally-1.m: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103073 138bc75d-0d04-0410-961f-82ee72b054a4
* * exception.c: Revert last change.rth2005-05-201-1/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100003 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-05-19 David Ayers <d.ayers@inode.at>ayers2005-05-191-0/+1
| | | | | | | * exception.c: Include tsystem.h for unwind.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99978 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-09-16 Andrew Pinski <pinskia@physics.uc.edu>pinskia2004-10-011-1/+2
| | | | | | | | | | | | | PR libobjc/16448 * exception.c: Include config.h (objc_exception_throw): Change _GLIBCXX_SJLJ_EXCEPTIONS to SJLJ_EXCEPTIONS. * configure.ac: Find out what exception handling code we use. * configure: Regenerate. * config.h.in: New file, regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88379 138bc75d-0d04-0410-961f-82ee72b054a4
* * exception.c: New file.rth2004-06-181-0/+367
* Makefile.in (exception.lo): New. (OBJS): Add it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83331 138bc75d-0d04-0410-961f-82ee72b054a4