platform/upstream/gcc.git
26 years agodwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to output ASCII by default.
Jeffrey A Law [Fri, 31 Oct 1997 16:30:48 +0000 (16:30 +0000)]
dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to output ASCII by default.

        * dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
        output ASCII by default.  Only use ASM_OUTPUT_DWARF_STRING if
        flag_debug_asm is on.
        (output_die, output_pubnames, output_line_info): Likewise.

From-SVN: r16251

26 years agoalias.c (init_alias_analysis): Add struct_value_incoming_rtx and static_chain_rtx...
Jeffrey A Law [Fri, 31 Oct 1997 15:35:31 +0000 (15:35 +0000)]
alias.c (init_alias_analysis): Add struct_value_incoming_rtx and static_chain_rtx into the potential base...

        * alias.c (init_alias_analysis): Add struct_value_incoming_rtx
        and static_chain_rtx into the potential base values array if
        they are registers.
Fixes bugs exposed by improved alias propagation code.

        * alias.c (new_reg_base_value): New array of potential base values.
        (unique_id): Now file scoped static.
        (find_base_value, case REG): Return the value in reg_base_value
        array for the REG if it exists.  Else, return the value from
        new_reg_base_value if copying args and REG is a hard register.
        (find_base_value, case PLUS): If either operand of the PLUS is
        a REG, try to get its base value.  Handle base + index and
        index + base.
        (record_set): Use new_reg_base_value instead of reg_base_value.
        (init_alias_analysis): Allocate space for new_reg_base_value too.
        Rework code to iterate over the insns propagating base value
        information until nothing changes.
Improve alias propagation significantly.

From-SVN: r16250

26 years agoglobal.c (global_alloc): Free the conflict matrix after reload has finished.
Jeffrey A Law [Fri, 31 Oct 1997 14:08:40 +0000 (14:08 +0000)]
global.c (global_alloc): Free the conflict matrix after reload has finished.

        * global.c (global_alloc): Free the conflict matrix after
        reload has finished.

From-SVN: r16249

26 years ago[multiple changes]
Jason Merrill [Fri, 31 Oct 1997 09:52:55 +0000 (09:52 +0000)]
[multiple changes]

Fri Oct 31 01:45:31 1997  Jason Merrill  <jason@yorick.cygnus.com>

* libgcc2.c (L_eh): Define __eh_pc.
Replace __eh_type with generic pointer __eh_info.

Fri Oct 31 01:47:57 1997  Jason Merrill  <jason@yorick.cygnus.com>

Support for nested exceptions.
* tinfo2.cc (__is_pointer): New fn.
* exception.cc (struct cp_eh_info): Define.
(__cp_exception_info, __uncatch_exception): New fns.
(__cp_push_exception, __cp_pop_exception): New fns.
* except.c: Lose saved_throw_{type,value,cleanup,in_catch}.
  Lose empty_fndecl.
(init_exception_processing): Likewise.  __eh_pc is now external.
(push_eh_info): New fn.
(get_eh_{info,value,type,caught}): New fns.
(push_eh_cleanup): Just call __cp_pop_exception.
(expand_start_catch_block): Use push_eh_info.  Start the eh region
sooner.
(expand_end_eh_spec): Use push_eh_info.
(expand_throw): Call __cp_push_exception to set up the exception info.
Just pass the destructor or 0 as the cleanup.  Call __uncatch_exception
when we rethrow.
(expand_builtin_throw): Don't refer to empty_fndecl.

From-SVN: r16248

26 years agoexpr.c (expand_increment): When enqueing a postincrement for a MEM...
J"orn Rennecke [Fri, 31 Oct 1997 00:40:46 +0000 (00:40 +0000)]
expr.c (expand_increment): When enqueing a postincrement for a MEM...

* expr.c (expand_increment): When enqueing a postincrement for a MEM,
use copy_to_reg if address is not a general_operand.

From-SVN: r16247

26 years agoprofile.c (output_func_start_profiler): Clear flag_inline_functions for the duration...
J"orn Rennecke [Fri, 31 Oct 1997 00:23:07 +0000 (00:23 +0000)]
profile.c (output_func_start_profiler): Clear flag_inline_functions for the duration of the call to rest_of_compilation.

* profile.c (output_func_start_profiler): Clear flag_inline_functions
for the duration of the call to rest_of_compilation.

From-SVN: r16246

26 years agoClean up pass over sparc -m{cpu,tune} docs.
Doug Evans [Thu, 30 Oct 1997 23:01:26 +0000 (23:01 +0000)]
Clean up pass over sparc -m{cpu,tune} docs.

From-SVN: r16245

26 years agoconfigure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
Doug Evans [Thu, 30 Oct 1997 22:52:41 +0000 (22:52 +0000)]
configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.

* configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
Set extra_parts.
(sparc*-*-*): Recognize --with-cpu=v9.
* sparc/elf.h: New file.
* sparc/t-elf: New file.

From-SVN: r16243

26 years agoNew files for embedded sparc/elf support.
Doug Evans [Thu, 30 Oct 1997 22:38:32 +0000 (22:38 +0000)]
New files for embedded sparc/elf support.

From-SVN: r16240

26 years agoNew files for embedded sparc/elf support.
Doug Evans [Thu, 30 Oct 1997 22:38:04 +0000 (22:38 +0000)]
New files for embedded sparc/elf support.

