* pa.md (conditional branch insns): Get length right for branches
to targets which can not be reached with a "bl" instruction.
* pa.c (output_cbranch): Handle branches to targets which can not
be reached with a "bl" instruction.
From-SVN: r14172
* pa.md (alternate dbra pattern): Remove incorrect pattern.
* pa.c (struct defer_plab): Renamed to struct deferred_plabel.
Remove "symbol" field and replace with "name" field.
(output_function_epilogue): Don't output deferred plabels here.
(output_deferred_labels): New function. Output them here instead.
(output_call): Rewrite long call support.
* pa.h (ASM_FILE_END): Define.
(LEGITIMATE_CONSTANT_P): Never accept a function_label_operand.
* pa.md (HIGH and LO_SUM of function address): Remove patterns.
From-SVN: r14171
* libgcc2.c (__eh_ffetmnpc): Add support for machines that cannot
access globals after throw's epilogue when -fno-sjlj-exceptions is
used.
* rs6000.c (DONT_ACCESS_GBLS_AFTER_EPILOGUE): Likewise.
* mips.h (DONT_ACCESS_GBLS_AFTER_EPILOGUE): Likewise.
(INITIAL_ELIMINATION_OFFSET): Fix RETURN_ADDRESS_POINTER_REGNUM
for 64 bit words, with 32 bit pointers and variable endianness.
Fixes throwing across shared library lines (useful at times on mips and rs6000)
From-SVN: r14168
* sh.c (trap_exit, sp_switch): New variables.
(print_operand, case '@'): If trap_exit is nonzero, then use
a trapa instead of an rte/rts to exit the current function.
(sh_expand_prologue): Switch stacks at function entry as needed.
(sh_expand_epilogue): Similarly at function exit.
(function_epilogue): Clear trap_exit and sp_switch too.
(sh_valid_machine_decl_attribute): New function.
* sh.h (VALID_MACHINE_DECL_ATTRIBUTE): Define.
(sp_switch): Declare.
* sh.md (sp_switch_1, sp_switch_2): New named patterns.
From-SVN: r14148
* texinfo.tex (\mainmagstep): Define this as a \count variable
instead of with \let, to make changing to \magstep1 more transparent.
From: HERBERT@boevm4.vnet.ibm.com.
(\uref): New command a la \url.
From-SVN: r14146
* except.c (push_eh_entry): Eliminate start of exception region
label, as it isn't used. Rename end_label to outer_context.
(expand_eh_region_start_for_decl): Likewise.
(expand_leftover_cleanups): Likewise.
(expand_start_all_catch): Likewise.
* except.h (eh_entry): Likewise.
* except.c (expand_eh_region_end): Likewise. Jump around the nop
that we insert, so that we can optimize it away, if it is unused,
also so that flow analysis can tell if we fall through to the end
of a function or not so that it can know if a function that returns
a value, in fact does or not.
Fixes g++.jason/return2.C when using -fno-sjlj-exceptions
From-SVN: r14135
(\deftypemethod, \deftypemethodheader): New macros to implement
new commands @deftypemethod and @deftypemethodx.
Suggestion from: KHMarbaise@p69.ks.fido.de (Karl Heinz Marbaise).
From-SVN: r14114