Mike Stump [Fri, 6 Jun 1997 23:18:36 +0000 (23:18 +0000)]
libgcc2.c (__eh_ffetmnpc): Add support for machines that cannot access globals after throw's epilogue when...
* 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)
Jeff Law [Thu, 5 Jun 1997 15:52:34 +0000 (09:52 -0600)]
sh.c (trap_exit, sp_switch): New variables.
* 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.
Karl Berry [Wed, 4 Jun 1997 21:47:40 +0000 (21:47 +0000)]
texinfo.tex (\mainmagstep): Define this as a \count variable instead of with \let...
* 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.
Mike Stump [Thu, 29 May 1997 18:42:07 +0000 (18:42 +0000)]
except.c (push_eh_entry): Eliminate start of exception region label, as it isn't used.
* 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
Karl Berry [Sat, 24 May 1997 22:06:39 +0000 (22:06 +0000)]
(\deftypemethod, \deftypemethodheader): New macros to implement new commands @deftypemethod and @deftypemethodx.
(\deftypemethod, \deftypemethodheader): New macros to implement
new commands @deftypemethod and @deftypemethodx.
Suggestion from: KHMarbaise@p69.ks.fido.de (Karl Heinz Marbaise).
Karl Berry [Fri, 23 May 1997 17:02:00 +0000 (17:02 +0000)]
(\opnr, \clnr): Increment/decrement \parencount, for
(\opnr, \clnr): Increment/decrement \parencount, for
* texinfo.tex (\opnr, \clnr): Increment/decrement \parencount, for
@defun lines with nested parens. From Bill Schelter
<wfs@fireant.ma.utexas.edu>.
(\itemizeitem): Correct \errmessage.
Karl Berry [Mon, 19 May 1997 21:34:38 +0000 (21:34 +0000)]
(\codeunder): Use \_ and \ifusingtt to avoid dotaccent from _ in roman fonts, e.g., @deftypefn.
(\codeunder): Use \_ and \ifusingtt to avoid dotaccent from _ in roman
fonts, e.g., @deftypefn.
(\tex): Remove spurious spaces at the end of subdefinitions.
From: "John W. Eaton" <jwe@bevo.che.wisc.edu>.
(\url, \email): \let to \code; no quotes or angle brackets.
Richard Kenner [Sun, 18 May 1997 12:24:51 +0000 (08:24 -0400)]
(TARGET_SWITCHES): Add 68020-60.
Mask out bits which indicate a particular processor when a different
processor is selected.
(MASK_68040_ALSO): Remove.
(MASK_68040): Change to be a single bit.
Jeff Law [Fri, 16 May 1997 20:58:24 +0000 (14:58 -0600)]
pa.c (output_move_double): Handle loading a general register from a scaled indexed memory address.
* pa.c (output_move_double): Handle loading a general register
from a scaled indexed memory address.
* pa.md (movdf, movdi): Allow scaled loads into general registers.
Mike Stump [Fri, 16 May 1997 20:42:42 +0000 (20:42 +0000)]
rs6000.c (rs6000_stack_info): Only do eabi setup for "main"...
* rs6000/rs6000.c (rs6000_stack_info): Only do eabi setup for "main",
when main is the global main, not some nested routine that
happens to be called main.
Mike Stump [Fri, 16 May 1997 01:00:58 +0000 (01:00 +0000)]
except.c (expand_start_all_catch): If the machine needs to perform any actions at the start of an expcetion...
* except.c (expand_start_all_catch): If the machine needs to
perform any actions at the start of an expcetion handler that
hasn't already been done, use gen_exception_receiver to emit it.
(expand_leftover_cleanups): Likewise.
* alpha/alpha.md (exception_receiver): Use it.
* pa/pa.h (exception_receiver): Use it.
Mike Stump [Fri, 16 May 1997 00:58:40 +0000 (00:58 +0000)]
except.c (expand_start_all_catch): If the machine needs to perform any actions at the start of an expcetion...
* except.c (expand_start_all_catch): If the machine needs to
perform any actions at the start of an expcetion handler that
hasn't already been done, use gen_exception_receiver to emit it.
(expand_leftover_cleanups): Likewise.
* alpha/alpha.md (exception_receiver): Use it.
* pa/pa.h (exception_receiver): Use it.
Fix -fpic on hppa when excetpions are throw across shared libraries.
Mike Stump [Tue, 13 May 1997 03:50:39 +0000 (03:50 +0000)]
except.c (expand_start_all_catch): If the machine needs a nonlocal_goto_receiver...
* except.c (expand_start_all_catch): If the machine needs a
nonlocal_goto_receiver, add one at the start of the exception
handler.
(expand_leftover_cleanups): Likewise.
Potential fix for eh on alpha, rs6000, and hppa.
(MULTILIB_{OPTIONS,DIRNAMES,EXCEPTIONS}): Build a suitable set of
cross libraries.
(LIBGCC): Set to stmp-multilib.
(INSTALL_LIBGCC): Set to install-multilib.
(ASM_OUTPUT_LONG_DOUBLE): Delete call to arm_increase_location.
(ASM_OUTPUT_LONG_DOUBLE): Delete call to
arm_increase_location.
(ASM_OUTPUT_{DOUBLE,FLOAT,INT,SHORT,CHAR,BYTE,ASCII,SKIP}): Likewise.
(ASM_OUTPUT_ALIGN): Delete all code refering to arm_text_location.
(attr cpu): Add new cpu types for arm8 and strongarm.
(attr ldsched): New attribute, set if processor has a load_delay slot.
(function_unit core): Rework to handle load delay slots.
(function_unit loader): New function unit.
(movsi): Handle pic.
(pic_load_addr): New expand.
(*pic_load_addr_based_insn, pic_add_dot_plus_eight): New patterns.
(peepholes to cause flow to return to a label after a function call):
Delete, these have been disabled for a while now.
define.
(CPP_ARCH_DEFAULT_SPEC): Set up based on setting of TARGET_CPU_DEFAULT.
(CPP_SPEC): Split up into sub-rule calls.
(CPP_CPU_SPEC): Add default definition.
(CPP_APCS_PC_SPEC, CPP_APCS_PC_DEFAULT_SPEC): Add definitions.
(CPP_FLOAT_SPEC, CPP_FLOAT_DEFAULT_SPEC): Add definitions.
(CPP_ENDIAN_SPEC, CPP_ENDIAN_DEFAULT_SPEC): Add definitions.
(CC1_SPEC): Map legacy -m[236] onto -mcpu=.. and -mapcs-{26,32} as
appropriate. Similarly for -mbe and -mle to -m{big,little}-endian.
(EXTRA_SPECS): Define.
(enum processor_type): New types for arm8 and strongarm.
(CONDITIONAL_REGISTER_USAGE): Handle flag_pic.
(LEGITIMIZE_ADDRESS): Likewise.
(ADJUST_COST): Define.
(PIC_OFFSET_TABLE_REGNUM): Define.
(FINALIZE_PIC): Define.
(LEGITIMATE_PIC_OPERAND_P): Define.
(OUTPUT_INT_ADDR_CONST): Define.
(ASM_OUTPUT_MI_THUNK): Delete calls to arm_increase_location.
(MASK_RETURN_ADDR): Use TARGET_APCS_32 not TARGET_6.
(arm_naked_function_p): Add declaration.
(arm_pic_register): Define.
(all_procs): Delete entries for arm{60,620,70,7d,7di,700i,710c}; add
entries for arm{7m,7500fe,8}, strongarm and strongarm110.
(arm_override_options): Rework so that configure can properly set
the default processor type. Add a warning that PIC code is not yet
supported.
(legitimate_pic_operand_p, legitimize_pic_address): New functions.
(is_pic, arm_finalize_pic): New functions.
(arm_adjust_cost): New function.
(const_pool_offset, arm_backwards_branch, short_branch): Delete.
(arm_insn_not_targeted): Delete.
(add_constant): If generating AOF syntax, then handle pic specially.
(output_ascii_pseudo_op): Delete calls to arm_increase_location.
(function_really_clobbers_lr): Calls followed by a barrier don't
clobber the link register.
(output_func_prologue): Handle AOF syntax pic code.
(output_func_epilogue): Handle cases where lr_save_eliminated is set.
Delete call to arm_increase_location.
(arm_asm_output_label): Simplify, since we no-longer need to cache the
label's address.
(aof_pic_entry): New function to keep track of pic symbols.
(aof_dump_pic_table): New function.