From-SVN: r16239

26 years agomn10300.c (const_8bit_operand): New function.
Jeffrey A Law [Thu, 30 Oct 1997 20:34:59 +0000 (20:34 +0000)]
mn10300.c (const_8bit_operand): New function.

        * mn10300.c (const_8bit_operand): New function.
        (mask_ok_for_mem_btst): New funtion.
        * mn10300.md (btst patterns with mem operands): Use new functions
        to avoid creating btst instructions with invalid operands.

From-SVN: r16236

26 years ago* gen-params: Override NULL.
Jason Merrill [Thu, 30 Oct 1997 06:00:21 +0000 (06:00 +0000)]
* gen-params: Override NULL.

From-SVN: r16232

26 years agotermdep.h: If POSIX...
Robert Lipe [Thu, 30 Oct 1997 05:55:14 +0000 (05:55 +0000)]
termdep.h: If POSIX...

        * info/termdep.h: If POSIX, #undef TIOCGETC for benefit of systems
        that provide TIOCETC but not struct tchars.

From-SVN: r16231

26 years agoFix duplicate SIG_SYSLIST warnings on PowerPC Linux
Michael Meissner [Wed, 29 Oct 1997 22:00:14 +0000 (22:00 +0000)]
Fix duplicate SIG_SYSLIST warnings on PowerPC Linux

From-SVN: r16230

26 years agoelf64.h (PREFERRED_DEBUGGING_TYPE): Only define if not previously defined.
Gavin Koch [Wed, 29 Oct 1997 18:21:18 +0000 (18:21 +0000)]
elf64.h (PREFERRED_DEBUGGING_TYPE): Only define if not previously defined.

* config/mips/elf64.h (PREFERRED_DEBUGGING_TYPE): Only define
if not previously defined.

From-SVN: r16229

26 years agofunction.c (assign_parms): Correct mode of stack_parm if entry_parm underwent a mode...
Doug Evans [Wed, 29 Oct 1997 06:54:49 +0000 (06:54 +0000)]
function.c (assign_parms): Correct mode of stack_parm if entry_parm underwent a mode conversion.

        * function.c (assign_parms): Correct mode of stack_parm if
        entry_parm underwent a mode conversion.

From-SVN: r16228

26 years agoExpect this test to fail.
Jeff Law [Wed, 29 Oct 1997 06:41:58 +0000 (23:41 -0700)]
Expect this test to fail.

Don't even bother trying to even compile the testcase.

From-SVN: r16227

26 years ago* Makefile.in (CFILES): Add pexecute.c.
Jody Goldberg [Wed, 29 Oct 1997 06:39:04 +0000 (23:39 -0700)]
* Makefile.in (CFILES): Add pexecute.c.

From-SVN: r16226

26 years agoglobal.c (global_alloc): Use xmalloc instead of alloca for CONFLICTS...
Brendan Kehoe [Tue, 28 Oct 1997 23:39:28 +0000 (23:39 +0000)]
global.c (global_alloc): Use xmalloc instead of alloca for CONFLICTS...

* global.c (global_alloc): Use xmalloc instead of alloca for
CONFLICTS, since max_allocno * allocno_row_words alone can be more
than 2.5Mb sometimes.

From-SVN: r16223

26 years agoreload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of DEST for the spill...
Richard Henderson [Tue, 28 Oct 1997 23:29:44 +0000 (15:29 -0800)]
reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of DEST for the spill...

* reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of
DEST for the spill, adjust mode of SRC to compensate.

From-SVN: r16222

26 years agoupdate doc for CONST_{,DOUBLE_}OK_FOR_LETTER_P, EXTRA_CONTSTRAINT
Michael Meissner [Tue, 28 Oct 1997 22:56:06 +0000 (22:56 +0000)]
update doc for CONST_{,DOUBLE_}OK_FOR_LETTER_P, EXTRA_CONTSTRAINT

From-SVN: r16221

26 years agoupdate doc for CONST_{,DOUBLE_}OK_FOR_LETTER_P, EXTRA_CONTSTRAINT
Michael Meissner [Tue, 28 Oct 1997 22:52:51 +0000 (22:52 +0000)]
update doc for CONST_{,DOUBLE_}OK_FOR_LETTER_P, EXTRA_CONTSTRAINT

From-SVN: r16220

26 years agoalpha.md (reload_inqi): Check for MEM before strict_memory_address_p...
Richard Henderson [Tue, 28 Oct 1997 22:40:01 +0000 (14:40 -0800)]
alpha.md (reload_inqi): Check for MEM before strict_memory_address_p...

* alpha.md (reload_inqi): Check for MEM before strict_memory_address_p,
since any_memory_operand() allows pseudos during reload.
(reload_inhi, reload_outqi, reload_outhi): Likewise.

From-SVN: r16219

26 years agoFix coldfire/btst problems.
Jim Wilson [Tue, 28 Oct 1997 19:56:50 +0000 (19:56 +0000)]
Fix coldfire/btst problems.

* m68k.md (btst patterns): Add 5200 support.

From-SVN: r16217

26 years agofold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3) optimizations...
Toon Moene [Tue, 28 Oct 1997 19:02:23 +0000 (20:02 +0100)]
fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3) optimizations...

        * fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3)
        optimizations, look inside dividend to determine if the expression
        can be simplified by using EXACT_DIV_EXPR.

From-SVN: r16216

