[Patch] Remove flag_objc-sjlj_exceptions as a User control, move ObjC exception mechanism choices to gcc/objc/
Iain Sandoe
developer@sandoe-acoustics.co.uk
Wed Nov 30 21:18:00 GMT 2011
There is really no point in having a flag to control the Objective C
(or Objective C++) exceptions [@throw, as opposed to throw] scheme,
since we actually only support one scheme for each permutation of
runtime and ABI.
This removes the flag_objc_sjlj_exceptions (or, more correctly,
localizes its effect to the ObjC FEs).
All ObjC exceptions choices are now handled in the FE initialization
code.
In the case of the code for NeXT runtime (ABI 0/1) the code has been
left in place for the DW2 based unwinder (should it occur that Darwin
gets a DW2-based NeXT 01 variant). I have arranged that it will be
DCE'd unless/until that happens by making the choice a constant.
OK for trunk?
Iain
gcc/c-family:
* c.opt (fobjc-sjlj-exceptions): Remove as a User control.
* c-opts.c (flag_objc_sjlj_exceptions): Remove.
(flag_objc_exceptions/flag_exceptions): Remove code setting
flag_exceptions.
gcc/objc:
* objc-next-runtime-abi-01.c (FLAG_OBJC_SJLJ_EXCEPTIONS): New.
(objc_next_runtime_abi_01_init): flag_objc_sjlj_exceptions set
constant.
(next_runtime_01_initialize): Likewise.
(objc_build_exc_ptr): Likewise.
* objc-next-runtime-abi-02.c (objc_next_runtime_abi_02_init): Remove
reference to flag_objc_sjlj_exceptions, set flag_exceptions as
required.
* objc-gnu-runtime-abi-01.c (objc_gnu_runtime_abi_01_init): Likewise.
* objc-act.h (flag_objc_sjlj_exceptions): New objc-local flag.
* objc-act.c (flag_objc_sjlj_exceptions): New objc-local flag,
default to false.
gcc:
* config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS):
Remove references to x_flag_objc_sjlj_exceptions.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 181853-remove-flag-objc-sjlj-diff.txt
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20111130/4b53057f/attachment.txt>
-------------- next part --------------
More information about the Gcc-patches
mailing list