H.J. Lu
1181d2d553
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
1997-10-22 19:17:58 -06:00
Brendan Kehoe
4966381af5
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
1997-10-22 20:00:20 -04:00
Jeffrey A Law
a04232e5ff
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
1997-10-22 15:10:49 -06:00
Richard Henderson
83ffecd201
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
1997-10-22 11:38:47 -07:00
Jeffrey A Law
0bd83abd44
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
1997-10-22 09:58:33 -06:00
Jeffrey A Law
b22b9b3ef2
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
1997-10-22 00:31:00 -06:00
Michael Meissner
70cfa7adbd
Add documentation for Haifa ISSUE_RATE
...
From-SVN: r16145
1997-10-22 02:06:18 +00:00
Jim Wilson
c1e385dbd1
Fix typo in last obstack.h change.
...
* obstack.h (obstack_empty_p): Fix spurious space after backslash.
From-SVN: r16144
1997-10-21 18:16:10 -07:00
Jeffrey A Law
c6ee9150da
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
1997-10-21 18:41:31 -06:00
Geoff Keating
1a98615242
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
1997-10-21 18:31:13 -06:00
Jeffrey A Law
d5255ba2cb
* mn10200.c (expand_prologue): Fix typo.
...
From-SVN: r16139
1997-10-21 14:58:16 -06:00
Jeff Law
9d2128b88e
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
1997-10-21 13:55:51 -06:00
Jeff Law
e92f9bcf4d
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
1997-10-21 13:52:12 -06:00
Jeffrey A Law
576e5accbd
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
1997-10-21 13:10:24 -06:00
Jeffrey A Law
5d29a95f92
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
1997-10-21 10:04:57 -06:00
Jim Wilson
3bf1b08254
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
1997-10-20 16:49:48 -07:00
Doug Evans
ded17aad24
Update sparc docs.
...
From-SVN: r16127
1997-10-20 22:06:10 +00:00
Nick Clifton
ddbd8d3619
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
1997-10-20 15:33:53 -06:00
Doug Evans
617b50b641
Expect SPARC_DEFAULT_CMODEL to be overridden in cover file.
...
From-SVN: r16125
1997-10-20 21:29:01 +00:00
Doug Evans
202fd1d57e
Update copyright year.
...
From-SVN: r16124
1997-10-20 21:28:27 +00:00
Jim Wilson
a944a4ebfd
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
1997-10-20 14:16:21 -07:00
Doug Evans
f0a9fa6c6a
Lotsa sparc stuff.
...
From-SVN: r16109
1997-10-20 20:50:34 +00:00
Doug Evans
a0a301fc97
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
1997-10-20 20:49:22 +00:00
Geoff Keating
2d5b6dea25
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
1997-10-20 14:13:24 -06:00
Jason Merrill
92b968383e
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
1997-10-20 15:14:09 -04:00
Mark Mitchell
92eca6404c
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
1997-10-20 14:46:24 -04:00
Jason Merrill
a6967cc077
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
1997-10-20 14:09:06 -04:00
Klaus Kaempf
3a133c72de
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
1997-10-20 09:50:29 -06:00
Klaus Kaempf
a3b0df2d4a
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
1997-10-20 02:29:55 -06:00
Jeff Law
c12894e1c3
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
1997-10-20 02:11:49 -06:00
J"orn Rennecke
7d4f2e6c2a
* longlong.h (count_leading_zeros): Add missing casts to USItype.
...
From-SVN: r16096
1997-10-19 18:56:45 -06:00
Jeffrey A Law
decd44aced
* i386/bsd386.h (ASM_COMMENT_START): Define.
...
From-SVN: r16095
1997-10-19 18:40:44 -06:00
Doug Evans
200d7a3251
Undo cvs entry 1.4 "Reorg sethi_{hi,si} patterns." and add comment why.
...
From-SVN: r16080
1997-10-19 16:46:47 +00:00
Jeff Law
4a5121b59a
Initial revision
...
From-SVN: r16070
1997-10-19 10:29:32 -06:00
Jason Merrill
d1485032c8
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
1997-10-18 17:10:32 -04:00
Doug Evans
6bd35f8671
* expr.c (use_group_regs): Don't call use_reg for MEMs.
...
From-SVN: r16046
1997-10-18 19:48:25 +00:00
Jeffrey A Law
6981eacffd
* i386/freebsd.h (ASM_COMMENT_START): Fix.
...
From-SVN: r15993
1997-10-18 00:52:58 -06:00
Jim Wilson
1933ec7e4e
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
1997-10-17 23:46:19 -06:00
Jeffrey A Law
13c2de98de
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
1997-10-17 23:31:26 -06:00
Robert Lipe
b2167beef2
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
1997-10-17 23:21:23 -06:00
Jason Merrill
8070c78887
* tree.h, vector.h: Fix accidental divergence from SGI release.
...
From-SVN: r15989
1997-10-17 22:09:13 -04:00
Doug Evans
c12158208e
* ginclude/va-sparc.h: Rewrite v9 support.
...
From-SVN: r15987
1997-10-17 23:26:02 +00:00
Doug Evans
2191290cb9
Rewrite v9 support.
...
From-SVN: r15986
1997-10-17 23:25:26 +00:00
Doug Evans
bf65b159ec
(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
1997-10-17 23:21:12 +00:00
Doug Evans
9d162eb296
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
1997-10-17 23:20:03 +00:00
David S. Miller
7e37212eeb
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
1997-10-17 23:01:29 +00:00
Doug Evans
bd6c666f80
Reorg sethi_{hi,si} patterns.
...
From-SVN: r15979
1997-10-17 22:45:15 +00:00
Jeff Law
67c5b7ada6
Add some stuff.
...
From-SVN: r15978
1997-10-17 16:16:29 -06:00
Doug Evans
f4f8e3703a
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
1997-10-17 21:59:06 +00:00
David S. Miller
da2a90f71a
sparc.h (FUNCTION_PROFILER): Fix format string when TARGET_MEDANY.
...
* sparc/sparc.h (FUNCTION_PROFILER): Fix format string when
TARGET_MEDANY.
From-SVN: r15974
1997-10-17 21:35:20 +00:00