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
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
Jeff Law [Fri, 24 Oct 1997 19:56:45 +0000 (13:56 -0600)]
Another goof in last change.
From-SVN: r16165
Doug Evans [Fri, 24 Oct 1997 19:39:08 +0000 (19:39 +0000)]
* sparc/sparc.h (ASM_SPEC): Delete asm_arch.
From-SVN: r16164
Doug Evans [Fri, 24 Oct 1997 19:36:54 +0000 (19:36 +0000)]
(ASM_SPEC): Delete asm_arch.
From-SVN: r16163
Jeff Law [Fri, 24 Oct 1997 19:34:58 +0000 (13:34 -0600)]
Fxi typo in last change.
From-SVN: r16162
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
Jeffrey A Law [Thu, 23 Oct 1997 15:34:36 +0000 (15:34 +0000)]
* version.c: Bump for snapshot.
From-SVN: r16156
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
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
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
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
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
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
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
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
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
Michael Meissner [Wed, 22 Oct 1997 02:06:18 +0000 (02:06 +0000)]
Add documentation for Haifa ISSUE_RATE
From-SVN: r16145
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
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
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
Jeffrey A Law [Tue, 21 Oct 1997 20:58:16 +0000 (20:58 +0000)]
* mn10200.c (expand_prologue): Fix typo.
From-SVN: r16139
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
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
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
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
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
Doug Evans [Mon, 20 Oct 1997 22:06:10 +0000 (22:06 +0000)]
Update sparc docs.
From-SVN: r16127
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
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
Doug Evans [Mon, 20 Oct 1997 21:28:27 +0000 (21:28 +0000)]
Update copyright year.
From-SVN: r16124
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
Doug Evans [Mon, 20 Oct 1997 20:50:34 +0000 (20:50 +0000)]
Lotsa sparc stuff.
From-SVN: r16109
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
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
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
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
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
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
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
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
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
Jeffrey A Law [Mon, 20 Oct 1997 00:40:44 +0000 (00:40 +0000)]
* i386/bsd386.h (ASM_COMMENT_START): Define.
From-SVN: r16095
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
Jeff Law [Sun, 19 Oct 1997 16:29:32 +0000 (10:29 -0600)]
Initial revision
From-SVN: r16070
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
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
Jeffrey A Law [Sat, 18 Oct 1997 06:52:58 +0000 (06:52 +0000)]
* i386/freebsd.h (ASM_COMMENT_START): Fix.
From-SVN: r15993
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
Jeffrey A Law [Sat, 18 Oct 1997 05:31:26 +0000 (05:31 +0000)]
Makefile.in (LIBGCC2_CFLAGS): Avoid a backslash then an empty line if @inhibit_libc@ is empty.
* Makefile.in (LIBGCC2_CFLAGS): Avoid a backslash then an
empty line if @inhibit_libc@ is empty.
From-SVN: r15991
Robert Lipe [Sat, 18 Oct 1997 05:21:23 +0000 (05:21 +0000)]
sco5.h: Let ELF use dwarf2 unwinding.
* i386/sco5.h: Let ELF use dwarf2 unwinding. COFF uses sjlj.
(EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Defined.
(EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
(DWARF2_UNWIND_INFO): Let this track object file format.
(EXTRA_SECTIONS): Add in_eh.
(EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Define.
(EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
From-SVN: r15990
Jason Merrill [Sat, 18 Oct 1997 02:09:13 +0000 (02:09 +0000)]
* tree.h, vector.h: Fix accidental divergence from SGI release.
From-SVN: r15989
Doug Evans [Fri, 17 Oct 1997 23:26:02 +0000 (23:26 +0000)]
* ginclude/va-sparc.h: Rewrite v9 support.
From-SVN: r15987
Doug Evans [Fri, 17 Oct 1997 23:25:26 +0000 (23:25 +0000)]
Rewrite v9 support.
From-SVN: r15986
Doug Evans [Fri, 17 Oct 1997 23:21:12 +0000 (23:21 +0000)]
(output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
fmovd so it works if a quad float ends up in one of the upper 32
float regs.
From-SVN: r15985
Doug Evans [Fri, 17 Oct 1997 23:20:03 +0000 (23:20 +0000)]
sparc.c (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD...
* sparc.c (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
fmovd so it works if a quad float ends up in one of the upper 32
float regs.
From-SVN: r15984
David S. Miller [Fri, 17 Oct 1997 23:01:29 +0000 (23:01 +0000)]
sparc.md (pic_{lo_sum,sethi}_di): New patterns necessary for PIC support on sparc64.
* sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns
necessary for PIC support on sparc64.
From-SVN: r15982
Doug Evans [Fri, 17 Oct 1997 22:45:15 +0000 (22:45 +0000)]
Reorg sethi_{hi,si} patterns.
From-SVN: r15979
Jeff Law [Fri, 17 Oct 1997 22:16:29 +0000 (16:16 -0600)]
Add some stuff.
From-SVN: r15978
Doug Evans [Fri, 17 Oct 1997 21:59:06 +0000 (21:59 +0000)]
sparc.c (output_double_int): Output DI mode values correctly when HOST_BITS_PER_WIDE_INT is 64.
* sparc/sparc.c (output_double_int): Output DI mode values
correctly when HOST_BITS_PER_WIDE_INT is 64.
From-SVN: r15977
David S. Miller [Fri, 17 Oct 1997 21:35:20 +0000 (21:35 +0000)]
sparc.h (FUNCTION_PROFILER): Fix format string when TARGET_MEDANY.
* sparc/sparc.h (FUNCTION_PROFILER): Fix format string when
TARGET_MEDANY.
From-SVN: r15974
David S. Miller [Fri, 17 Oct 1997 21:21:12 +0000 (21:21 +0000)]
* sparc/sparc.c (dwarf2out_cfi_label): Extern no longer needed.
From-SVN: r15972
David S. Miller [Fri, 17 Oct 1997 21:16:36 +0000 (21:16 +0000)]
* sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
From-SVN: r15971
Doug Evans [Fri, 17 Oct 1997 20:41:17 +0000 (20:41 +0000)]
First pass at updating to current sparc v9 abi.
From-SVN: r15969
Doug Evans [Fri, 17 Oct 1997 20:39:37 +0000 (20:39 +0000)]
sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
* sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
* sparc/sparc.h (PROMOTE_MODE): Promote small ints if arch64.
(PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
(SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
(SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
(SPARC_FP_ARG_FIRST): New macro.
(CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
(REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
(NPARM_REGS): There are 32 fp argument registers now.
(FUNCTION_ARG_REGNO_P): Likewise.
(FIRST_PARM_OFFSET): Update to new v9 abi.
(REG_PARM_STACK_SPACE): Define for arch64.
(enum sparc_arg_class): Delete.
(sparc_arg_count,sparc_n_named_args): Delete.
(struct sparc_args): Redefine and use for arch32 as well as arch64.
(GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
(FUNCTION_ARG_ADVANCE): Rewrite.
(FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
(FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
(FUNCTION_ARG_CALLEE_COPIES): Delete.
(FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
(STRICT_ARGUMENT_NAMING): Define.
(doublemove_string): Declare.
* sparc/sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
(single_move_string): Use GEN_INT, and HOST_WIDE_INT.
(doublemove_string): New function.
(output_move_quad): Clean up some of the arch64 support.
(compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
Don't add 8 bytes of reserved space if arch64.
(sparc_builtin_saveregs): Combine arch32/arch64 versions.
(init_cumulative_args): New function.
(function_arg_slotno): New static function.
(function_arg,function_arg_partial_nregs): New functions.
(function_arg_{pass_by_reference,advance}): New functions.
(function_arg_padding): New function.
First pass at updating to current v9 abi.
From-SVN: r15968
Jeff Law [Fri, 17 Oct 1997 15:54:01 +0000 (09:54 -0600)]
Fix from Joern.
From-SVN: r15955
Christian Iseli [Fri, 17 Oct 1997 15:46:57 +0000 (17:46 +0200)]
regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P for hard regs to determine base and index...
* regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P
for hard regs to determine base and index registers.
From-SVN: r15954
Christian Iseli [Fri, 17 Oct 1997 15:40:52 +0000 (17:40 +0200)]
reload.c (debug_reload_to_stream): New function.
* reload.c (debug_reload_to_stream): New function. Specify stream
into which to write debug info.
(debug_reload): Modify to call debug_reload_to_stream with stderr.
Thanks. Installed.
From-SVN: r15953
Richard Henderson [Thu, 16 Oct 1997 22:06:43 +0000 (15:06 -0700)]
combine.c (can_combine_p): Don't combine with an asm whose output is a hard register.
* combine.c (can_combine_p): Don't combine with an asm whose
output is a hard register.
From-SVN: r15940
Mike Stump [Thu, 16 Oct 1997 21:45:24 +0000 (21:45 +0000)]
c-decl.c (start_struct): Ensure that structs with forward declarations are in fact packed when...
* c-decl.c (start_struct): Ensure that structs with forward
declarations are in fact packed when -fpack-struct is given.
* stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
we are packing a structure. This allows a structure with only
bytes to be aligned on a byte boundary and have no padding on a
m68k.
From-SVN: r15939
Judy Goldberg [Thu, 16 Oct 1997 21:33:36 +0000 (21:33 +0000)]
pt.c (determine_explicit_specialization): Initialize "dummy" to keep Purify quiet.
* pt.c (determine_explicit_specialization): Initialize "dummy"
to keep Purify quiet.
From-SVN: r15938
Richard Kenner [Thu, 16 Oct 1997 21:16:09 +0000 (21:16 +0000)]
rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
* rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
Bring over from gcc2.
From-SVN: r15937
Richard Henderson [Thu, 16 Oct 1997 18:37:59 +0000 (11:37 -0700)]
alpha.c (alpha_return_addr_rtx): New variable.
* alpha.c (alpha_return_addr_rtx): New variable.
(alpha_save_machine_status): New; save it.
(alpha_restore_machine_status): New; restore it.
(alpha_init_expanders): New; clear it.
(alpha_return_addr): New; set it.
(alpha_ra_ever_killed): New; if alpha_return_addr_rtx, regs_ever_live
is overly conservative, so search the insns explicitly.
(alpha_sa_mask [VMS]): Check alpha_ra_ever_killed.
(alpha_sa_size [VMS && !VMS]): Likewise.
* alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
(INIT_EXPANDERS): New definition.
* alpha.c: Move REG_PV, REG_RA somewhere more visible in the file.
(output_prolog [!VMS]): Use them.
* alpha.c (output_prolog [!VMS]): Move gp detection to ...
(alpha_does_function_need_gp): ... a new function. Refine the
CALL_INSN test to just TYPE_JSR.
* alpha.md (most call insns): Fix some jsr/ibr type transpositions.
From-SVN: r15936
Jeffrey A Law [Thu, 16 Oct 1997 15:39:00 +0000 (15:39 +0000)]
* version.c: Bump for snapshot.
From-SVN: r15932
Jeff Law [Thu, 16 Oct 1997 15:30:26 +0000 (09:30 -0600)]
configure.in: Create compatibility code in bits/libc-lock.h file.
* configure.in: Create compatibility code in bits/libc-lock.h file.
* libio.h (_IO_LOCK_T): Handle glibc 2 when _IO_MTSAFE_IO is
not defined.
* filedoalloc.c (_IO_file_doallocate): Don't call
_IO_cleanup_registration_needed if __linux__ is defined.
* iofclose.c (fclose): Make it weak alias of _IO_fclose if
__ELF__ is defined.
* iovsprintf.c (vsprintf): Make it weak alias of _IO_vsprintf
if __ELF__ is defined.
* iovsscanf.c (vsscanf): Make it weak alias of _IO_vsscanf if
__ELF__ is defined.
* config/linuxlibc1.mt (MT_CFLAGS): Defined as -D_G_HAVE_MMAP.
(IO_OBJECTS): Add filedoalloc.o fileops.o genops.o iofclose.o
iovsprintf.o iovsscanf.o strops.o.
From-SVN: r15931
Paul Koning [Thu, 16 Oct 1997 08:02:09 +0000 (08:02 +0000)]
Make-lang.in (stmp-f2c.h): Don't configure the runtime directory if LANGUAGES does not include f77.
* Make-lang.in (stmp-f2c.h): Don't configure the runtime
directory if LANGUAGES does not include f77.
From-SVN: r15930
Ian Lance Taylor [Thu, 16 Oct 1997 07:39:03 +0000 (07:39 +0000)]
asprintf.c: Consistently use either stdarg or varargs.
* asprintf.c: Consistently use either stdarg or varargs.
Bring over from devo.
From-SVN: r15929
Jason Merrill [Thu, 16 Oct 1997 07:20:46 +0000 (03:20 -0400)]
method.c (build_overload_value): Handle TEMPLATE_CONST_PARMs here.
* method.c (build_overload_value): Handle TEMPLATE_CONST_PARMs here.
(build_overload_int): Not here.
Wed Oct 15 00:35:28 1997 Mike Stump <mrs@wrs.com>
* class.c (build_type_pathname): Remove.
(prepare_fresh_vtable): Fix problem with complex MI vtable names.
From-SVN: r15928
Richard Kenner [Thu, 16 Oct 1997 03:37:28 +0000 (03:37 +0000)]
pa.c (move_operand): Respect -mdisable-indexing.
* pa.c (move_operand): Respect -mdisable-indexing.
* pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
Bring over from gcc2. Fixes ada -O2 bootstrap.
From-SVN: r15927
David Edelsohn [Thu, 16 Oct 1997 01:37:11 +0000 (01:37 +0000)]
Add patch from Edelsohn
From-SVN: r15918
Richard Henderson [Thu, 16 Oct 1997 01:23:23 +0000 (18:23 -0700)]
alpha.c (final_prescan_insn): Gut, remove and transform to ...
* alpha.c (final_prescan_insn): Gut, remove and transform to ...
(alpha_handle_trap_shadows): ... a new function. Handle the entire
function in one go. Emit RTL for trapb, instead of printf directly.
(alpha_reorg): New function. Call alpha_handle_trap_shadows.
(trap_pending): Kill global variable.
(output_epilog): Don't call final_prescan_insn.
(struct shadow_summary): Elide $31 and $f31; now it fits in a word.
* alpha.h (FINAL_PRESCAN_INSN): Remove.
(MACHINE_DEPENENT_REORG): Define.
* alpha.md (jsr patterns with trapb): Stupid and useless. Kill.
(trapb): New insn.
From-SVN: r15917
Richard Henderson [Thu, 16 Oct 1997 01:16:42 +0000 (18:16 -0700)]
alpha.h (ISSUE_RATE): Define.
* alpha.h (ISSUE_RATE): Define.
* alpha.c (alpha_adjust_cost): Handle EV5 mult delay; don't apply
EV4 adjustments to EV5.
* alpha.md: Remove all scaling from function unit delays. Rework
EV5 function units to match the CPU.
(umuldi3_highpart): EV5 added the IMULH insn class.
From-SVN: r15916
Richard Henderson [Wed, 15 Oct 1997 23:47:47 +0000 (17:47 -0600)]
Forgot to commit last night.
From-SVN: r15915
Jeffrey A Law [Wed, 15 Oct 1997 23:41:10 +0000 (23:41 +0000)]
pa.c (following_call): Fail if the CALL_INSN is an indirect call.
* pa.c (following_call): Fail if the CALL_INSN is an indirect
call.
Brought over from devo.
From-SVN: r15914
Jason Merrill [Wed, 15 Oct 1997 17:19:40 +0000 (13:19 -0400)]
restore dwarf2 prototypes
From-SVN: r15912
Richard Henderson [Wed, 15 Oct 1997 16:02:53 +0000 (10:02 -0600)]
signal_.c (G77_signal_0): Make return type sig_pf as well.
* libF77/signal_.c (G77_signal_0): Make return type sig_pf as well.
* libI77/fio.h: Include <string.h> if STDC_HEADERS.
* libU77/chmod_.c: Likewise.
From-SVN: r15911
Richard Henderson [Wed, 15 Oct 1997 15:49:40 +0000 (08:49 -0700)]
man.c (find_man_formatter): Don't cast getenv(), but provide a minimal declaration at top level.
* info/man.c (find_man_formatter): Don't cast getenv(), but provide
a minimal declaration at top level.
* makeinfo/makeinfo.c: Don't redefine alloca if it is already defined.
From-SVN: r15910
Jeff Law [Wed, 15 Oct 1997 15:44:05 +0000 (09:44 -0600)]
Remove code accidentally added twice.
From-SVN: r15909
Jeff Law [Wed, 15 Oct 1997 04:26:58 +0000 (22:26 -0600)]
No .Sanitize files in egcs.
From-SVN: r15908
Brendan Kehoe [Wed, 15 Oct 1997 01:26:06 +0000 (01:26 +0000)]
parse.y (unary_expr): Give a pedwarn if someone tries to use the &&label GNU extension.
* parse.y (unary_expr): Give a pedwarn if someone tries to use the
&&label GNU extension.
From-SVN: r15907
Brendan Kehoe [Tue, 14 Oct 1997 20:45:22 +0000 (16:45 -0400)]
fix two typos
From-SVN: r15906
Jason Merrill [Tue, 14 Oct 1997 19:19:35 +0000 (15:19 -0400)]
regen
From-SVN: r15905
Mark Mitchell [Tue, 14 Oct 1997 19:12:56 +0000 (19:12 +0000)]
decl.c (pushtag): Unset DECL_ASSEMBLER_NAME before setting it, so as to avoid incorrect manglings.
Tue Oct 14 12:01:00 1997 Mark Mitchell <mmitchell@usa.net>
* decl.c (pushtag): Unset DECL_ASSEMBLER_NAME before setting it,
so as to avoid incorrect manglings.
* method.c (build_decl_overload_real): Don't mangle return types
for constructors.
From-SVN: r15904
Mark Mitchell [Tue, 14 Oct 1997 19:12:27 +0000 (19:12 +0000)]
cplus-dem.c (demangle_signature): Don't look for return types on constructors.
* cplus-dem.c (demangle_signature): Don't look for return types on
constructors. Handle member template constructors.
From-SVN: r15903
Jason Merrill [Tue, 14 Oct 1997 19:11:36 +0000 (15:11 -0400)]
and these
From-SVN: r15902
Jason Merrill [Tue, 14 Oct 1997 19:10:45 +0000 (15:10 -0400)]
cplus-dem.c (demangle_signature): Don't look for return types on constructors.
Tue Oct 14 12:01:00 1997 Mark Mitchell <mmitchell@usa.net>
* cplus-dem.c (demangle_signature): Don't look for return types on
constructors. Handle member template constructors.
and update from devo.
From-SVN: r15901
Jason Merrill [Tue, 14 Oct 1997 18:59:03 +0000 (14:59 -0400)]
cp-tree.h (scratchalloc, [...]): Define as macros for now.
* cp-tree.h (scratchalloc, build_scratch_list, make_scratch_vec,
scratch_tree_cons): Define as macros for now.
* call.c, class.c, cvt.c, decl.c, decl2.c, except.c, expr.c, init.c,
lex.c, method.c, parse.y, pt.c, rtti.c, search.c, tree.c, typeck.c,
typeck2.c: Use them and the expression_obstack variants.
From-SVN: r15900
Jason Merrill [Tue, 14 Oct 1997 18:52:33 +0000 (18:52 +0000)]
tree.h: Declare them.
* tree.h: Declare them.
Oop.
From-SVN: r15899
Jason Merrill [Tue, 14 Oct 1997 18:43:16 +0000 (18:43 +0000)]
* tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
From-SVN: r15898
Benjamin Kosnik [Tue, 14 Oct 1997 18:41:30 +0000 (18:41 +0000)]
Bring over test cases
From-SVN: r15897