David Edelsohn [Wed, 28 Oct 1998 19:18:09 +0000 (19:18 +0000)]
collect2.c (aix64_flag): New variable.
* collect2.c (aix64_flag): New variable.
(main, case 'b'): Parse it.
(GCC_CHECK_HDR): object magic number must match mode.
(scan_prog_file): Only check for shared object if valid header.
Print debugging if header/mode mismatch.
* README.RS6000: Update.
Jason Merrill [Tue, 27 Oct 1998 00:05:30 +0000 (00:05 +0000)]
expr.c (pending_chain): Move up.
* expr.c (pending_chain): Move up.
(save_expr_status): Do save pending_chain.
(restore_expr_status): And restore it.
* function.h (struct function): Add pending_chain.
Jason Merrill [Sun, 25 Oct 1998 17:35:47 +0000 (12:35 -0500)]
parse.y (condition): Convert VAR_DECL from reference to indirect reference.
* parse.y (condition): Convert VAR_DECL from reference to indirect
reference.
* decl2.c (validate_nonmember_using_decl): Fix using-directives of
std if std is ignored.
* method.c (build_decl_overload_real): Clear
numeric_output_need_bar after __.
* decl.c (cp_finish_decl): Make statics in extern inlines and
templates common, if possible and the target doesn't support weak
symbols.
* decl2.c (merge_functions): Remove duplicates.
* typeck.c (build_conditional_expr): Only fold if ifexp is an
INTEGER_CST.
Jason Merrill [Sun, 25 Oct 1998 16:52:48 +0000 (16:52 +0000)]
tinfo2.cc (fast_compare): Remove.
* tinfo2.cc (fast_compare): Remove.
(before): Just use strcmp.
* tinfo.cc (operator==): Just use strcmp.
* inc/typeinfo: Add #pragma interface.
(operator!=): Just call operator==.
* tinfo.cc: Add #pragma implementation.
(operator==): Move from inc/typeinfo and tinfo2.cc.
Jeffrey A Law [Fri, 23 Oct 1998 21:41:12 +0000 (21:41 +0000)]
m68k.md (5200 movqi): Do not allow byte sized memory references using address regs.
* m68k.md (5200 movqi): Do not allow byte sized memory references
using address regs.
* m68k.c (output_move_qimode): Do not use byte sized operations on
address registers.
Geoff Keating [Fri, 2 Oct 1998 00:26:21 +0000 (00:26 +0000)]
gcse.c: New definition NEVER_SET for reg_first_set...
* gcse.c: New definition NEVER_SET for reg_first_set, reg_last_set,
mem_first_set, mem_last_set; because 0 can be a CUID.
(oprs_unchanged_p): Use new definition.
(record_last_reg_set_info): Likewise.
(record_last_mem_set_info): Likewise.
(compute_hash_table): Likewise.
arm.c (add_constant): New parameter address_only, change caller.
* arm.c (add_constant): New parameter address_only, change caller.
Set it non-zero if taking the address of an item in the pool.
(arm_reorg): Handle cases where we need the address of an item in
the pool.
* arm.c (bad_signed_byte_operand): Check both arms of a sum in
a memory address.
* arm.md (splits for *extendqihi_insn and *extendqisi_insn): Handle
memory addresses that are not in standard canonical form.
Dave Love [Wed, 30 Sep 1998 02:59:33 +0000 (02:59 +0000)]
open.c: Back out part of last Netlib update affecting scratch files which clashed with...
1998-09-28 Dave Love <d.love@dl.ac.uk>
* libI77/open.c: Back out part of last Netlib update affecting
scratch files which clashed with the g77 variations and broke
implicit endfile on rewind.
David S. Miller [Sat, 29 Aug 1998 21:14:50 +0000 (21:14 +0000)]
sparc.md (movdf_insn, movtf_insn): Fix type and length attributes to match May 3rd changes made here.
* config/sparc/sparc.md (movdf_insn, movtf_insn): Fix type and
length attributes to match May 3rd changes made here.
* config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Fix and make
call-used %l7 when generating pic code.
Jeffrey A Law [Sat, 29 Aug 1998 13:53:27 +0000 (13:53 +0000)]
m68k.md (beq0_di): Generate correct (and more efficient) code when...
* m68k.md (beq0_di): Generate correct (and more efficient) code when
the clobbered operand overlaps with an input.
(bne0_di): Similarly.
Fixes bug from m68k-netbsd folks.
Jeffrey A Law [Thu, 27 Aug 1998 22:48:14 +0000 (22:48 +0000)]
reload1.c (forget_old_reloads_1): Keep track of the largest mode found while stripping SUBREGS and invalidate...
* reload1.c (forget_old_reloads_1): Keep track of the largest mode
found while stripping SUBREGS and invalidate reloads for all the hard
regs specified by that largest mode. egcs-1.1 only hack. The
mainline tree will get a better fix.
Jeff Law [Tue, 25 Aug 1998 18:48:21 +0000 (12:48 -0600)]
reorg.c (fill_simple_delay_slots): Do not abort if we encounter an insn on the unfilled_slots_list that has no...
* reorg.c (fill_simple_delay_slots): Do not abort if we encounter
an insn on the unfilled_slots_list that has no delay slots.
(fill_eager_delay_slots): Similarly.
Fixes PA abort.
* rs6000.h (GO_IF_LEGITIMATE_ADDRESS): Use TARGET_POWERPC64
when testing LEGITIMATE_INDEXED_ADDRESS_P DFmode and DImode.
(LEGITIMIZE_ADDRESS): Use TARGET_POWERPC64 for INDEXED fixup.
* rs6000.c (print_operand, case 'L'): Add UNITS_PER_WORD, not 4.
(print_operand, cases 'O' and 'T'): Fix typos in lossage strings.
* rs6000.md (fix_truncdfsi2_store): Remove %w from non-CONST_INT
operand.
(movdf_softfloat32, movdf_hardfloat64, movdf_softfloat64): Change
'o' to 'm' for GPR variant constraints.
* rs6000.md (movqi, movhi): Add CONSTANT_P_RTX.
Various rs6000/ppc fixes from the mainline tree.
David Edelsohn [Wed, 19 Aug 1998 23:44:53 +0000 (17:44 -0600)]
rs6000.c (rs6000_output_load_toc_table): Use ld for 64-bit.
�
* rs6000.c (rs6000_output_load_toc_table): Use ld for 64-bit.
(output_toc): Use single TOC slot or llong minimal-toc for DFmode
and DImode 64-bit. Use llong for minimal-toc SFmode and
SYMBOL_REF / LABEL_REF 64-bit.
(output_function_profiler): Use llong for profiler label and ld to
load 64-bit label address.
David Edelsohn [Wed, 19 Aug 1998 23:44:50 +0000 (17:44 -0600)]
rs6000.c (rs6000_output_load_toc_table): Use ld for 64-bit.
* rs6000.c (rs6000_output_load_toc_table): Use ld for 64-bit.
(output_toc): Use single TOC slot or llong minimal-toc for DFmode
and DImode 64-bit. Use llong for minimal-toc SFmode and
SYMBOL_REF / LABEL_REF 64-bit.
(output_function_profiler): Use llong for profiler label and ld to
load 64-bit label address.