* 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
2008-06-14 Kai Tietz <kai.tietz@onevision.com>
* exception.c (PERSONALITY_FUNCTION): Remove extra decrement
if HAVE_GETIPINFO is not defined.
From-SVN: r136782
* configure.ac (arm*-*-linux-gnueabi): Don't disable building
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.
From-SVN: r136215
2007-08-06 Andrew Pinski <pinskia@gmail.com>
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.
From-SVN: r127242
libobjc/ChangeLog:
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.
Co-Authored-By: Andrew Pinski <pinskia@physics.uc.edu>
From-SVN: r103073
2004-09-16 Andrew Pinski <pinskia@physics.uc.edu>
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.
From-SVN: r88379