[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