* expr.c (expand_expr, defer_cleanups_to, expand_cleanups_to): All
cleanups have to be protected by interim exception handling code.
* stmt.c (expand_decl_cleanup, expand_cleanups): Ditto.
* toplev.c (interim_eh_hook): Hook for interim exception handling.
* toplev.c (interim_eh): Default implementation for exception
handling that does nothing.
* toplev.c (main): Set default for interim_eh_hook.
From-SVN: r7666
(expand_start_loop): Initialize it to zero.
(expand_end_loop): Reorder loop if find either a jump to end_label
or a jump to alt_end_label.
(expand_exit_loop_if_false): Set alt_end_label.
From-SVN: r7664
(arm umul_ppmm): New definition.
(clipper umul_ppmm, smul_ppmm, __umulsidi3): New definitions.
(hppa count_leading_zeros): New definition.
(i960 umul_ppmm, __umulsidi3): New definitions.
(mc68000 umul_ppmm): Use %. before size suffixes.
(mc88110 umul_ppmm, udiv_qrnnd): Rewrite.
(mc88000): Get UMUL_TIME and UDIV_TIME right.
(mips): Get UMUL_TIME right.
(ns32000 umul_ppmm): New definition.
(ns32000 udiv_qrnnd): Rename from bogus div_qrnnd, rewrite.
(powerpc umul_ppmm, smul_ppmm): New definitions.
(_IBMR2/powerpc add_ssaaaa, sub_ddmmss): Improve.
(pyr umul_ppmm): Fix typo.
(sparc add_ssaaaa, sub_ddmmss): Match constant 0 for all inputs.
(vax sdiv_qrnnd): New definition.
From-SVN: r7629
This patch makes selectors in the Objective-C language be pointers
to a struct { void *sel_id, char *sel_types }, where the sel_types
element is the type encoding of the method arguments.
From-SVN: r7622
* objc-act.c (get_proto_encoding, build_typed_selector_reference):
New fucnctions. (UTAG_PROTOCOL): New define.
(objc_selector_template, flag_typed_selectors): New variables.
(objc_init): set flag_typed_selectors if -fgnu-runtime.
(synth_module_prologue): Change declaration of
_OBJC_SELECTOR_TABLE when flag_typed_selectors is non-null.
(build_module_descriptor): Make sure the generated constructor
function is declared public.
(build_selector): Only cast to SEL when not doing typed selectors.
(build_selector_translation_table): Rewrite initialization.
(build_tmp_function_decl): Make up new name when called, since it
may now be called multiple times.
(hack_method_prototype): Use init_function_start to reinit args
machinery. Also set current_function_decl before calling
assign_parms.
(generate_protocols): Don't generate encoding twice.
(build_selector_template): New function.
(build_method_list_template): Generate (void*)0 as first element,
not (int)0.
(build_message_expr): move the call to build_selector_reference
towards the end, where we have determined the function prototype.
From-SVN: r7620