26 years ago* dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
Jason Merrill [Tue, 28 Oct 1997 18:23:50 +0000 (18:23 +0000)]
* dwarf2out.c (output_call_frame_info): Use l1 instead of ".".

From-SVN: r16215

26 years ago* alpha.c (summarize_insn [SUBREG]): Propogate SET.
Richard Henderson [Tue, 28 Oct 1997 08:34:06 +0000 (00:34 -0800)]
* alpha.c (summarize_insn [SUBREG]): Propogate SET.

From-SVN: r16213

26 years agoalpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap on a CLOBBER.
Richard Henderson [Tue, 28 Oct 1997 08:04:16 +0000 (00:04 -0800)]
alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap on a CLOBBER.

* alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap
on a CLOBBER.

From-SVN: r16212

26 years agoalpha.md (movqi, movhi): Make sure new insns created during reload won't need reloadi...
Richard Henderson [Tue, 28 Oct 1997 05:28:29 +0000 (21:28 -0800)]
alpha.md (movqi, movhi): Make sure new insns created during reload won't need reloading themselves.

* alpha.md (movqi, movhi): Make sure new insns created during reload
won't need reloading themselves.
(reload_inqi, reload_inhi, reload_outqi, reload_outhi): Likewise.

From-SVN: r16211

26 years ago* mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
Jeffrey A Law [Mon, 27 Oct 1997 23:07:37 +0000 (23:07 +0000)]
* mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.

From-SVN: r16209

26 years ago* Makefile.in: check-target-libio depends on all-target-libstdc++.
Jason Merrill [Mon, 27 Oct 1997 20:04:45 +0000 (20:04 +0000)]
* Makefile.in: check-target-libio depends on all-target-libstdc++.

From-SVN: r16206

26 years agoalpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
Richard Henderson [Sun, 26 Oct 1997 21:47:50 +0000 (13:47 -0800)]
alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.

* alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
Patch from Klaus Kaempf <kkaempf@progis.de>.

From-SVN: r16196

26 years agoexpr.c (expand_expr, [...]): Optimize a reference to an element in a constant string.
Jim Wilson [Sun, 26 Oct 1997 20:33:27 +0000 (20:33 +0000)]
expr.c (expand_expr, [...]): Optimize a reference to an element in a constant string.

        * expr.c (expand_expr, case INDIRECT_REF): Optimize a reference
        to an element in a constant string.

From-SVN: r16195

26 years agoFix typo in last change.
Jeff Law [Sun, 26 Oct 1997 20:25:38 +0000 (13:25 -0700)]
Fix typo in last change.

From-SVN: r16194

26 years agorebuild
Jason Merrill [Sun, 26 Oct 1997 20:01:11 +0000 (15:01 -0500)]
rebuild

From-SVN: r16193

26 years agodwarf2out.c (output_call_frame_info): The CIE pointer is now a 32 bit PC-relative...
Jason Merrill [Sun, 26 Oct 1997 19:54:42 +0000 (19:54 +0000)]
dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32 bit PC-relative offset.

* dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
  bit PC-relative offset.  The exception range table pointer is now in
  the CIE.
* frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
(count_fdes, add_fdes, get_cie): Adjust.
(cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.

From H.J. Lu:
* frame.c (count_fdes, add_fdes): Skip linked once FDE entries.

From-SVN: r16192

26 years agoOpps. Checked in some development patches by accident.
Jeff Law [Sun, 26 Oct 1997 18:55:13 +0000 (11:55 -0700)]
Opps.  Checked in some development patches by accident.

From-SVN: r16189

26 years agoalias.c (memrefs_conflict_p): Treat arg_pointer_rtx just like stack_pointer_rtx.
Richard Henderson [Sun, 26 Oct 1997 18:48:31 +0000 (10:48 -0800)]
alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just like stack_pointer_rtx.

        * alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just
        like stack_pointer_rtx.

From-SVN: r16188

26 years agoMakefile.in (bootstrap-lean): Combined with `normal' bootstrap targets using "$@...
Manfred Hollstein [Sun, 26 Oct 1997 18:45:07 +0000 (18:45 +0000)]
Makefile.in (bootstrap-lean): Combined with `normal' bootstrap targets using "$@" to provide support for...

        * Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
        targets using "$@" to provide support for similar but not identical
        targets without having to duplicate code.
        (bootstrap4): New goal.

From-SVN: r16187

26 years agoMakefile.in (bootstrap-lean): Combined with `normal' bootstrap targets using "$@...
Manfred Hollstein [Sun, 26 Oct 1997 18:44:33 +0000 (18:44 +0000)]
Makefile.in (bootstrap-lean): Combined with `normal' bootstrap targets using "$@" to provide support for...

        * Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
        targets using "$@" to provide support for similar but not identical
        targets without having to duplicate code.

From-SVN: r16186

26 years agoTake out find_base_value change -- not needed, only the find_base_term
Jeffrey A Law [Sun, 26 Oct 1997 18:39:57 +0000 (18:39 +0000)]
Take out find_base_value change -- not needed, only the find_base_term
change was needed.

From-SVN: r16185

26 years agoMakefile.in (compare, [...]): Combined to one ruleset determining actions to be perfo...
Manfred Hollstein [Sun, 26 Oct 1997 18:28:57 +0000 (18:28 +0000)]
Makefile.in (compare, [...]): Combined to one ruleset determining actions to be performed via $@.

        * Makefile.in (compare, compare-lean, compare3): Combined to one
        ruleset determining actions to be performed via $@.
        (compare4, compare4-lean): New targets.
        (gnucompare, gnucompare3): Combined to one ruleset determining
        actions to be performed via $@. Also, note which files failed
        the comparison test in .bad_compare.
        (gnucompare-lean, gnucompare3-lean, gnucompare4-lean): New targets.

From-SVN: r16184

26 years ago* Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
Jeffrey A Law [Sun, 26 Oct 1997 18:21:28 +0000 (18:21 +0000)]
* Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.

From-SVN: r16183

26 years agoalias.c (find_base_value): Handle PRE_INC, PRE_DEC, POST_INC, and POS_DEC.
Jeffrey A Law [Sun, 26 Oct 1997 17:38:13 +0000 (17:38 +0000)]
alias.c (find_base_value): Handle PRE_INC, PRE_DEC, POST_INC, and POS_DEC.

        * alias.c (find_base_value): Handle PRE_INC, PRE_DEC, POST_INC,
        and POS_DEC.
        (find_base_term): Likewise.

        * alias.c (true_dependence): Fix typo.

From-SVN: r16182

26 years agofold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR if...
Toon Moene [Sun, 26 Oct 1997 17:05:24 +0000 (18:05 +0100)]
fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR if...

        * fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR
        if the dividend is a multiple of the divisor.

From-SVN: r16181

26 years agotoplev.c (flag_rerun_loop_opt): New variable.
Jeffrey A Law [Sun, 26 Oct 1997 16:56:15 +0000 (16:56 +0000)]
toplev.c (flag_rerun_loop_opt): New variable.

        * toplev.c (flag_rerun_loop_opt): New variable.
        (f_options): Handle -frerun-loop-opt.
        (rest_of_compilation): If -frerun-loop-opt, then run the loop
        optimizer twice.
        (main): Enable -frerun-loop-opt by default for -O2 or greater.

From-SVN: r16180

26 years agoloop.c (simplify_giv_expr): Adding two invariants results in an invariant.
Jeffrey A Law [Sun, 26 Oct 1997 16:20:07 +0000 (16:20 +0000)]
loop.c (simplify_giv_expr): Adding two invariants results in an invariant.

        * loop.c (simplify_giv_expr): Adding two invariants results
        in an invariant.

From-SVN: r16179

26 years agoexpr.c (get_inner_reference): Remove the array bias after converting the index to...
Richard Henderson [Sun, 26 Oct 1997 16:13:10 +0000 (08:13 -0800)]
expr.c (get_inner_reference): Remove the array bias after converting the index to Pmode.

        * expr.c (get_inner_reference): Remove the array bias after
        converting the index to Pmode.

From-SVN: r16178

26 years agomn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
Jeffrey A Law [Sat, 25 Oct 1997 18:16:50 +0000 (18:16 +0000)]
mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.

        * mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
        (TARGET_MULT_BUG): Define.
        (TARGET_DEFAULT): Default to TARGET_MULT_BUG.
        * mn10300.md (mulsi3): Handle TARGET_MULT_BUG.

From-SVN: r16173

26 years agoReverse this, bad call on my part:
Brendan Kehoe [Sat, 25 Oct 1997 16:23:10 +0000 (12:23 -0400)]
Reverse this, bad call on my part:

1,4d0
< Fri Oct 24 17:49:10 1997  Jim Wilson  <wilson@cygnus.com>
<
<  * integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
<

From-SVN: r16172

26 years agointegrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
Jim Wilson [Sat, 25 Oct 1997 00:50:35 +0000 (00:50 +0000)]
integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.

* integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.

fixes many of the inlining problems causing various suite++ and perennial
test failures, among others

From-SVN: r16171

26 years agomn10200.c (indirect_memory_operand): Delete unused function.
Jeffrey A Law [Fri, 24 Oct 1997 23:36:42 +0000 (23:36 +0000)]
mn10200.c (indirect_memory_operand): Delete unused function.

        * mn10200.c (indirect_memory_operand): Delete unused function.
        * mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
        * mn10200.md (bset, bclr insns): Handle output in a reg too.

From-SVN: r16169

26 years agoalpha.md (call patterns): Revert Oct 16 change...
Richard Henderson [Fri, 24 Oct 1997 22:57:54 +0000 (15:57 -0700)]
alpha.md (call patterns): Revert Oct 16 change...

* alpha.md (call patterns): Revert Oct 16 change; if we are to elide
the callee's ldgp, we must do it ourselves, and we use the jsr tag
for more than scheduling.

From-SVN: r16168

26 years agoAnother goof in last change.
Jeff Law [Fri, 24 Oct 1997 19:56:45 +0000 (13:56 -0600)]
Another goof in last change.

From-SVN: r16165

26 years ago* sparc/sparc.h (ASM_SPEC): Delete asm_arch.
Doug Evans [Fri, 24 Oct 1997 19:39:08 +0000 (19:39 +0000)]
* sparc/sparc.h (ASM_SPEC): Delete asm_arch.

From-SVN: r16164

26 years ago(ASM_SPEC): Delete asm_arch.
Doug Evans [Fri, 24 Oct 1997 19:36:54 +0000 (19:36 +0000)]
(ASM_SPEC): Delete asm_arch.

From-SVN: r16163

26 years agoFxi typo in last change.
Jeff Law [Fri, 24 Oct 1997 19:34:58 +0000 (13:34 -0600)]
Fxi typo in last change.

From-SVN: r16162

26 years agomn10300.c (symbolic_operand, [...]): New functions.
Jeffrey A Law [Fri, 24 Oct 1997 19:18:29 +0000 (19:18 +0000)]
mn10300.c (symbolic_operand, [...]): New functions.

        * mn10300.c (symbolic_operand, legitimize_address): New functions.
        * mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
        (GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.

From-SVN: r16158

26 years ago* version.c: Bump for snapshot.
Jeffrey A Law [Thu, 23 Oct 1997 15:34:36 +0000 (15:34 +0000)]
* version.c: Bump for snapshot.

From-SVN: r16156

26 years agodbxout.c (dbxout_start_new_source_file): Use output_quoted_string for FILENAME.
J"orn Rennecke [Thu, 23 Oct 1997 12:11:19 +0000 (12:11 +0000)]
dbxout.c (dbxout_start_new_source_file): Use output_quoted_string for FILENAME.

* dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
for FILENAME.

From-SVN: r16155

26 years agopt.c (instantiate_decl): SET_DECL_IMPLICIT_INSTANTIATION on new decl.
Jason Merrill [Thu, 23 Oct 1997 09:55:55 +0000 (09:55 +0000)]
pt.c (instantiate_decl): SET_DECL_IMPLICIT_INSTANTIATION on new decl.

* pt.c (instantiate_decl): SET_DECL_IMPLICIT_INSTANTIATION on new decl.

Fixes libstdc++ failure.

From-SVN: r16153

26 years agotoplev.c (flag_exceptions): Default value is 2.
Jeffrey A Law [Thu, 23 Oct 1997 01:29:14 +0000 (01:29 +0000)]
toplev.c (flag_exceptions): Default value is 2.

        * toplev.c (flag_exceptions): Default value is 2.
        (compile_file): If flag_exceptions still has the value 2, then
        set it to 0.

        * lex.c (lang_init): Enable flag_exceptions by default if no
        command line switch was specified.
Gross hacks to allow front-ends to override -fexceptions.

From-SVN: r16152

26 years agolibio.h (_IO_LOCK_T): Handle glibc 2 when _IO_MTSAFE_IO is not defined.
H.J. Lu [Thu, 23 Oct 1997 01:17:58 +0000 (01:17 +0000)]
libio.h (_IO_LOCK_T): Handle glibc 2 when _IO_MTSAFE_IO is not defined.

        * libio.h (_IO_LOCK_T): Handle glibc 2 when _IO_MTSAFE_IO is
        not defined.

        * iovsscanf.c (vsscanf): Make it weak alias of _IO_vsscanf if
        __linux__ is defined instead of __ELF__

        * config/linuxlibc1.mt (USER_INCLUDES): Add libio.h.
OK'd by Ulrich.

From-SVN: r16151

26 years agomethod.c (build_template_parm_names, [...]): Add static to definitions.
Brendan Kehoe [Thu, 23 Oct 1997 00:00:20 +0000 (00:00 +0000)]
method.c (build_template_parm_names, [...]): Add static to definitions.

        * method.c (build_template_parm_names, build_decl_overload_real):
        Add static to definitions.
        * pt.c (add_to_template_args, note_template_header,
        processing_explicit_specialization, type_unification_real): Likewise.
        ({determine,check}_explicit_specialization): Use a single string for
        error messages.

fixes problems building with sunos4 system cc

From-SVN: r16150

26 years agors6000.c (struct machine_function): Add pic_offset_table_rtx.
Jeffrey A Law [Wed, 22 Oct 1997 21:10:49 +0000 (21:10 +0000)]
rs6000.c (struct machine_function): Add pic_offset_table_rtx.

        * rs6000.c (struct machine_function): Add pic_offset_table_rtx.
        (rs6000_save_machine_status): Save pic_offset_table_rtx.
        (rs6000_restore_machine_status: Restore pic_offset_table_rtx.

From-SVN: r16149

26 years agocom.c (ffecom_expr_): Take an new arg TREE_TYPE that if non-null specifies the type...
Richard Henderson [Wed, 22 Oct 1997 18:38:47 +0000 (11:38 -0700)]
com.c (ffecom_expr_): Take an new arg TREE_TYPE that if non-null specifies the type in which to do...

        * com.c (ffecom_expr_): Take an new arg TREE_TYPE that if non-null
        specifies the type in which to do the calculation.  Change all callers.
        [FFEBLD_opARRAYREF]: Force the index expr to use sizetype.

From-SVN: r16148

26 years agolocal-alloc.c (block_alloc): Don't lose if two SCRATCH expressions are shared.
Jeffrey A Law [Wed, 22 Oct 1997 15:58:33 +0000 (15:58 +0000)]
local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions are shared.

        * local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
        are shared.

From-SVN: r16147

26 years agors6000.md (*movsi_got_internal_mem): New pattern.
Jeffrey A Law [Wed, 22 Oct 1997 06:31:00 +0000 (06:31 +0000)]
rs6000.md (*movsi_got_internal_mem): New pattern.

        * rs6000.md (*movsi_got_internal_mem): New pattern.
        (*movsi_got_internal_mem splitter): New define_split.
Fixes some egcs bugs.

From-SVN: r16146

26 years agoAdd documentation for Haifa ISSUE_RATE
Michael Meissner [Wed, 22 Oct 1997 02:06:18 +0000 (02:06 +0000)]
Add documentation for Haifa ISSUE_RATE

From-SVN: r16145

26 years agoFix typo in last obstack.h change.
Jim Wilson [Wed, 22 Oct 1997 01:16:10 +0000 (01:16 +0000)]
Fix typo in last obstack.h change.

* obstack.h (obstack_empty_p): Fix spurious space after backslash.

From-SVN: r16144

26 years agomn10300.md (movqi, movhi): Avoid using address registers as destinations unless absol...
Jeffrey A Law [Wed, 22 Oct 1997 00:41:31 +0000 (00:41 +0000)]
mn10300.md (movqi, movhi): Avoid using address registers as destinations unless absolutely necessary.

        * mn10300.md (movqi, movhi): Avoid using address registers as
        destinations unless absolutely necessary.

From-SVN: r16141

26 years agors6000.c: Avoid creating a stack frame under SYSV ABI if we only need to save LR.
Geoff Keating [Wed, 22 Oct 1997 00:31:13 +0000 (18:31 -0600)]
rs6000.c: Avoid creating a stack frame under SYSV ABI if we only need to save LR.

        * rs6000.c: Avoid creating a stack frame under SYSV ABI if we
        only need to save LR.

From-SVN: r16140

26 years ago* mn10200.c (expand_prologue): Fix typo.
Jeffrey A Law [Tue, 21 Oct 1997 20:58:16 +0000 (20:58 +0000)]
* mn10200.c (expand_prologue): Fix typo.

From-SVN: r16139

26 years agomn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed addresses.
Jeff Law [Tue, 21 Oct 1997 19:55:51 +0000 (13:55 -0600)]
mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed addresses.

        * mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed
        addresses.
        * mn10200.md (neghi2): Provide an alternative which works if
        the input and output register are the same.

[[Split portion of a mixed commit.]]

From-SVN: r16137.2

26 years agomn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed addresses.
Jeff Law [Tue, 21 Oct 1997 19:52:12 +0000 (13:52 -0600)]
mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed addresses.

        * mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed
        addresses.
        * mn10200.md (neghi2): Provide an alternative which works if
        the input and output register are the same.

From-SVN: r16136

26 years agomn10300.c (print_operand): Handle 'S'.
Jeffrey A Law [Tue, 21 Oct 1997 19:10:24 +0000 (19:10 +0000)]
mn10300.c (print_operand): Handle 'S'.

        * mn10300.c (print_operand): Handle 'S'.
        * mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
        shift amount in last alternative

From-SVN: r16134

26 years agomn10300.c (expand_epilogue): Rework to handle register restores in "ret" and "retf...
Jeffrey A Law [Tue, 21 Oct 1997 16:04:57 +0000 (16:04 +0000)]
mn10300.c (expand_epilogue): Rework to handle register restores in "ret" and "retf" instructions correctly.

        * mn10300.c (expand_epilogue): Rework to handle register restores
        in "ret" and "retf" instructions correctly.

From-SVN: r16132

26 years agoPatches to fix minor optimizer bugs
Jim Wilson [Mon, 20 Oct 1997 23:49:48 +0000 (23:49 +0000)]
Patches to fix minor optimizer bugs

Patches to fix minor optimizer bugs
* expmed.c (extract_bit_field): Don't make flag_force_mem disable
extzv for memory operands.
* cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
redundant conditional moves to single operand.

From-SVN: r16129

26 years agoUpdate sparc docs.
Doug Evans [Mon, 20 Oct 1997 22:06:10 +0000 (22:06 +0000)]
Update sparc docs.

From-SVN: r16127

26 years agov850.h: Move define of __v850__ from CPP_PREDEFINES to CPP_SPEC.
Nick Clifton [Mon, 20 Oct 1997 21:33:53 +0000 (21:33 +0000)]
v850.h: Move define of __v850__ from CPP_PREDEFINES to CPP_SPEC.

        * v850.h: Move define of __v850__ from CPP_PREDEFINES
        to CPP_SPEC.

        * xm-v850.h: Use __v850 rather than __v850__ to
        identify v850 port.

From-SVN: r16126

26 years agoExpect SPARC_DEFAULT_CMODEL to be overridden in cover file.
Doug Evans [Mon, 20 Oct 1997 21:29:01 +0000 (21:29 +0000)]
Expect SPARC_DEFAULT_CMODEL to be overridden in cover file.

From-SVN: r16125

26 years agoUpdate copyright year.
Doug Evans [Mon, 20 Oct 1997 21:28:27 +0000 (21:28 +0000)]
Update copyright year.

From-SVN: r16124

26 years agoFix O32 -p bug reported by Ralf Baechle.
Jim Wilson [Mon, 20 Oct 1997 21:16:21 +0000 (21:16 +0000)]
Fix O32 -p bug reported by Ralf Baechle.

* mips/mips.c (compute_frame_size): Not a leaf function if
profile_flag set.

From-SVN: r16110

26 years agoLotsa sparc stuff.
Doug Evans [Mon, 20 Oct 1997 20:50:34 +0000 (20:50 +0000)]
Lotsa sparc stuff.

From-SVN: r16109

26 years agosparc.h (SPARC_V9,SPARC_ARCH64): Delete.
Doug Evans [Mon, 20 Oct 1997 20:49:22 +0000 (20:49 +0000)]
sparc.h (SPARC_V9,SPARC_ARCH64): Delete.

* sparc/sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
(DEFAULT_ARCH32_P): New macro.
(TARGET_ARCH{32,64}): Allow compile time or runtime selection.
(enum cmodel): Declare.
(sparc_cmodel_string,sparc_cmodel): Declare.
(SPARC_DEFAULT_CMODEL): Provide default.
(TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
(TARGET_FULLANY): Deleted.
(TARGET_CM_MEDMID): New macro.
(CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
(ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
(CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
(CPP_SPEC): Rewrite.
(CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
(CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
(ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
(ASM_SPEC): Add %(asm_arch).
(EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
Rename asm_default to asm_cpu_default.
Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
(NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
(MASK_INT64,MASK_LONG64): Delete.
(MASK_ARCH64): Renamed to MASK_64BIT.
(MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
(EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
(TARGET_SWITCHES): Always provide 64 bit options.
(ARCH64_SWITCHES): Delete.
(TARGET_OPTIONS): New option -mcmodel=.
(INT_TYPE_SIZE): Always 32.
(MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
(INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
(FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
(PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
* sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
CPP_SPEC.
(CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
* sparc/linux.h: Likewise.
* sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
(ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
(TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
(SPARC_DEFAULT_CMODEL): Define.
(CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
(CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
(LONG_DOUBLE_TYPE_SIZE): Define.
(ASM_SPEC): Add %(asm_arch).
* sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
(CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
(TARGET_CPU_DEFAULT): Add ultrasparc case.
* sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
(TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
(SPARC_DEFAULT_CMODEL): Define.
* sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
(TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.  Delete
MASK_LONG64, MASK_MEDANY.
(SPARC_DEFAULT_CMODEL): Define.
(CPP_PREDEFINES): Delete.
(CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
(ASM_SPEC): Add %(asm_arch).
(LONG_DOUBLE_TYPE_SIZE): Define.
(DWARF2_DEBUGGING_INFO): Define.
* sparc/splet.h (CPP_SPEC): Delete.
* sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
(FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
(BLOCK_PROFILER): Likewise.
* sparc/sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
(sparc_override_options): Handle code model selection.
(sparc_init_expanders): Renamed from sparc64_init_expanders.
* sparc/sparc.md: TARGET_<code_model> renamed to TARGET_CM_....
TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
(sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
(sethi_di_fullany): Delete.

From-SVN: r16108

26 years agot-ppccomm: Use -msdata=none for crtstuff.
Geoff Keating [Mon, 20 Oct 1997 20:13:24 +0000 (14:13 -0600)]
t-ppccomm: Use -msdata=none for crtstuff.

        * rs6000/t-ppccomm: Use -msdata=none for crtstuff.
Should fix ctor/dtor problems on ppc-linux.

From-SVN: r16107

26 years agoexcept.c (expand_exception_blocks): Call do_pending_stack_adust.
Jason Merrill [Mon, 20 Oct 1997 19:14:09 +0000 (19:14 +0000)]
except.c (expand_exception_blocks): Call do_pending_stack_adust.

* except.c (expand_exception_blocks): Call do_pending_stack_adust.
(expand_end_catch_block): Likewise.
(expand_end_eh_spec): Likewise.

From-SVN: r16106

26 years agodecl.c (duplicate_decls): Handle template specializations correctly.
Mark Mitchell [Mon, 20 Oct 1997 18:46:24 +0000 (18:46 +0000)]
decl.c (duplicate_decls): Handle template specializations correctly.

Mon Oct 20 11:44:20 1997  Mark Mitchell  <mmitchell@usa.net>

* decl.c (duplicate_decls): Handle template specializations
correctly.
* error.c (dump_function_name): Fix printing of specializations of
member functions that are not member templates.
* cp-tree.h (processing_specialization): Make global.
* pt.c (processing_specialization): Likewise.
* lex.c (cons_up_default_function): Save and restore
processing_specialization to avoid confusion.

From-SVN: r16101

26 years agodecl.c (init_decl_processing): Give null_node unknown* type.
Jason Merrill [Mon, 20 Oct 1997 18:09:06 +0000 (18:09 +0000)]
decl.c (init_decl_processing): Give null_node unknown* type.

* decl.c (init_decl_processing): Give null_node unknown* type.
* typeck.c (comp_target_types): Handle UNKNOWN_TYPE.
(common_type): Likewise.
* error.c (args_as_string): Recognize null_node.

From-SVN: r16100

26 years agovms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.
Klaus Kaempf [Mon, 20 Oct 1997 15:50:29 +0000 (15:50 +0000)]
vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.

        * alpha/vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.
        (DIVDI3_LIBCALL, UDIVSI3_LIBCALL, UDIVDI3_LIBVALL): Likewise.
        (MODSI3_LIBCALL, MODDI3_LIBCALL): Likewise.
        (UMODSI3_LIBCALL, UMODDI3_LIBCALL): Likewise.
        * alpha/alpha.md (arg_home): Likewise.

Co-Authored-By: Jeffrey A Law <law@cygnus.com>
Co-Authored-By: Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
From-SVN: r16099

26 years agoalpha.c (output_prolog, VMS): Use alloca for entry_label and don't truncate to 64...
Klaus Kaempf [Mon, 20 Oct 1997 08:29:55 +0000 (08:29 +0000)]
alpha.c (output_prolog, VMS): Use alloca for entry_label and don't truncate to 64 characters.

        * alpha.c (output_prolog, VMS): Use alloca for entry_label and don't
        truncate to 64 characters.

vmskrunch changes need this.

Co-Authored-By: Jeffrey A Law <law@cygnus.com>
Co-Authored-By: Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
From-SVN: r16098

26 years agoalpha.c (vmskrunch): Delete
Jeff Law [Mon, 20 Oct 1997 08:11:49 +0000 (02:11 -0600)]
alpha.c (vmskrunch): Delete

        * alpha/alpha.c (vmskrunch): Delete
        * alpha/vms.h (ENCODE_SECTION_INFO, ASM_DECLARE_FUNCTION_NAME): Delete.

        * make-l2.com: Support openVMS/Alpha.

        * vmsconfig.com: Fix to work on openVMS/Alpha and openVMS/VAX.

Some patches from Klaus.

From-SVN: r16097

26 years ago* longlong.h (count_leading_zeros): Add missing casts to USItype.
J"orn Rennecke [Mon, 20 Oct 1997 00:56:45 +0000 (00:56 +0000)]
* longlong.h (count_leading_zeros): Add missing casts to USItype.

From-SVN: r16096

26 years ago* i386/bsd386.h (ASM_COMMENT_START): Define.
Jeffrey A Law [Mon, 20 Oct 1997 00:40:44 +0000 (00:40 +0000)]
* i386/bsd386.h (ASM_COMMENT_START): Define.

From-SVN: r16095

26 years agoUndo cvs entry 1.4 "Reorg sethi_{hi,si} patterns." and add comment why.
Doug Evans [Sun, 19 Oct 1997 16:46:47 +0000 (16:46 +0000)]
Undo cvs entry 1.4 "Reorg sethi_{hi,si} patterns." and add comment why.

From-SVN: r16080

26 years agoInitial revision
Jeff Law [Sun, 19 Oct 1997 16:29:32 +0000 (10:29 -0600)]
Initial revision

From-SVN: r16070

26 years agotree.c (restore_tree_status): Also free up temporary storage when we finish a topleve...
Jason Merrill [Sat, 18 Oct 1997 21:10:32 +0000 (21:10 +0000)]
tree.c (restore_tree_status): Also free up temporary storage when we finish a toplevel function.

* tree.c (restore_tree_status): Also free up temporary storage
when we finish a toplevel function.
(dump_tree_statistics): Print stats for backend obstacks.

* libgcc2.c (__throw): Don't copy the return address.
* dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address.

* except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized).
* toplev.c (main): Initialize exceptions_via_longjmp.

* tree.c: Add extra_inline_obstacks.
(save_tree_status): Use it.
(restore_tree_status): If this is a toplevel inline obstack and we
didn't want to save anything on it, recycle it.
(print_inline_obstack_statistics): New fn.
* function.c (pop_function_context_from): Pass context to
restore_tree_status.
* obstack.h (obstack_empty_p): New macro.

From-SVN: r16050

26 years ago* expr.c (use_group_regs): Don't call use_reg for MEMs.
Doug Evans [Sat, 18 Oct 1997 19:48:25 +0000 (19:48 +0000)]
* expr.c (use_group_regs): Don't call use_reg for MEMs.

From-SVN: r16046

26 years ago* i386/freebsd.h (ASM_COMMENT_START): Fix.
Jeffrey A Law [Sat, 18 Oct 1997 06:52:58 +0000 (06:52 +0000)]
* i386/freebsd.h (ASM_COMMENT_START): Fix.

From-SVN: r15993

26 years agov850.c (ep_memory_offset): New function.
Jim Wilson [Sat, 18 Oct 1997 05:46:19 +0000 (05:46 +0000)]
v850.c (ep_memory_offset): New function.

        * v850.c (ep_memory_offset): New function.
        (ep_memory_operand, substitute_ep_register, v850_reorg): Call it.

        * v850.h (CONST_OK_FOR_*): Add and correct comments.
        (CONSTANT_ADDRESS_P): Add comment.
        (EXTRA_CONSTRAINT): Define 'U'.
        * v850.md: Add comments on bit field instructions.
        (addsi3): Delete &r/r/r alternative.  Add r/r/U alternative.
        (lshrsi3): Use N not J constraint.

        * v850.md (v850_tst1+1): New define_split for tst1 instruction.

        * v850.c (reg_or_0_operand): Call register_operand.
        (reg_or_int5_operand): Likewise.
        * v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros.
        (TARGET_SWITCHES): Add "big-switch".
        (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE,
        ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH.
        (CASE_DROPS_THROUGH): Comment out.
        (CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define.
        * v850.md (cmpsi): Delete compare mode.
        (casesi): New pattern.

        * v850.h (CONST_OK_FOR_N): Delete redundant compare against zero.
        * v850.md (ashlsi3): Use SImode not QImode for shift count.
        (lshrsi3): Likewise.

        * v850.c (print_operand): Add 'c', 'C', and 'z' support.  Delete
        unreachable switch statement after 'b' support.  Remove "b" from
        strings for 'b' support.
        * v850.md (branch_normal, branch_invert): Change %b to b%b.

v850 patches from Jim.

From-SVN: r15992