c9ab9ae440
These bits are taken from the FSF anoncvs repo on 1-Feb-2002 08:20 PST.
15262 lines
545 KiB
Groff
15262 lines
545 KiB
Groff
2000-12-31 Philip Blundell <philb@gnu.org>
|
||
|
||
* config/arm/linux-gas.h (CLEAR_INSN_CACHE): Add missing asm
|
||
operands.
|
||
|
||
2000-12-30 Richard Henderson <rth@redhat.com>
|
||
|
||
* dbxout.c (dbxout_block): Invert logic on eliding LBRAC/RBRAC.
|
||
Initialize variables properly for DBX_LBRAC_FIRST.
|
||
|
||
2000-12-30 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* expr.c (expand_expr, case COMPONENT_REF): Fix typo in last change.
|
||
|
||
2000-12-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* builtins.c (validate_arglist): New function, use it.
|
||
|
||
2000-12-30 Philip Blundell <philb@gnu.org>
|
||
|
||
* config/arm/arm.c (arm_expand_prologue): Fix typos in error
|
||
message and comment. Note location of testcase for an unhandled
|
||
situation.
|
||
|
||
2000-12-30 Jeffrey Oldham <oldham@codesourcery.com>
|
||
|
||
* defaults.h (BUILD_VA_LIST_TYPE): New definition.
|
||
* tree.c (build_common_tree_nodes_2): Ensure the va_list_type_node
|
||
is a copy, not an alias.
|
||
|
||
2000-12-30 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* calls.c (calls_function_1, case CONSTRUCTOR): New case.
|
||
|
||
* alias.c (alias_sets_conflict_p): New function.
|
||
(mems_in_disjoint_alias_sets_p): Use it.
|
||
(readonly_fields_p): Moved from expr.c; check for record type.
|
||
(objects_must_conflict_p): New function.
|
||
* calls.c (expand_call): Use assign_temp as much as possible, use
|
||
readonly variant if assigned once, and don't set memory attributes.
|
||
(emit_library_call_value_1, store_one_arg): Likewise.
|
||
* integrate.c (expand_inline_function): Likewise.
|
||
* stmt.c (expand_asm_operands, expand_return): Likewise.
|
||
* expr.c (copy_blkmode_from_reg, store_constructor): Likewise.
|
||
(store_field, save_noncopied_parts, expand_expr): Likewise.
|
||
(expand_expr_unaligned): Likewise.
|
||
(readonly_fields_p): Moved to alias.c.
|
||
(safe_from_p): Rework handling of SAVE_EXPR.
|
||
MEMs ony conflict if alias sets conflict; likewise for INDIRECT_REF.
|
||
* function.c (struct temp_slot): Delete field ALIAS_SET; add TYPE.
|
||
(assign_stack_for_temp): Use objects_must_confict_p.
|
||
Set all memory attributes from type, if specified.
|
||
(mark_temp_slot): Mark TYPE field.
|
||
* tree.h (alias_sets_conflict_p, readonly_fields_p): New decls.
|
||
(objects_must_conflict_p): Likewise.
|
||
|
||
* stmt.c (expand_decl): Don't use assign_stack_temp in error case.
|
||
(add_case_node): No need to copy nodes anymore.
|
||
|
||
2000-12-30 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* config/sh/sh.c (split_branches): Don't dereference re-computed
|
||
`beyond' before checking it's non-NULL.
|
||
|
||
2000-12-29 Robert Lipe <robertl@sco.com>
|
||
|
||
Remove COFF support from i?86-pc-sco3.2v5.
|
||
* i386/sco5.h (PREFERRED_DEBUGGING_TYPE): Change to Dwarf II.
|
||
(TARGET_ELF): Now always true.
|
||
(SUBTARGET_SWTICHES: )Remove -mcoff.
|
||
|
||
* i386/t-sco5 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
|
||
MULTILIB_EXCEPTION): Nuke coff.
|
||
(CRTSTUFF_T_CFLAGS_S): Deleted.
|
||
(TARGET_LIBGCC2_CFLAGS): Added.
|
||
|
||
2000-12-29 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* varasm.c (output_constant_def): Don't ENCODE_SECTION_INFO
|
||
twice. Update desc->rtl and ->label, in case ENCODE_SECTION_INFO
|
||
modifies them.
|
||
|
||
2000-12-29 Bernd Schmidt <bernds@redhat.com>
|
||
|
||
* ia64.c (ia64_expand_load_address): Accept additional scratch
|
||
register argument. All callers & prototype changed.
|
||
Use scratch register when generating load_symptr insns.
|
||
* ia64.md (movdi_symbolic): Clobber a scratch register. Use it
|
||
when calling ia64_expand_load_address.
|
||
(movdi): Generate movdi_symbolic with additional operand.
|
||
(load_gprel64): Use pic_offset_table_rtx instead of (reg:DI 1).
|
||
(load_symptr): Likewise. Use additional operand as a scratch
|
||
register instead of generating it here.
|
||
|
||
* basic-block.h: Add a comment.
|
||
* flow.c (PROP_POSTRELOAD): New macro.
|
||
(update_life_info): Add it to prop_flags.
|
||
(mark_set_1): If it is set, compute REG_N_SETS for the original
|
||
register number of a hard reg.
|
||
|
||
* emit-rtl.c (gen_raw_REG): New function.
|
||
(gen_rtx_REG, gen_reg_rtx, init_emit_once): Use it instead of
|
||
gen_rtx_raw_REG.
|
||
* print-rtl.c (print_rtx): Print ORIGINAL_REGNO.
|
||
* final.c (alter_subreg): Update it.
|
||
* regrename.c (do_replace): Likewise. Use gen_raw_REG.
|
||
* rtl.def (REG): Update comment.
|
||
* rtl.h (X0UINT, ORIGINAL_REGNO): New macros.
|
||
(gen_raw_REG): Declare.
|
||
|
||
2000-12-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* tree.c (get_set_constructor_bits): Use host_integerp and
|
||
tree_low_cst.
|
||
|
||
* local-alloc.c (update_equiv_regs): Don't use copy_rtx on PATTERN.
|
||
|
||
* toplev.c (main): Call xmalloc_set_program_name.
|
||
* gcc.c (main): Likewise.
|
||
|
||
2000-12-29 Philip Blundell <philb@gnu.org>
|
||
|
||
* config/arm/arm.c (arm_override_options): Fix typo in warning
|
||
message.
|
||
|
||
2000-12-29 Richard Henderson <rth@redhat.com>
|
||
|
||
* config/alpha/alpha.c (alpha_expand_block_move): Initialize
|
||
src_align and dst_align in bits. Do unaligned quadword loads
|
||
if possible for BWX too.
|
||
(alpha_expand_block_clear): Initialize align in bits. Track
|
||
small leading offsets into a larger alignment. Play games with
|
||
stq_u for large 4-byte aligned blocks. Use load/mask/store
|
||
for appropreately aligned heads and tails.
|
||
|
||
2000-12-29 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* function.c (assign_parms): Convert arguments passed by
|
||
reference to the right mode.
|
||
|
||
2000-12-28 Geoffrey Keating <geoffk@redhat.com>
|
||
|
||
* c-parse.in (select_or_iter_stmt): Use truthvalue_conversion
|
||
on the condition of a FOR statement, so that it gets typechecked
|
||
and optimised.
|
||
|
||
2000-12-29 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* c-decl.c (grokdeclarator): Prevent crash in case of overflow in
|
||
array size.
|
||
|
||
* calls.c (emit_library_call_value_1): Add to call_fusage the
|
||
stack slot assigned to argument passed by reference.
|
||
|
||
2000-12-28 Jeffrey Oldham <oldham@codesourcery.com>
|
||
|
||
* toplev.h (extern really_sorry): Remove extern declaration for
|
||
nonexistent function.
|
||
|
||
2000-12-28 Jeffrey Oldham <oldham@codesourcery.com>
|
||
|
||
* varasm.c (initializer_constant_valid_p): Indicate subtraction of
|
||
pointers to the same string constant is absolute.
|
||
|
||
2000-12-28 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (enum format_type): Add strfmon_format_type.
|
||
(decl_attributes): Handle format attributes strfmon and
|
||
__strfmon__.
|
||
(FMT_FLAG_USE_DOLLAR, FMT_FLAG_ZERO_WIDTH_BAD,
|
||
FMT_FLAG_EMPTY_PREC_OK): Define.
|
||
(format_char_info): Update comment for flag_chars.
|
||
(format_flag_spec): Add skip_next_char.
|
||
(format_kind_info): Add left_precision_char.
|
||
(printf_flag_specs, scanf_flag_specs, strftime_flag_specs,
|
||
format_types): Update for these new structure members and flags.
|
||
(time_char_table): Make const.
|
||
(strfmon_length_specs, strfmon_flag_specs, strfmon_flag_pairs,
|
||
monetary_char_table): New.
|
||
(format_types): Add details of strfmon formats.
|
||
(init_function_format_info): Create default attribute for strfmon.
|
||
(check_format_info_main): Check the new flags. Handle
|
||
skip_next_char and left precision.
|
||
* toplev.c (documented_lang_options): Update description of
|
||
-Wformat.
|
||
* extend.texi: Document strfmon format attributes. Document
|
||
attribute forms such as __printf__. Clarify format_arg attribute
|
||
documentation.
|
||
* invoke.texi (-Wformat): Update for strfmon formats.
|
||
|
||
2000-12-28 Andreas Jaeger <aj@suse.de>
|
||
|
||
* expmed.c (store_bit_field): Fix last patch.
|
||
|
||
2000-12-28 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* config/sh/crt1.asm (start_l): `__SH4_SINGLE_ONLY__' was missing
|
||
the trailing `__'.
|
||
|
||
2000-12-28 Alan Lehotsky <lehotsky@tiac.net>
|
||
|
||
* expmed.c (store_bit_field): Correctly compute smallest mode that
|
||
is sufficient to contain all bits we are storing.
|
||
|
||
2000-12-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* builtins.c (build_function_call_expr): New function. Use it
|
||
everywhere in lieu of manually constructing a CALL_EXPR.
|
||
|
||
2000-12-27 Chandrakala Chavva <cchavva@redhat.com>
|
||
|
||
* calls.c (store_one_arg): If parm is passed both in stack and in
|
||
register and offset is greater than reg_parm_stack_space, split
|
||
the offset and call emit_push_insn().
|
||
|
||
2000-12-27 Nick Clifton <nickc@redhat.com>
|
||
|
||
* ifcvt.c (noce_emit_store_flag): Handle jump insns that are
|
||
PARALLEL.
|
||
|
||
2000-12-27 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* rtl.c (copy_most_rtx, shallow_copy_rtx): Copy frame_related
|
||
flag.
|
||
|
||
2000-12-27 Bruce Korb <bkorb@gnu.org>
|
||
|
||
* fixinc/Makefile.in: fix for ancient Bourne shell
|
||
* fixinc/Makefile.BEOS: obsolete
|
||
* fixinc/Makefile.DOS: obsolete
|
||
* fixinc/fixincl.sh(LINKS): use `test -d' rather than `ls' for testing
|
||
|
||
2000-12-27 Bernd Schmidt <bernds@redhat.com>
|
||
|
||
* sched-deps.c (get_condition, conditions_mutex_p): New functions.
|
||
(add_dependence): Use them to avoid adding unnecessary dependencies
|
||
between conditionally executed insns.
|
||
(sched_analyze_1, sched_analyze_2, sched_analyze_insn): Don't free
|
||
dependency lists if current insn is a COND_EXEC.
|
||
|
||
2000-12-27 Geoffrey Keating <geoffk@redhat.com>
|
||
|
||
* config/rs6000/rs6000.md (define_attr "length"): Correct
|
||
calculation.
|
||
|
||
2000-12-26 Kazu Hirata <kazu@hxi.com>
|
||
|
||
* config/h8300/h8300.c: Fix a comment typo.
|
||
(get_shift_alg): Fix a typo in the assembly code for 12-bit
|
||
ASHIFTRT in HImode. Do not output extra whitespace after one line
|
||
of assembly code. Output a tab after an opcode instead of a
|
||
space.
|
||
(emit_a_shift): Output a tab after an opcode instead of a space.
|
||
|
||
2000-12-23 Marek Michalkiewicz <marekm@linux.org.pl>
|
||
|
||
* config/avr/avr.c (out_movqi_r_mr, out_movhi_r_mr, out_movsi_r_mr,
|
||
out_movsi_mr_r, out_movqi_mr_r, out_movhi_mr_r): Use %o instead of
|
||
%4 in output templates, do not modify operands passed by the caller.
|
||
|
||
2000-12-23 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* builtins.def (BUILT_IN_LABS, BUILT_IN_LLABS, BUILT_IN_IMAXABS):
|
||
Don't define.
|
||
* builtins.c (expand_builtin): Don't handle BUILT_IN_LABS,
|
||
BUILT_IN_LLABS and BUILT_IN_IMAXABS.
|
||
* c-common.c (c_common_nodes_and_builtins): Use BUILT_IN_ABS for
|
||
builtin labs, llabs and imaxabs.
|
||
(expand_tree_builtin): Don't handle BUILT_IN_LABS, BUILT_IN_LLABS
|
||
and BUILT_IN_IMAXABS.
|
||
|
||
2000-12-23 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (builtin_function_2): New function.
|
||
(c_common_nodes_and_builtins): Use it to define each pair (foo,
|
||
__builtin_foo) of builtins in one place.
|
||
|
||
2000-12-22 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* gccbug.in: Add libgcj and preprocessor categories.
|
||
|
||
2000-12-22 Bernd Schmidt <bernds@redhat.com>
|
||
|
||
* config/ia64/ia64.c (itanium_reorder): Only schedule stops in
|
||
the final scheduling pass.
|
||
|
||
2000-12-22 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/arm/arm.h (struct machine_function): Add new field
|
||
'lr_save_eliminated'.
|
||
* config/arm/arm.c (arm_compute_save_reg_mask): Do not include the
|
||
link register if its save has been eliminated.
|
||
(output_arm_prologue): Mention if the save of the link register
|
||
has been eliminated.
|
||
(output_arm_epilogue): Rename 'live_regs_mask' to
|
||
'saved_regs_mask'.
|
||
Test 'saved_regs_mask' for the link register, not regs_ever_live.
|
||
(arm_expand_prologue): If the link register has not been saved set
|
||
lr_save_eliminated and emit a USE to prevent later passes from
|
||
scavenging it.
|
||
|
||
* dwarf2out_frame_debug_expr: Allow the (scratch) frame
|
||
pointer to be initialised from the stack pointer plus a
|
||
constant.
|
||
|
||
2000-12-22 Bernd Schmidt <bernds@redhat.com>
|
||
|
||
* regrename.c (struct du_chain): New field "earlyclobber".
|
||
(enum scan_actions): Remove unused entry "note_reference".
|
||
(enum scan_actions_name): Likewise.
|
||
(note_sets, clear_dead_regs, merge_overlapping_regs): New static
|
||
functions.
|
||
(regrename_optimize): Use them to compute unavailable regs; get
|
||
rid of the more simpleminded code we used to have here.
|
||
Use a tick array to ensure registers are allocated in a more
|
||
round-robin way. Disable code that only optimizes registers
|
||
that were seen more than once.
|
||
(referenced_regs): Remove variable.
|
||
(scan_rtx_reg): New arg "earlyclobber". All callers changed.
|
||
Store its value in newly generated du_chain structures.
|
||
Add new du_chains at the end, not the start, of the list.
|
||
Don't handle the "note_reference" action.
|
||
(scan_rtx): New arg "earlyclobber". All callers changed.
|
||
(build_def_use): Lose code to keep track of referenced regs.
|
||
|
||
2000-12-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* Makefile.in (sched-deps.o, sched-rgn.o): Fix dependency typo.
|
||
|
||
* fp-bit.h (usi_to_float): Add prototype.
|
||
|
||
* i386.c (ix86_expand_builtin): Delete unused label.
|
||
|
||
* dwarf2out.c (file_info_cmp): Prototype.
|
||
(dwarf2out_line): Hide variable `old_in_use'.
|
||
|
||
* objc-act.c (objc_fatal): Delete.
|
||
|
||
* sched-vis.c (visualize_stall_cycles): Remove unused variable.
|
||
|
||
* system.h (getopt): Fix error in last change.
|
||
|
||
* varasm.c (assemble_trampoline_template): Constify.
|
||
|
||
2000-12-22 Jason Merrill <jason@redhat.com>
|
||
|
||
* collect2.c (main): Use auto_demangling.
|
||
|
||
2000-12-22 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* function.c (assign_parms): Update parm's DECL_INCOMING_RTL
|
||
when optimizing PARALLEL to REG.
|
||
|
||
2000-12-22 Graham Stott <grahams@redhat.com>
|
||
|
||
* reload.c (update_auto_inc_notes): New, broken out from ...
|
||
(find_reloads_address_1): ... use here, also correct possible
|
||
use of uninitialised reloadnum.
|
||
|
||
2000-12-21 David O'Brien <obrien@FreeBSD.org>
|
||
|
||
* config/freebsd.h (LIB_SPEC): remove -kthread option.
|
||
|
||
2000-12-22 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* resource.c (mark_set_resources): Use MARK_SRC_DEST for
|
||
PRE_MODIFY and POST_MODIFY cases.
|
||
|
||
* rtlanal.c (side_effects_p): Handle PRE_MODIFY and POST_MODIFY.
|
||
|
||
2000-12-22 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* md.texi (Looping Patterns): New node.
|
||
|
||
2000-12-21 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* gcc.texi, cpp.texi: Update last-updated dates.
|
||
|
||
2000-12-21 Chandrakala Chavva <cchavva@redhat.com>
|
||
|
||
* varasm.c (output_addressed_constants): Use language specific
|
||
expander on unknown nodes.
|
||
|
||
2000-12-21 Graham Stott <grahams@redhat.com>
|
||
|
||
* combine.c (distribute_notes): Handle REG_NON_LOCAL_GOTO notes.
|
||
|
||
2000-12-21 Bernd Schmidt <bernds@redhat.com>
|
||
|
||
* Makefile.in (out_object_file): Depend on sched-int.h.
|
||
* rtl.h (single_set_1): New macro.
|
||
(single_set_2): Renamed from single_set_1 and extra argument added.
|
||
* rtlanal.c (single_set_2): Likewise.
|
||
|
||
* config/ia64/ia64-protos.h (get_bundle_name, ia64_issue_rate,
|
||
ia64_adjust_cost, ia64_sched_init, ia64_sched_finish,
|
||
ia64_sched_reorder, ia64_sched_reorder2, ia64_variable_issue):
|
||
Declare.
|
||
* config/ia64/ia64.c: Include "sched-int.h".
|
||
(hard_regno_rename_ok): Also disallow renaming from the various
|
||
reg_save_* regs.
|
||
(ia64_safe_itanium_requiers_unit0, ia64_safe_itanium_class,
|
||
ia64_safe_type, init_insn_group_barriers, group_barrier_needed_p,
|
||
safe_group_barrier_needed_p, fixup_errata): New static functions.
|
||
(rtx_needs_barrier): Handle bundle selector and cycle display
|
||
insns.
|
||
(emit_insn_group_barriers): Accept additional FILE * arg. All
|
||
callers changed. Rework to only generate stop bits between
|
||
basic blocks that haven't been inserted by scheduling.
|
||
(struct bundle, struct ia64_packet): New structures.
|
||
(NR_BUNDLES, NR_PACKETS): New macros.
|
||
(bundle, packets, type_names): New static arrays.
|
||
(ia64_final_schedule): New variable.
|
||
(ia64_single_set, insn_matches_slot, ia64_emit_insn_before,
|
||
gen_nop_type, finish_last_head, rotate_one_bundle, rotate_two_bundles,
|
||
cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
|
||
find_best_packet, itanium_reorder, dump_current_packet, schedule_stop):
|
||
New static functions.
|
||
(ia64_issue_rate, ia64_sched_init, ia64_sched_reorder,
|
||
ia64_sched_finish, ia64_sched_reorder2, ia64_variable_issue): New
|
||
functions.
|
||
(ia64_reorg): Perform a final scheduling pass.
|
||
* config/ia64/ia64.h (CONST_COSTS): Slightly increase SYMBOL_REF costs.
|
||
(MAX_CONDITIONAL_EXECUTE, ADJUST_COST, ISSUE_RATE, MD_SCHED_INIT,
|
||
MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_FINISH,
|
||
MD_SCHED_VARIABLE_ISSUE): Define macros.
|
||
(ia64_final_schedule): Declare variable.
|
||
* config/ia64/ia64.md (attr itanium_class): Add some more classes.
|
||
(attr type): Account for them.
|
||
(itanium_requires_unit0): New attribute.
|
||
(function units): Rewrite.
|
||
(some splitters): Don't create scheduling barriers here.
|
||
(gr_spill_internal, gr_restore_internal): Don't predicate the
|
||
pseudo-op.
|
||
(nop_m, nop_i, nop_f, nop_b, nop_x, cycle_display, cycle_display_1,
|
||
bundle_selector): New patterns.
|
||
(insn_group_barrier): Now has an operand.
|
||
|
||
2000-12-21 DJ Delorie <dj@redhat.com>
|
||
|
||
* dwarf2out.c (simple_decl_align_in_bits): new
|
||
(field_byte_offset): Try both the type align and the
|
||
decl align, use whichever works, preferring the type align.
|
||
|
||
2000-12-21 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* gccbug.in: Fix typo.
|
||
|
||
2000-12-20 Benjamin Kosnik <bkoz@redhat.com>
|
||
|
||
* Makefile.in (gcc_gxx_target_include_dir): Use instead of
|
||
build_tooldir and libstdcxx_incdir.
|
||
|
||
2000-12-20 Robert Lipe <robertlipe@usa.net>
|
||
|
||
* haifa-sched.c (schedule_block): Provide empty source statement
|
||
if not MD_SCHED_REORDER2.
|
||
|
||
2000-12-20 Richard Henderson <rth@redhat.com>
|
||
|
||
* rtl.h (REG_NON_LOCAL_GOTO): New.
|
||
* rtl.c (reg_note_name): Update.
|
||
* stmt.c (expand_goto): Emit a REG_NON_LOCAL_GOTO note.
|
||
* builtins.c (expand_builtin_longjmp): Likewise.
|
||
* flow.c (make_edges): Check for REG_NON_LOCAL_GOTO and do
|
||
not emit an edge.
|
||
|
||
2000-12-20 Marek Michalkiewicz <marekm@linux.org.pl>
|
||
|
||
* config/avr/avr.c (out_movsi_r_mr, out_movsi_mr_r, out_movhi_mr_r):
|
||
Do not output undefined opcodes where source or destination register
|
||
overlaps with modified pointer register. Handle (X + d) addresses.
|
||
* config/avr/avr.md (*movhi, *movsi, *movsf): Correct insn length
|
||
in alternatives with memory operand.
|
||
|
||
2000-12-20 Richard Henderson <rth@redhat.com>
|
||
|
||
* c-typeck.c (build_asm_stmt): New, broken out from ...
|
||
(c_expand_asm_operands): ... here. Just do rtl expansion.
|
||
(c_expand_return): Return the new stmt node.
|
||
(c_start_case, do_case): Likewise.
|
||
* c-common.c (c_expand_expr_stmt): Likewise.
|
||
* c-common.h: Update declarations.
|
||
* c-tree.h: Likewise.
|
||
* c-semantics.c (build_stmt): Use STMT_LINENO not TREE_COMPLEXITY.
|
||
* c-parse.in (fndef): Set DECL_SOURCE_LINE to the open brace.
|
||
(nested_function, notype_nested_function): Likewise.
|
||
(compstmt): Return the compound statement not the binding level.
|
||
(lineno_labeled_stmt): Simplify.
|
||
(lineno_stmt, lineno_label): Set STMT_LINENO.
|
||
(stmt, label): Return the new stmt node.
|
||
|
||
2000-12-20 Bernd Schmidt <bernds@redhat.com>
|
||
|
||
* Makefile.in (OBJS): Add sched-ebb.o.
|
||
(sched-ebb.o): New rule.
|
||
(sched-vis.o): Depend on hard-reg-set.h and $(BASIC_BLOCK_H).
|
||
(haifa-sched.o): Depend on insn-flags.h.
|
||
* haifa-sched.c: Include "insn-flags.h".
|
||
(priority): Don't access BLOCK_NUM, use the new contributes_to_priority
|
||
callback.
|
||
* rtl.h (schedule_ebbs): Declare.
|
||
* sched-int.h (struct sched_info): Add new members
|
||
contributes_to_priority and compute_jump_reg_dependencies.
|
||
* sched-rgn.c (contributes_to_priority, compute_jump_reg_dependencies):
|
||
New functions.
|
||
(region_sched_info): Add them.
|
||
* sched-vis.c: Include "hard-reg-set.h" and "basic-block.h".
|
||
* sched-ebb.c: New file.
|
||
* sched-deps.c (sched_analyze_insn): Add code to handle JUMP_INSNs.
|
||
|
||
* flow.c (ior_reg_cond, and_reg_cond, elim_reg_cond): Properly
|
||
handle all relational operators.
|
||
|
||
2000-12-20 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* final.c (output_addr_const): Use ASM_OUTPUT_SYMBOL_REF.
|
||
* tm.texi: Document it.
|
||
|
||
2000-12-19 Benjamin Kosnik <bkoz@redhat.com>
|
||
|
||
* Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Use build_tooldir
|
||
instead of gcc_tooldir.
|
||
|
||
2000-12-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
|
||
|
||
* system.h (getopt): Update prototype to match include/getopt.h.
|
||
|
||
2000-12-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
|
||
|
||
From Jeff Law.
|
||
* pa.c (basereg_operand): Simplify.
|
||
|
||
2000-12-19 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* haifa-sched.c (rm_line_notes): Arguments are now head and tail,
|
||
not block number. All callers and prototype changed.
|
||
(set_priorities): Likewise.
|
||
(save_line_notes): Add head and tail arguments; all callers and
|
||
prototype changed.
|
||
(restore_line_notes): Likewise. Don't crash on insns generated
|
||
during scheduling.
|
||
(schedule_block): Don't use BLOCK_HEAD/BLOCK_END macros.
|
||
Call MD_SCHED_INIT with additional argument.
|
||
When starting a new cycle, emit cycle_display insns if available.
|
||
Don't stop scheduling when encountering a JUMP_INSN, but add another
|
||
call to schedule_more_p in the inner loop.
|
||
Call MD_SCHED_REORDER2 after scheduling an insn.
|
||
Call MD_SCHED_FINISH once all insns are scheduled.
|
||
(sched_init): Compensate for the fact that get_block_head_tail
|
||
doesn't include leading notes.
|
||
* sched-deps.c (free_deps): Free vectors here.
|
||
* sched-rgn.c (compute_block_backward_dependencies): Not here.
|
||
(last_was_jump): New static variable.
|
||
(schedule_more_p): Test it.
|
||
(init_ready_list): Initialize it.
|
||
(can_schedule_ready_p): Set it if we have a JUMP_INSN.
|
||
|
||
* config/i386/i386.h (MD_SCHED_INIT): Add new arg.
|
||
* config/m32r/m32r.h (MD_SCHED_INIT): Add new arg.
|
||
* config/sparc/sparc.h (MD_SCHED_INIT): Add new arg.
|
||
|
||
* md.texi (cycle_display): Document.
|
||
* tm.texi (MD_SCHED_INIT): Document new arg.
|
||
(MD_SCHED_FINISH, MD_SCHED_REORDER2): Document.
|
||
|
||
* flow.c (ior_reg_cond, nand_reg_cond, not_reg_cond): Rewrite
|
||
to use different representation. All callers changed.
|
||
(and_reg_cond): Renamed from nand_reg_cond; caller changed.
|
||
(init_propagate_block_info): Don't test flags to determine
|
||
whether to compute conditional lifetimes.
|
||
Adjust code for new representation of conditional lifetimes.
|
||
(mark_regno_cond_dead): Similar adjustment.
|
||
(free_reg_cond_life_info): Similar adjustment.
|
||
(elim_reg_cond): New function.
|
||
(flush_reg_cond_1): Use it.
|
||
|
||
2000-12-19 Catherine Moore <clm@redhat.com>
|
||
|
||
* reload1.c (reload_combine): Take multi-hard-regs into account
|
||
when processing CALL_INSN_FUNCTION_USAGE.
|
||
|
||
2000-12-19 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* invoke.texi (-print-search-dirs): Make references to cpp refer
|
||
to cpp0 instead.
|
||
|
||
2000-12-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* fold-const.c (tree_expr_nonnegative_p): Treat truth values as
|
||
non-negative.
|
||
|
||
Tue Dec 19 00:37:08 2000 J"orn Rennecke <amylaar@redhat.com>
|
||
|
||
* reload.c (push_reload): When using a dying register for the reload
|
||
register in an in-out reload, use outmode if wider than inmode.
|
||
|
||
2000-12-19 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* config/d30v/d30v.h (EXIT_BODY): Update comment.
|
||
|
||
2000-12-18 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* config.gcc (*-*-linux*): Don't define HAVE_ATEXIT or BSTRING.
|
||
* tm.texi (EXIT_BODY): Update documentation.
|
||
* config/freebsd.h, config/netware.h, config/arm/coff.h,
|
||
config/arm/conix-elf.h, config/arm/unknown-elf.h,
|
||
config/d30v/d30v.h, config/mcore/mcore.h, config/pj/pj.h,
|
||
sparc/sp86x-aout.h: Remove definitions of HAVE_ATEXIT (some
|
||
commented out) and associated comments.
|
||
|
||
2000-12-18 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (STD_C9L, ADJ_STD): Define.
|
||
(printf_length_specs, scanf_length_specs): Mark "ll" as standard
|
||
STD_C9L.
|
||
(T99_LL): Rename to T9L_LL.
|
||
(T99_ULL): Rename to T9L_ULL.
|
||
(print_char_table, scan_char_table): Use T9L_LL and T9L_ULL
|
||
instead of T99_LL and T99_ULL.
|
||
(check_format_info_main): Use ADJ_STD on all format standard
|
||
versions being compared.
|
||
* c-common.h: Declare warn_long_long.
|
||
* c-tree.h: Don't declare warn_long_long.
|
||
|
||
2000-12-18 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* COPYING: Update to current
|
||
ftp://ftp.gnu.org/pub/gnu/Licenses/COPYING-2.0 (fixes references
|
||
to 19yy as example year in copyright notice).
|
||
|
||
2000-12-18 Neil Booth <neil@daikokuya.demon.co.uk>
|
||
|
||
* c-lex.c (cb_file_change): Treat in_system_header as strictly
|
||
boolean (0 or 1).
|
||
|
||
2000-12-18 Neil Booth <neil@daikokuya.demon.co.uk>
|
||
|
||
* cppmain.c: Update print.lineno with -P.
|
||
|
||
2000-12-18 Neil Booth <neil@daikokuya.demon.co.uk>
|
||
|
||
* c-lex.c: s/change_file/file_change.
|
||
* cpplib.h: Similarly.
|
||
* cppmain.c: Similarly.
|
||
* fix-header.c: Similarly.
|
||
* cppfiles.c (stack_include_file): Pass the buffer location and
|
||
size to cpp_push_buffer. Generate the file_change callback,
|
||
so that sysp is already set.
|
||
* cpphash.h: Add _cpp_do_file_change.
|
||
* cpplib.c (do_line): Set buffer->sysp directly. Generate the
|
||
file_change callback after setting sysp.
|
||
(_cpp_do_file_change): Handle FC_ENTER and the FC_RENAME exception
|
||
here.
|
||
(cpp_push_buffer): Don't generate a callback. Clear sysp.
|
||
(cpp_pop_buffer): Clean up logic.
|
||
|
||
2000-12-18 Benjamin Kosnik <bkoz@redhat.com>
|
||
|
||
* configure.in (gcc_gxx_include_dir): Simplify.
|
||
(libstdcxx_incdir): Export.
|
||
* configure: Regenerate.
|
||
* Makefile.in (PREPROCESSOR_DEFINES): Add in
|
||
GPLUSPLUS_TOOL_INCLUDE_DIR bits here..
|
||
(libstdcxx_incdir): Add.
|
||
* cppdefault.c (GPLUSPLUS_TOOL_INCLUDE_DIR): Add search path.
|
||
|
||
2000-12-18 Neil Booth <neil@daikokuya.demon.co.uk>
|
||
|
||
* c-lex.c (lex_lineno): Remove.
|
||
(init_c_lex, c_lex): Remove lex_lineno.
|
||
(cb_change_file): Update lineno correctly, both before calling
|
||
push_srcloc and before leaving the function.
|
||
(cb_def_pragma): Set lineno before outputting diagnostics.
|
||
|
||
Sun Dec 17 18:45:41 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* print-tree.c (print_node): Print DECL_USER_ALIGN and TYPE_USER_ALIGN.
|
||
Print TYPE_MIN_VALUE and TYPE_MAX_VALUE for REAL_TYPE.
|
||
Use print_node_brief to print bounds.
|
||
|
||
2000-12-17 Neil Booth <neil@daikokuya.demon.co.uk>
|
||
|
||
* cpplib.h (struct cpp_reader): Remove references to string_pool
|
||
and temp_string_pool.
|
||
* cppinit.c (cpp_create_reader, cpp_cleanup): Similarly; using
|
||
ident_pool in place.
|
||
* cpplex.c (parse_number, unescaped_terminator_p, parse_string,
|
||
save_comment, cpp_token_as_text): Similarly.
|
||
* cpplib.c (do_define, glue_header_name, parse_assertion): Similarly.
|
||
* cppmacro.c (make_number_token, builtin_macro, lock_pools,
|
||
unlock_pools, stringify_arg, paste_tokens): Similarly.
|
||
|
||
Sun Dec 17 12:41:48 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* dwarf2out.c (loc_descriptor_from_tree, case NOP_EXPR): New case.
|
||
(loc_descriptor_from_tree, case CONVERT_EXPR): Likewise.
|
||
(loc_descriptor_from_tree, case NON_LVALUE_EXPR): Likewise.
|
||
|
||
2000-12-17 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* Makefile.in (check-po): Use $(MAKE).
|
||
(risky-stage1, risky-stage2, risky-stage3, risky-stage4): Likewise.
|
||
|
||
2000-12-17 Neil Booth <neil@daikokuya.demon.co.uk>
|
||
|
||
* cppmain.c (check_multiline_token): New function.
|
||
(scan_buffer): Use it.
|
||
(cb_change_file): Restructure to avoid warning.
|
||
* cpperror.c (print_location): Initialize col.
|
||
|
||
2000-12-14 Philipp Thomas <pthomas@suse.de>
|
||
|
||
* protoize.c (main): Correctly set locale categories.
|
||
* gcc.c (main): Likewise.
|
||
* cppmain.c (general_init): Likewise.
|
||
* toplev.c (main): Likewise.
|
||
* gcov.c (main): Likewise.
|
||
* collect2.c (main): Likewise.
|
||
|
||
2000-12-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* c-common.c (c_common_nodes_and_builtins): Create a
|
||
cstring_endlink, use it. Rename int_ftype_string_string to
|
||
int_ftype_cstring_cstring, string_ftype_string_int to
|
||
string_ftype_cstring_int, and string_ftype_string_string to
|
||
string_ftype_cstring_cstring. Prefer sizetype_endlink and
|
||
int_endlink to manually recreating them. Fix the prototype
|
||
set for __builtin_strspn/__builtin_strcspn.
|
||
|
||
2000-12-12 Marek Michalkiewicz <marekm@linux.org.pl>
|
||
|
||
* config/avr/avr.c (out_set_stack_ptr): Update comment.
|
||
(print_operand): Add support for %~ and %o.
|
||
|
||
2000-12-17 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
|
||
|
||
* c4x.h: Add ASM_OUTPUT_DEF definition for bounded pointer code.
|
||
|
||
2000-12-17 Neil Booth <neil@daikokuya.demon.co.uk>
|
||
|
||
* c-lex.c: Move main_input_filename handling to FC_ENTER. Clean up.
|
||
* cpperror.c (print_containing_files): Get right line number.
|
||
(print_location): Output column of 1 if 0.
|
||
* cppfiles.c (stack_include_file): cpp_push_buffer handles
|
||
the callback.
|
||
* cpphash.h (_cpp_do_file_change): No longer external.
|
||
* cpplib.c (do_file_change): Now local to cpplib.c.
|
||
(do_line): Fake a buffer stack for preprocessed files.
|
||
(cpp_push_buffer): Create a file_change callback. Handle faked
|
||
buffers.
|
||
(cpp_pop_buffer): Similarly.
|
||
* cpplib.h: BUF_FAKE: New buffer type.
|
||
* cppmain.c: Update to handle correct file renaming where a
|
||
#line is the first line of the main file, and produce only
|
||
the renamed file, not the original file, as output.
|
||
|
||
2000-12-17 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.md: Remove redundant @s from output patterns.
|
||
|
||
2000-12-17 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
|
||
|
||
* config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Call c4x_init_pragma.
|
||
|
||
* config/c4x/c4x-protos.h (c4x_init_pragma): New prototype.
|
||
|
||
* config/c4x/c4x.c (c4x_init_pragma): New function.
|
||
(c_lex_func): New variable.
|
||
(c4x_parse_pragma): Use c_lex_func.
|
||
|
||
2000-12-17 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
|
||
|
||
* config/c4x/c4x.h (MD_INIT_BUILTINS): Add void_list_node argument
|
||
to c4x_init_builtins.
|
||
|
||
* config/c4x/c4x-protos.h (c4x_init_builtins): Add tree argument.
|
||
|
||
* config/c4x/c4x.c (c4x_init_builtins): Add tree argument.
|
||
(c4x_output_ascii): Fix.
|
||
|
||
2000-12-17 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
|
||
|
||
* config/c4x/c4x.h (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Define.
|
||
|
||
* config/c4x/c4x-protos.h (c4x_init_builtins): New prototype.
|
||
(c4x_expand_builtin): Likewise.
|
||
|
||
* config/c4x/c4x.c (c4x_init_builtins): New function.
|
||
(c4x_expand_builtin): Likewise.
|
||
|
||
* config/c4x/c4x.md (floatunsqihf2): New pattern.
|
||
(*floatqihf2_set, *fixhfqi_set, fix_trunchfqi2): Likewise.
|
||
(fixuns_trunchfqi2, toieee, frieee, *ldhf_conditional): Likewise.
|
||
(*ldhf_conditional_noov, movhfcc, trap, cond_trap_cc): Likewise.
|
||
(*toieee_movqf_clobber, *frieee_movqf_clobber): Likewise.
|
||
|
||
2000-12-17 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* libgcc2.h: Use Wtype for SItype and DWtype for DItype in prototypes.
|
||
* libgcc2.c (__absvsi2): Use Wtype and DWtype.
|
||
(__absvdi2, __addvsi3, __addvdi3, __subvsi3): Likewise.
|
||
(__subvdi3, __mulvsi3, __mulvdi3, __negvsi2, __negvdi2): Likewise.
|
||
|
||
2000-12-16 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* config/sh/sh.h (INITIALIZE_TRAMPOLINE): Enclose the block
|
||
statement in do/while(0).
|
||
|
||
Sat Dec 16 19:56:24 MET 2000 Jan Hubicka <jh@suse.cz>
|
||
|
||
* i386.md (ashrsi3_cmpno, ashrhi3_cmpno, ashrqi3_cmpno, lshrsi3_cmpno,
|
||
lshrhi3_cmpno): Remove redundant '@' from the template.
|
||
|
||
* i386.md (cmpstrsi_1): Fix type of the compare.
|
||
|
||
* genattrtab.c (attr_rtx_cost): New function.
|
||
(simplify_test_exp): Avoid overactive inlining; use temporary
|
||
obstacks for tests.
|
||
|
||
Sat Dec 16 10:41:11 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* diagnostic.c (finish_abort): Deleted.
|
||
(fatal): Add code from finish_abort.
|
||
(error_recursion, fancy_abort): Call fatal, not finish_abort.
|
||
(trim_filename): Remove leading "../".
|
||
* diagnostic.h (finish_abort): Deleted.
|
||
* toplev.c (crash_signal): Call fatal, not finish_abort.
|
||
|
||
* stor-layout.c (place_field): Treat overflowing DECL_SIZE_UNIT
|
||
as if size were variable.
|
||
|
||
* expmed.c (expand_mult): Write REG_EQUAL note with proper mode.
|
||
|
||
2000-12-16 Neil Booth <neil@daikokuya.demon.co.uk>
|
||
|
||
* tradcpp.c: T_WARNING: New.
|
||
(do_warning): New function.
|
||
(finclude): Skip past the newline and increase the line number
|
||
before calling output_line_command.
|
||
(do_line): Skip the new line after output_line_command. Don't
|
||
pre-decrement the line number.
|
||
|
||
2000-12-15 Diego Novillo <dnovillo@redhat.com>
|
||
|
||
* i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix references to
|
||
_GLOBAL_OFFSET_TABLE_ when using Intel syntax.
|
||
|
||
2000-12-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* gcc.c (cpp_options): Pass -fno-operator-names.
|
||
* cpplib.h (struct cpp_options): Add operator_names.
|
||
* cppinit.c (cpp_create_reader): Initialize it.
|
||
(initialize_builtins): If -fno-operator-names, don't add
|
||
C++ alternate operator names.
|
||
(COMMAND_LINE_OPTIONS): Add -fno-operator-names.
|
||
(cpp_handle_option): Clear operator_names.
|
||
|
||
2000-12-15 Jason Merrill <jason@redhat.com>
|
||
|
||
* jump.c (jump_optimize_1): Don't delete the line note after the
|
||
prologue even if it seems redundant.
|
||
|
||
* config/arm/arm.c (arm_expand_prologue): Set RTX_FRAME_RELATED_P
|
||
on all insns used to adjust the stack.
|
||
|
||
Fri Dec 15 15:32:16 MET 2000 Jan Hubicka <jh@suse.cz>
|
||
|
||
* combine.c (cant_combine_insn_p): Get around SUBREGs when determining
|
||
hardreg<->reg moves.
|
||
|
||
Fri Dec 15 14:48:37 MET 2000 Jan Hubicka <jh@suse.cz>
|
||
|
||
* genrecog.c (add_to_sequence): Remove special case for
|
||
const_int_operand.
|
||
(maybe_both_true): Return 1 when falling out of sequence when
|
||
trying to find common position in the pattern.
|
||
|
||
Fri Dec 15 14:44:51 MET 2000 Jan Hubicka <jh@suse.cz>
|
||
|
||
* integrate.c (copy_rtx_and_substitute): Copy mode too.
|
||
|
||
Fri Dec 15 14:11:57 MET 2000 Jan Hubicka <jh@suse.cz>
|
||
|
||
* flow.c (notice_stack_pointer_modification_1): Cleanup.
|
||
|
||
2000-12-15 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* function.c (adjust_trampoline_addr): New function.
|
||
(trampoline_address): Call it instead of round_trampoline_addr().
|
||
* tm.texi (TRAMPOLINE_ADJUST_ADDRESS): Document it.
|
||
|
||
2000-12-14 Zack Weinberg <zack@wolery.stanford.edu>
|
||
|
||
* cppfiles.c (hack_vms_include_specification): Delete function
|
||
(not used since 1998).
|
||
|
||
Fri Dec 15 03:37:51 2000 J"orn Rennecke <amylaar@redhat.com>
|
||
|
||
* haifa-sched.c (sched_init): Don't put a note in front of any BARRIER.
|
||
|
||
2000-12-14 Jim Wilson <wilson@redhat.com>
|
||
|
||
* alias.c (get_alias_set): Call record_component_aliases for
|
||
COMPLEX_TYPE.
|
||
(record_component_aliases): Handle COMPLEX_TYPE.
|
||
|
||
2000-12-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* fixinc/gnu-regex.c: Disable NLS.
|
||
|
||
2000-12-14 Richard Henderson <rth@redhat.com>
|
||
|
||
* config/alpha/alpha.c (alpha_emit_conditional_move): Do not swap
|
||
comparison operands when that would create non-canonical rtl.
|
||
|
||
* config/i386/i386.md (umulsi3_highpart): Remove * from name.
|
||
(smulsi3_highpart): Likewise.
|
||
|
||
2000-12-14 Neil Booth <neil@daikokuya.demon.co.uk>
|
||
|
||
* gcc.c (cpp_options): Add -remap.
|
||
|
||
2000-12-14 Neil Booth <neil@daikokuya.demon.co.uk>
|
||
|
||
* gcc.c (cpp_options): Update to use '&'.
|
||
(struct switchstr): Change type of validated to save space.
|
||
New member 'ordering'.
|
||
(handle_braces, validate_switches): Update to handle '&'.
|
||
|
||
2000-12-13 Laurynas Biveinis <lauras@softhome.net>
|
||
|
||
* fixinc/inclhack.def: skip stdio_va_list fix if __DJ_va_list
|
||
found in a header.
|
||
* fixinc/fixincl.x: regenerated.
|
||
|
||
2000-12-13 DJ Delorie <dj@redhat.com>
|
||
|
||
* config.gcc (cygwin, win32, mingw32): Use float-i386.h.
|
||
|
||
2000-12-13 Tom Tromey <tromey@redhat.com>
|
||
|
||
* gcc.c (handle_braces): Handle %{<S*} spec correctly.
|
||
|
||
2000-12-13 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* function.c (assign_parms): Optimize incoming PARALLELs into
|
||
REGs if possible.
|
||
|
||
2000-12-13 Bruce Korb <bkorb@gnu.org>
|
||
|
||
* fixinc/Makefile.in(*): substantial rewrite to accommodate systems
|
||
that cannot handle bi-directional pipes, viz. BeOS and DOS.
|
||
* fixinc/fixlib.h(IGNORE_ARG): new macro
|
||
(STATIC): define for all of fixinc to use
|
||
* fixinc/fixfixes.c(*): eliminate unused arg warnings
|
||
* fixinc/fixtests.c(*): ditto
|
||
* fixinc/fixincl.c(start_fixer): chain_open now uses const arg list
|
||
* fixinc/gnu-regex.c: reorder some includes to avoid _GNU_SOURCE
|
||
warning. Also, eliminate the ``#ifdef emacs'' stuff.
|
||
(re_syntax_options): make global as it is declared so.
|
||
* fixinc/mkfixinc.sh: process the argument list more consistently
|
||
(beos/msdosdjgpp): set TARGETS to twoprocess vs. oneprocess
|
||
* fixinc/procopen.c(globals): include "fixlib.h" for std defs
|
||
* fixinc/server.c(globals): ditto
|
||
* fixinc/server.h(defines): ditto
|
||
|
||
2000-12-13 Neil Booth <neil@daikokuya.demon.co.uk>
|
||
|
||
* tradcpp.c (special_symbol): Improve test for definedness,
|
||
though it is still not perfect.
|
||
(do_define): Don't define illegal macro names.
|
||
|
||
2000-12-07 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* config/mips/elf.h (ASM_OUTPUT_SECTION_NAME): emit @nobits
|
||
if changing into .bss section.
|
||
* config/mips/elf64.h: same.
|
||
* config/mips/iris6.h: same.
|
||
* config/mips/netbsd.h: same.
|
||
* config/mips/openbsd.h: same.
|
||
|
||
2000-12-13 Neil Booth <neil@daikokuya.demon.co.uk>
|
||
|
||
* cppfiles.c (read_name_map): Return null if open () fails.
|
||
(remap_filename): Simplify logic. Add ICE if it doesn't work
|
||
as expected. Perform secondary lookup attempt on base filename
|
||
only.
|
||
|
||
Wed Dec 13 19:48:04 MET 2000 Jan hubicka <jh@suse.cz>
|
||
|
||
* flow.c (notice_stack_pointer_modification_1): Notice midifications
|
||
using PRE_MODIFY and POST_MODIFY.
|
||
|
||
Wed Dec 13 17:25:32 MET 2000 Jan Hubicka <jh@suse.cz>
|
||
|
||
* genoutput.c (process_template): Add sanity checking for '@' templates.
|
||
|
||
2000-12-13 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* simplify-rtx.c (cselib_finish): Free reg_values and used_regs
|
||
varrays.
|
||
|
||
2000-12-12 Mike Stump <mrs@wrs.com>
|
||
|
||
* Makefile.in (distclean): Remove safe-ctype.c as well.
|
||
|
||
2000-12-12 Brad Lucier <lucier@math.purdue.edu>
|
||
|
||
* tradcpp.c (do_error): Cast difference of pointers to int
|
||
for error message.
|
||
|
||
2000-12-12 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
|
||
|
||
* config/rs6000/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Move from here...
|
||
* config/rs6000/sysv4.h (HANDLE_PRAGMA_PACK_PUSH_POP): ...to here.
|
||
|
||
2000-12-12 Jim Wilson <wilson@redhat.com>
|
||
|
||
* rtlanal.c (may_trap_p): Check operand modes of LE, LT, GE, and GT.
|
||
|
||
2000-12-12 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* configure.in: Simplify language enabling/disabling code.
|
||
* configure: Rebuilt.
|
||
* ch/config-lang.in (target_libs): Set.
|
||
(build_by_default): Set to no.
|
||
* cp/config-lang.in (target_libs): Set.
|
||
* f/config-lang.in (target_libs): Set.
|
||
* java/config-lang.in (target_libs): Set.
|
||
* objc/config-lang.in (target_libs): Set.
|
||
|
||
2000-12-12 Neil Booth <neil@daikokuya.demon.co.uk>
|
||
|
||
* tradcpp.c (enum node_type): Add T_ERROR.
|
||
(do_error): New function.
|
||
(directive_table): Add #error handler.
|
||
|
||
2000-12-12 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
|
||
|
||
* configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Enable .file/.loc check
|
||
for powerpc*-*-*.
|
||
* configure: Regenerated.
|
||
* config/rs6000/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
|
||
* config/rs6000/rs6000.c (rs6000_unique_section): Use
|
||
STRIP_NAME_ENCODING.
|
||
|
||
Mon Dec 11 13:51:09 2000 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.c (cmpib_comparison_operator): Remove GEU and LTU.
|
||
* pa.h (PREDICATE_CODES, cmpib_comparison_operator): Corresponding
|
||
changes.
|
||
|
||
2000-12-11 Bruce Korb <bkorb@gnu.org>
|
||
|
||
* fixinc/fixincl.tpl: initialize all fields for warnings
|
||
* fixinc/fixincl.x: regenerate
|
||
|
||
2000-12-11 Neil Booth <neilb@earthling.net>
|
||
|
||
* tradcpp.h: For tradcpp, NUL is not whitespace.
|
||
|
||
2000-12-11 Neil Booth <neilb@earthling.net>
|
||
|
||
* fix-header.c (read_scan_file): Macro expansion is not a file buffer.
|
||
|
||
2000-12-05 Marek Michalkiewicz <marekm@linux.org.pl>
|
||
|
||
* config/avr/avr.c (compare_condition, compare_sign_p): New functions.
|
||
(compare_diff_p, compare_eq_p): Call compare_condition.
|
||
(out_tsthi, out_tstsi): Call compare_sign_p.
|
||
(avr_progmem_p): Check for error_mark_node.
|
||
|
||
2000-12-11 Neil Booth <neilb@earthling.net>
|
||
|
||
* cpperror.c (print_location): New function.
|
||
(print_containing_files): Simplify.
|
||
(_cpp_begin_message): Simplify and use print_location.
|
||
* cppfiles.c (stack_include_file): Update.
|
||
(_cpp_pop_file_buffer): Update.
|
||
* cpphash.h (struct cpp_buffer): New members
|
||
include_stack_listed and type.
|
||
* cpplib.c (_cpp_handle_directive): Buffer->inc is not null.
|
||
(run_directive): Take buffer type. cpp_push_buffer cannot fail.
|
||
(_cpp_do__Pragma, cpp_define, _cpp_define_builtin, cpp_undef,
|
||
handle_assertion): Update.
|
||
(cpp_push_buffer): Take a buffer type and file name.
|
||
(cpp_pop_buffer): Update. Clear include_stack_listed.
|
||
* cpplib.h (input_stack_listing_current): Remove.
|
||
(enum cpp_buffer_type): New.
|
||
(cpp_push_buffer): New prototype.
|
||
* cppmacro.c (builtin_macro): Simplify; buffer cannot be null.
|
||
* fix-header.c (read_scan_file): Update.
|
||
|
||
2000-12-10 Robert Lipe <robertlipe@usa.net>
|
||
|
||
* install.texi (i*86-*-sco3.2v5*): Remove information duplicated
|
||
in html version.
|
||
|
||
2000-12-10 Richard Henderson <rth@redhat.com>
|
||
|
||
* genrecog.c (find_operand): Handle 'V' format code.
|
||
(find_matching_operand): New.
|
||
(validate_pattern): Accept '=' for an in-out operand if there
|
||
is another operand with a matching constraint.
|
||
|
||
* config/i386/i386.md (andqi_ext_0_cc): Use matching constraint
|
||
for op1 to op0.
|
||
|
||
2000-12-10 Richard Henderson <rth@redhat.com>
|
||
|
||
* genrecog.c (validate_pattern) [STRICT_LOW_PART]: Fix thinko.
|
||
|
||
2000-12-09 Richard Henderson <rth@redhat.com>
|
||
|
||
* genrecog.c (validate_pattern): Verify that ZERO_EXTRACT and
|
||
STRICT_LOW_PART as SET_DEST have in-out constraints.
|
||
|
||
2000-12-09 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (check_function_format): Don't suggest adding format
|
||
attributes to functions with no parameter to which to add them.
|
||
|
||
2000-12-09 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/arm/arm.c (arm_expand_prologue): Mark the generated
|
||
insn not the set as being DWARF2_FRAME_RELATED_P.
|
||
|
||
2000-12-09 Laurynas Biveinis <lauras@softhome.net>
|
||
|
||
* Makefile.in: use $(build_exeext) for all build
|
||
system executable targets.
|
||
|
||
2000-12-09 Laurynas Biveinis <lauras@softhome.net>
|
||
|
||
* install.texi: remove i[345]86-*-winnt3.5 section.
|
||
* configur.bat: removed.
|
||
* config/msdos: directory removed.
|
||
|
||
2000-12-09 Neil Booth <neilb@earthling.net>
|
||
|
||
* cppfiles.c (NEVER_REREAD, DO_NOT_REREAD): Move from cpphash.h.
|
||
* cpphash.h (NEVER_REREAD, DO_NOT_REREAD, ABSOLUTE_PATH): Delete.
|
||
* cpplex.c (parse_identifier): Improve diagnostic.
|
||
(_cpp_lex_token): Return unconditionally at the end of a directive.
|
||
* cpplib.c (read_flag): Verify legality of each flag.
|
||
(end_directive): Resotre pfile->skipping before skip_rest_of_line.
|
||
(do_line): Use the new read_flag.
|
||
* cppmacro.c (struct cpp_macro, parse_arg, replace_args,
|
||
check_macro_redefinition, parse_params): Rename var_args to
|
||
variadic.
|
||
|
||
2000-12-09 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* .cvsignore: Add info files.
|
||
|
||
2000-12-08 Laurynas Biveinis <lauras@softhome.net>
|
||
|
||
* config/winnt: Remove obsolete directory.
|
||
* install.texi (Configurations): Remove obsolete documentation for
|
||
Windows NT.
|
||
|
||
2000-12-08 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* configure.in: Don't define INSTALL_INFO.
|
||
* configure: Regenerate.
|
||
* Makefile.in (INSTALL_INFO): Remove.
|
||
(info): Depend on info files in source directory.
|
||
(cpp.info, gcc.info, c-tree.info): Build info files in source
|
||
directory.
|
||
(distclean): Don't remove info files.
|
||
(maintainer-clean): Remove info files from source directory.
|
||
(install-normal): Depend on install-info.
|
||
(install-info): Install info files from source directory, if they
|
||
exist.
|
||
* texinfo.tex: Update to version 2000-11-09.08 from ftp.gnu.org.
|
||
|
||
2000-12-08 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* lcm.c (optimize_mode_switching): Check whether an insn is a NOTE
|
||
before taking its NOTE_LINE_NUMBER.
|
||
|
||
2000-12-08 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/arm/arm.md (load_indirect_jump): Add pool ranges.
|
||
|
||
* extend.texi: Document ARM "interrupt" function attribute.
|
||
Mention that the ARM also support the "naked" function
|
||
attribute.
|
||
|
||
* config/arm/arm-protos.h (arm_current_func_type): Add
|
||
prototype.
|
||
|
||
* config/arm/arm.h (EXCEPTION_LR_REGNUM): Define.
|
||
(struct machine_function): Add 'func_type' field.
|
||
Define bit values for 'func_type' field.
|
||
(ARM_FUNC_TYPE): New macro.
|
||
(IS_INTERRUPT): New macro.
|
||
(IS_VOLATILE): New macro.
|
||
(IS_NAKED): New macro.
|
||
(IS_NESTED): New macro.
|
||
(ARM_INITIAL_ELIMINATION_OFFSET): Use IS_VOLATILE.
|
||
|
||
* config/arm/arm.c (isr_attribute_args): New Structure. A
|
||
list of "interrupt" function attribute modifiers.
|
||
(arm_isr_value): New Function: Returns the type of the current
|
||
interrupt function.
|
||
(arm_compute_func_type): New Function: Computes the type of
|
||
the current function.
|
||
(arm_current_func_type): New Function: Returns the type of the
|
||
current function.
|
||
(use_return_insn): Use arm_current_func_type.
|
||
(arm_valid_type_attribute_p): Accept "interrupt" function
|
||
attribute.
|
||
(arm_comp_type_attributes): Check "interrupt" attributes.
|
||
(arm_valid_machine_decl): Accept "interrupt" function
|
||
attribute.
|
||
(arm_function_ok_for_sibcall): Do not allow interrupt
|
||
functions to use sibcalls.
|
||
(arm_naked_function_p): Delete.
|
||
(print_multi_reg): Remove redundant parameter 'hat'.
|
||
(arm_compute_save_reg_mask): New Function: Compute a bit mask
|
||
of registers saved during the current function's prologue.
|
||
(output_arm_return_instruction): Use arm_current_func_type.
|
||
Generate return instruction when LR is not poppsed off the
|
||
stack.
|
||
(arm_volatile_func): Delete.
|
||
(output_arm_prologue): Use arm_current_func_type and
|
||
arm_compute_save_reg_mask.
|
||
Note presernce of interrupt functions.
|
||
(arm_output_epilogue): Use arm_current_func_type and
|
||
arm_compute_save_reg_mask.
|
||
(arm_expand_prologue): Use arm_current_func_type and
|
||
arm_compute_save_reg_mask.
|
||
(arm_init_machine_status): Initialise func_type field, if
|
||
necessary.
|
||
(thumb_expand_prologue): Use arm_current_func_type.
|
||
(output_thumb_prologue): Use arm_current_func_type.
|
||
|
||
2000-12-08 Brad Lucier <lucier@math.purdue.edu>
|
||
|
||
* tradcpp.c (do_include): Make pointer differences 64-bit clean.
|
||
|
||
Fri Dec 8 08:23:29 2000 J"orn Rennecke <amylaar@redhat.com>
|
||
|
||
* fp-bit.c (_fpmul_parts): Use USItype variables as inputs
|
||
for multiplies.
|
||
|
||
2000-12-07 Mike Stump <mrs@wrs.com>
|
||
|
||
* Makefile.in (distclean): Remove alloca.c hashtab.c.
|
||
|
||
2000-12-07 Zack Weinberg <zack@wolery.stanford.edu>
|
||
|
||
* Makefile.in (HOST_RTL): Add safe-ctype.o.
|
||
(safe-ctype.o): New rule.
|
||
* system.h: Include safe-ctype.h, not ctype.h. No need to
|
||
wrap ctype macros.
|
||
|
||
* cpphash.h: Zap IStable and related macros. Define is_* in
|
||
terms of safe-ctype.h macros.
|
||
* cppinit.c: Delete the IStable and all related code.
|
||
|
||
* tradcpp.c: Delete is_idchar, is_idstart, is_hor_space, and
|
||
is_space arrays. Delete initialize_char_syntax. Change all
|
||
references to the above arrays to use macros instead.
|
||
* tradcpp.h: Define is_idchar, is_idstart, is_space, and
|
||
is_nvspace in terms of safe_ctype.h's macros.
|
||
* tradcif.y: is_idchar, is_idstart are macros not arrays.
|
||
|
||
* config/i370/i370.c, config/winnt/dirent.c,
|
||
config/winnt/fixinc-nt.c, config/winnt/ld.c:
|
||
Use uppercase ctype macros. If we included ctype.h,
|
||
include safe-ctype.h instead.
|
||
|
||
* fixinc/fixfixes.c: Use uppercase ctype macros. Don't test
|
||
ISLOWER(c) before calling TOUPPER(c).
|
||
* fixinc/fixincl.c (extract_quoted_files): Simplify out some gunk.
|
||
* fixinc/gnu-regex.c: Include safe-ctype.h, not ctype.h. No need to
|
||
wrap ctype macros. Don't test ISUPPER(x) before calling TOLOWER(x).
|
||
|
||
2000-12-07 DJ Delorie <dj@redhat.com>
|
||
|
||
* c-decl.c (grokdeclarator): preserve previous alignments when
|
||
rebuilding array types.
|
||
|
||
2000-12-07 Neil Booth <neilb@earthling.net>
|
||
|
||
* cppfiles.c (struct include_file): Move from cpphash.h.
|
||
(_cpp_never_reread): New function.
|
||
(open_file, read_include_file): Use it.
|
||
(stack_include_file): Set the buffer's sysp according to the
|
||
path in which the file was found.
|
||
(find_include_file): Don't set sysp.
|
||
(cpp_make_system_header, actual_directory): Update.
|
||
(_cpp_execute_include): Do #include_next lookup handling here,
|
||
not in cpplib.c. Use _cpp_never_reread.
|
||
* cpphash.h (struct_include_file): Remove.
|
||
(struct cpp_buffer): New member sysp.
|
||
(CPP_IN_SYSTEM_HEADER, _cpp_execute_include): Update.
|
||
(_cpp_never_reread): New.
|
||
* cpplib.c (read_line_number): Rename read_flag. Rework slightly.
|
||
(end_directive): Clear line_extension flag.
|
||
(_cpp_handle_directive): Set line_extension flag for #number.
|
||
(do_include_next): Handle path lookup in _cpp_execute_include.
|
||
(do_line): Cleanup to use read_flag. Don't allow flags in #line.
|
||
(_cpp_do_file_change): Update.
|
||
(do_pragma_once): Use cpp_never_reread. Clean up.
|
||
* cpplib.h (struct lexer_state): New member line_extension.
|
||
|
||
2000-12-07 Richard Henderson <rth@redhat.com>
|
||
|
||
* flow.c (calculate_global_regs_live): Force the stack pointer live
|
||
after reload as well.
|
||
|
||
2000-12-07 Bruce Korb <bkorb@gnu.org>
|
||
|
||
* fixinc/Makefile.*(exeext): the variables are exeext, the
|
||
substitution expression is build_exeext.
|
||
|
||
2000-12-07 Neil Booth <neilb@earthling.net>
|
||
|
||
* c-common.c (parse_in): Make a cpp_reader *.
|
||
* cppfiles.c (_cpp_fake_include): Remove.
|
||
* cpphash.h: Similarly.
|
||
* cpplib.c (do_line): Don't call _cpp_fake_include. A valid
|
||
#line always creates a callback; FC_RENAME if there are no
|
||
#line flags.
|
||
* fix-header.c (read_scan_file): cpp_push_buffer cannot fail.
|
||
The first EOF must be our get_char buffer.
|
||
|
||
2000-12-07 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (warn_format_security): New variable.
|
||
(check_format_info): Warn about non-literal formats with no format
|
||
arguments if either -Wformat-nonliteral or -Wformat-security is
|
||
specified.
|
||
(set_Wformat): Set warn_format_security for settings other than 1.
|
||
* c-common.h (warn_format_security): Declare.
|
||
* c-decl.c (c_decode_option): Decode -Wformat-security and
|
||
-Wno-format-security.
|
||
* invoke.texi: Document -Wformat-security.
|
||
* toplev.c (documented_lang_options): Include -Wformat-security
|
||
and -Wno-format-security.
|
||
|
||
2000-12-07 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (check_format_info): Warn for non-constant format
|
||
strings with strftime formats if -Wformat-nonliteral. Where the
|
||
format can convert arguments, if the format is not a string
|
||
literal and there are no arguments to the format, give a different
|
||
warning message from the general non-string-literal case.
|
||
|
||
2000-12-07 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (format_wanted_type): Add reading_from_flag.
|
||
(print_char_table): Mark %s and %S formats with flag "R".
|
||
(check_format_info_main): Set up reading_from_flag appropriately.
|
||
If aflag, always set writing_in_flag rather than relying on the
|
||
format used being a scanf format and so having it set.
|
||
(check_format_types): Check for formats reading through null
|
||
pointers.
|
||
|
||
2000-12-07 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* invoke.texi (-Wformat): Document what format features are
|
||
checked.
|
||
|
||
2000-12-06 Kazu Hirata <kazu@hxi.com>
|
||
|
||
* config/h8300/h8300.h: Fix formatting.
|
||
|
||
2000-12-06 Joel Sherrill <joel@OARcorp.com>
|
||
|
||
* config.gcc (a29k*-*-rtems*, arm*-*-rtems*, c4x-*-rtems*,
|
||
h8300-*-rtems*, hppa1.1-*-rtems, *mips*-*-rtems*): New targets.
|
||
* config.gcc (*-rtems*): Add support for gthr-rtems.h.
|
||
* gthr-rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
|
||
config/h8300/rtems.h, config/mips/rtems.h: New files.
|
||
|
||
2000-12-06 Mark Kettenis <kettenis@gnu.org>
|
||
|
||
* config.gcc: Reorganize handling of *-*-gnu*, to share target
|
||
specific make details with Linux. Update comments to clarify
|
||
the distinction between GNU/Linux and GNU/Hurd.
|
||
|
||
Wed Dec 6 19:22:02 2000 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* contrib.texi: Fix my email address. Update Per's
|
||
list of contributions.
|
||
|
||
2000-12-06 Rodney Brown <RodneyBrown@mynd.com>
|
||
|
||
* c-lex.c (cb_indent): Decorate `str' argument, unused on HP-UX.
|
||
* collect2.c (scan_libraries): Remove unused `ch'.
|
||
(COFF specific stuff): Prototype ldgetname. Declare and prototype
|
||
ldbtread and ldclose.
|
||
|
||
* config/alpha/osf.h: Standarize copyright statement.
|
||
* config/arc/arc.h: Likewise.
|
||
* config/arm/elf.h config/arm/coff.h config/arm/aout.h: Likewise.
|
||
* config/arm/arm.c config/arm/arm.h: Likewise.
|
||
* config/elxsi/elxsi.h: Likewise.
|
||
* config/i386/sco.h: Likewise.
|
||
* config/m68k/crds.h config/m68k/hp320.h config/m68k/lynx.h: Likewise.
|
||
* config/m68k/m68kv4.h config/m68k/next21.h: Likewise.
|
||
* config/m68k/sun3.h: Likewise.
|
||
* config/m88k/dgux.h config/m88k/dguxbcs.h: Likewise.
|
||
* config/pdp11/2bsd.h config/pdp11/pdp11.h: Likewise.
|
||
* config/romp/romp.h: Likewise.
|
||
* config/rs6000/aix41.h: Likewise.
|
||
* config/sparc/sysv4.h: Likewise.
|
||
* config/we32k/we32k.c config/we32k/we32k.h: Likewise.
|
||
* fixinc/gnu-regex.c fixinc/gnu-regex.h: Likewise.
|
||
* cpplib.h cppexp.c cselib.h profile.c: Likewise.
|
||
* longlong.h: Likewise.
|
||
* libgcc2.c: Likewise.
|
||
|
||
2000-12-06 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
|
||
|
||
* machmode.def: Use correct definition for BITSIZE on targets where
|
||
BITS_PER_UNIT != 8.
|
||
|
||
2000-12-06 Bruce Korb <bkorb@gnu.org>
|
||
|
||
* fixinc/Makefile.*: Reduce differences to (ultimately) reduce
|
||
the number of them.
|
||
|
||
2000-12-06 J. David Anglin <dave@hiauly1.hia.nrc.ca>
|
||
|
||
* pa.c: Include expr.h before c-tree.h.
|
||
(remove_useless_addtr_insns): Use reverse_condition_maybe_unordered
|
||
instead of reverse_condition.
|
||
(print_operand): Correct predicates for GT, GE, LT and LE. Add
|
||
predicates for LTGT, UNLE, UNLT, UNGE, UNGT, UNEQ, UNORDERED and
|
||
ORDERED.
|
||
(cmpib_comparison_operator): Add GEU and LTU codes.
|
||
* pa.h (PREDICATE_CODES): Add codes for cmpib_comparison_operator.
|
||
* pa.md (bltgt, bunle, bunlt, bunge, bungt, buneq, bunordered,
|
||
bordered): New float conditional branch patterns.
|
||
|
||
Wed Dec 6 21:03:41 2000 J"orn Rennecke <amylaar@redhat.com>
|
||
|
||
* final.c (final_addr_vec_align): Fix clipping to BIGGEST_ALIGNMENT.
|
||
|
||
2000-12-06 Sylvain Pion <Sylvain.Pion@sophia.inria.fr>
|
||
|
||
* cpplex.c (skip_escaped_newlines): Don't warn for spaces between
|
||
backslash and newline, when inside a comment.
|
||
|
||
2000-12-06 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* invoke.texi: Use @table @samp instead of @itemize @minus for
|
||
table of language standards. Fix use of @pxref. From Zack
|
||
Weinberg. Also exclude specs documentation from generated
|
||
manpage, and create separate ENVIRONMENT section.
|
||
|
||
2000-12-06 Michael Matz <matzmich@cs.tu-berlin.de>
|
||
|
||
* gcse.c (compute_pre_data): Kill trapping expressions in
|
||
destination blocks of abnormal edges.
|
||
|
||
2000-12-05 Richard Sandiford <r.sandiford@redhat.com>
|
||
|
||
* config/mn10300/mn10300.c (mn10300_print_reg_list): Added.
|
||
(mn10300_get_live_callee_saved_regs): Likewise.
|
||
(mn10300_gen_multiple_store): Likewise.
|
||
(store_multiple_operation): Likewise.
|
||
(expand_prologue): Use mn10300_gen_multiple_store().
|
||
* config/mn10300/mn10300-protos.h (mn10300_print_reg_list): Added.
|
||
(mn10300_get_live_callee_saved_regs): Likewise.
|
||
(mn10300_gen_multiple_store): Likewise.
|
||
(store_multiple_operation): Likewise.
|
||
* config/mn10300/mn10300.md (store_movm): Use a MATCH_PARALLEL
|
||
tied to store_multiple_operation().
|
||
|
||
Tue Dec 5 20:09:14 2000 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* builtins.c (expand_builtin_setjmp_setup): Set
|
||
current_function_has_nonlocal_label.
|
||
|
||
2000-12-05 Neil Booth <neilb@earthling.net>
|
||
|
||
* cppfiles.c (stack_include_file): Push zero-length buffers
|
||
in case of failure. Return void, as we don't fail any more.
|
||
(read_include_file): Check for files we shouldn't re-read.
|
||
Don't return an error code; errors are implied by marking the
|
||
file NEVER_REREAD.
|
||
(_cpp_execute_include): Move the recursion and in-macro checks
|
||
here. Update for stack_include_file not failing.
|
||
* cpplib.c (cpp_push_buffer): Always succeed, since
|
||
_cpp_execute_include performs the recursion check. Tidy up.
|
||
* cpplib.h (cpp_push_buffer): Update prototype.
|
||
|
||
2000-12-05 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* sched-vis.c (visual_tbl_line_length): New variable.
|
||
(get_visual_tbl_length): Set it.
|
||
(visualize_stall_cycles): Don't let stalls overrun
|
||
visual_tbl_line_length.
|
||
|
||
2000-12-05 Geoffrey Keating <geoffk@redhat.com>
|
||
|
||
* global.c (global_conflicts): Allow for a REG_UNUSED note
|
||
with a different mode to the REG set in the insn.
|
||
|
||
2000-12-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* Makefile.in (fixinc.sh): Pass $WARN_CFLAGS into fixinc dir.
|
||
|
||
* fixinc/Makefile.in (FIXINC_DEFS): Add $(WARN_CFLAGS).
|
||
|
||
2000-12-05 Bruce Korb <bkorb@gnu.org>
|
||
|
||
* fixinc/mkfixinc.sh(*-gnu*): activate fixinc for GNU/Hurd and
|
||
GNU/Linux.
|
||
|
||
2000-12-05 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* fixinc/mkfixinc.sh: Run fixinc on netbsd.
|
||
* fixinc/inclhack.def (machine/ansi.h): Run this rule on all files,
|
||
to cope with aliased copies.
|
||
* fixinc/fixincl.x: Regenerate.
|
||
|
||
2000-12-05 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* sched-vis.c: Guard with #ifdef INSN_SCHEDULING.
|
||
* sched-rgn.c: Likewise.
|
||
(rgn_print_insn): Fix output.
|
||
|
||
2000-12-05 Bruce Korb <bkorb@gnu.org>
|
||
|
||
* fixinc/Makefile.*: make these more consistent
|
||
* fixinc/mkfixincl.sh: enable BeOS fixincludes
|
||
|
||
2000-12-05 Richard Henderson <rth@redhat.com>
|
||
|
||
* stmt.c (warn_if_unused_value): Move side effects test earlier.
|
||
|
||
2000-12-05 Alan Modra <alan@linuxcare.com.au>
|
||
|
||
* bb-reorder.c (reorder_basic_blocks): Do check for EH edges even
|
||
when using sjlj.
|
||
|
||
2000-12-05 Richard Henderson <rth@redhat.com>
|
||
|
||
* flow.c (calculate_global_regs_live): Only force stack pointer
|
||
live before reload. Force pic register live before reload.
|
||
(insn_dead_p): Don't protect pic references from deletion.
|
||
|
||
2000-12-05 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* invoke.texi: Add support for using texi2pod.pl. Don't use
|
||
@multitable.
|
||
|
||
2000-12-04 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/arm/arm.c (arm_override_options): Test 'insn_flags' not
|
||
'tune_flags' for XScale nature.
|
||
Remove spurious test of HARD_FLOAT and XScale flags.
|
||
|
||
* config/arm/arm.md (umulsidi3adddi): Restore "=&r" register
|
||
contraint, accidentally changed during XScale contribution.
|
||
|
||
* config/arm/lib1funcs.asm (interwork_call_via_, call_via_): Do
|
||
not create these functions if the target architecture does not
|
||
support Thumb instructions.
|
||
|
||
2000-12-04 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* ONEWS: New file with the current contents of NEWS up to EGCS
|
||
1.1.
|
||
* NEWS: Generate automatically from online release notes from EGCS
|
||
1.0 to GCC 2.95.2, using ../contrib/gennews.
|
||
|
||
2000-12-04 Neil Booth <neilb@earthling.net>
|
||
|
||
* tradcif.y: Move lexptr to top of file. Add rule to handle
|
||
assertions in conditional expressions.
|
||
* tradcpp.c (parse_answer): Assertions do not need to go to
|
||
end of line in conditional directives.
|
||
(parse_assertion): Get first character of identifiers correct.
|
||
(test_assertion): New function.
|
||
* tradcpp.h (test_assertion): New prototype.
|
||
|
||
2000-12-01 Rodney Brown <RodneyBrown@mynd.com>
|
||
|
||
* config.gcc: Fix typo for UnixWare 7.
|
||
|
||
2000-12-03 Phil Edwards <pme@sources.redhat.com>
|
||
|
||
* invoke.texi: Replace `pedwarns' with clearer text.
|
||
|
||
2000-12-04 Bruce Korb <bkorb@gnu.org>
|
||
|
||
* fixinc/Makefile.*(clean): don't clean autogenerated files.
|
||
(mainainer-clean): clean autogenerated files
|
||
|
||
2000-12-04 DJ Delorie <dj@redhat.com>
|
||
|
||
* md.texi: Add overview, clarify match_dup and define_expand.
|
||
|
||
2000-12-04 DJ Delorie <dj@redhat.com>
|
||
|
||
* print-tree.c (print_node): Target-specific builtins print
|
||
numbers, not names.
|
||
|
||
2000-12-04 Jason Merrill <jason@redhat.com>
|
||
|
||
* stor-layout.c (int_mode_for_mode): Handle MODE_VECTOR_INT,
|
||
MODE_VECTOR_FLOAT.
|
||
|
||
* diagnostic.c (report_problematic_module): s/function/module/.
|
||
|
||
* c-lex.h: Remove decl for check_newline.
|
||
|
||
2000-12-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
|
||
|
||
* README.APOLLO: Remove obsolete file.
|
||
|
||
2000-12-04 Neil Booth <neilb@earthling.net>
|
||
|
||
* cppinternals.texi: New file.
|
||
|
||
2000-12-04 Neil Booth <neilb@earthling.net>
|
||
|
||
* cppfiles.c (cpp_make_system_header): Take 2 booleans,
|
||
and operate on current buffer.
|
||
(cpp_read_file): Rename _cpp_read_file.
|
||
* cpplib.c (do_line, do_pragma_system_header): Update calls to
|
||
cpp_make_system_header.
|
||
* fix-header.c: Similarly.
|
||
* cpphash.h (_cpp_read_file): Move from...
|
||
* cpplib.h: ... here.
|
||
* cppinit.c (do_includes, cpp_start_read): Update appropriately.
|
||
|
||
2000-12-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* builtins.c (expand_builtin_strspn, expand_builtin_strcspn):
|
||
Handle another transformation.
|
||
|
||
2000-12-03 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config.gcc: Add support for StrongARM targets.
|
||
* config/arm/t-strongarm-elf: New file.
|
||
* config/arm/t-strongarm-coff: New file.
|
||
* config/arm/t-strongarm-pe: New file.
|
||
* config/arm/strongarm-pe.h: New file.
|
||
|
||
2000-12-03 Nick Clifton <nickc@redhat.com>
|
||
|
||
* NEWS: Mention XScale has been added.
|
||
* config.gcc: Add support for XScale targets.
|
||
* config/arm/arm.h: Add support for XScale processor.
|
||
* config/arm/arm.c: Add support for XScale processor.
|
||
* config/arm/arm.md: Add support for XScale processor.
|
||
* config/arm/t-xscale-elf: New file.
|
||
* config/arm/t-xscale-coff: New file.
|
||
* config/arm/xscale-elf.h: New file.
|
||
* config/arm/xscale-coff.h: New file.
|
||
|
||
2000-12-03 Richard Henderson <rth@redhat.com>
|
||
|
||
* bb-reorder.c (reorder_basic_blocks): Don't check for EH edges
|
||
unless exception handling is enabled, and if not using sjlj.
|
||
|
||
* builtins.c (expand_builtin_setjmp_setup): New.
|
||
(expand_builtin_setjmp_receiver): New.
|
||
(expand_builtin_setjmp): Split out _setup and _receiver functions.
|
||
Move argument parsing in from ...
|
||
(expand_builtin): ... here.
|
||
* except.c (receive_exception_label): Branch around receiver
|
||
unless new-style exceptions. Call expand_builtin_setjmp_receiver.
|
||
(start_dynamic_handler): Call expand_builtin_setjmp_setup.
|
||
* expr.h: Update builtin setjmp decls.
|
||
|
||
2000-12-03 Bruce Korb <bkorb@gcc.org>
|
||
|
||
* fixinc/mkfixinc.sh(build machine): Sometimes, there is no canonical
|
||
build machine name. Default to the target.
|
||
|
||
2000-12-03 Laurynas Biveinis <lauras@softhome.net>
|
||
|
||
* Makefile.in: use $(build_canonical), not $(canonical_build).
|
||
|
||
2000-12-03 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* Makefile.in (OBJS): Add sched-rgn.o.
|
||
(sched-rgn.o): New rule. * haifa-sched.c (sched_verbose): No
|
||
longer static.
|
||
(INSN_PRIORITY, INSN_COST, INSN_UNIT, INSN_REG_WEIGHT,
|
||
INSN_BLOCKAGE, UNIT_BITS, BLOCKAGE_MASK, ENCODE_BLOCKAGE,
|
||
UNIT_BLOCKED, BLOCKAGE_RANGE, MIN_BLOCKAGE_COST,
|
||
MAX_BLOCKAGE_COST): Move to sched-int.h.
|
||
(MAX_RGN_BLOCKS, MAX_RGN_INSNS, INSN_REF_COUNT, FED_BY_SPEC_LOAD,
|
||
IS_LOAD_INSN, struct haifa_edge, edge_table, NEXT_IN, NEXT_OUT,
|
||
FROM_BLOCK, TO_BLOCK, nr_edges, in_edges, out_edges, IN_EDGES,
|
||
OUT_EDGES, edgelst, struct region, nr_regions, rgn_table,
|
||
rgn_bb_table, block_to_bb, containing_rgn, RGN_NR_BLOCKS,
|
||
RGN_BLOCKS, BLOCK_TO_BB, BB_TO_BLOCK, CONTAINING_RGN,
|
||
debug_regions, find_single_block_region, find_rgns, too_large,
|
||
init_regions, current_nr_blocks, current_blocks, bitset, bitlst,
|
||
bitlst_table_last, bitlst_table_size, bitlst_table, bitset_member,
|
||
extract_bitlst, bblst, struct candidate, candidate_table,
|
||
bblst_table, bblst_size, bblst_last, IS_VALID, IS_SPECULATIVE,
|
||
SRC_PROB, target_bb, split_edges, compute_trg_info,
|
||
debug_candidate, debug_candidates, bbset, bbset_size, dom,
|
||
IS_RGN_ENTRY, IS_DOMINATED, prob, GET_SRC_PROB, edgeset,
|
||
rgn_nr_edges, rgn_edges, edgeset_size, edgeset_bitsize,
|
||
EDGE_TO_BIT, edge_to_bit, pot_split, ancestor_edges,
|
||
compute_dom_prob_ps, ABS_VALUE, INSN_PROBABILITY,
|
||
IS_SPECULATIVE_INSN, INSN_BB, MIN_DIFF_PRIORITY, MIN_PROBABILITY,
|
||
MIN_PROB_DIFF, check_live_1, update_live_1, check_live,
|
||
update_live, set_spec_fed, is_pfree, find_conditional_protection,
|
||
is_conditionally_protected, may_trap_exp, haifa_classify_insn,
|
||
is_prisky, is_exception_free, add_branch_dependences,
|
||
propagate_deps, compute_block_backward_dependences,
|
||
debug_dependencies, is_cfg_nonregular, build_control_flow,
|
||
new_edge, bb_deps, BITSET_UNION, BITSET_INTER, BITSET_DIFFER,
|
||
BITSET_INVERT, BITSET_ADD, BITSET_REMOVE, debug_regions,
|
||
UPDATE_LOOP_RELATIONS, INSN_TRAP_CLASS, WORST_CLASS, IS_REACHABLE,
|
||
CONST_BASED_ADDRESS_P, free_pending_lists, sched_target_n_insns,
|
||
target_n_insns, sched_n_insns, init_ready_list, deaths_in_region,
|
||
can_schedule_ready_p, new_ready, schedule_more_p, rgn_print_insn,
|
||
rgn_rank, region_sched_info): Move to sched-rgn.c.
|
||
(debug_reg_vector): Delete useless function.
|
||
(get_bb_head_tail): Likewise.
|
||
(insn_issue_delay, insn_cost, ready_add, get_block_head_tail,
|
||
no_real_insns_p, rm_line_notes, save_line_notes,
|
||
restore_line_notes, rm_redundant_line_notes, sched_init): No
|
||
longer static.
|
||
(rm_line_notes, save_line_notes, restore_line_notes,
|
||
schedule_block, set_priorities): Change argument to be a real
|
||
basic block, not one of haifa's "bb"s. All callers changed
|
||
(rm_other_notes): Initialize note_list here, not in
|
||
schedule_region.
|
||
(sched_finish): New function, called from schedule_insn. * *
|
||
sched-int.h (INSN_PRIORITY, INSN_COST, INSN_UNIT, INSN_REG_WEIGHT,
|
||
INSN_BLOCKAGE, UNIT_BITS, BLOCKAGE_MASK, ENCODE_BLOCKAGE,
|
||
UNIT_BLOCKED, BLOCKAGE_RANGE, MIN_BLOCKAGE_COST,
|
||
MAX_BLOCKAGE_COST): Moved here from haifa-sched.c.
|
||
(get_block_head_tail, no_real_insns_p, rm_line_notes,
|
||
save_line_notes, restore_line_notes, rm_redundant_line_notes,
|
||
rm_other_notes, insn_issue_delay, set_priorities, schedule_block,
|
||
sched_init, sched_finish, ready_add, insn_cost): Declare.
|
||
|
||
2000-12-03 Laurynas Biveinis <lauras@softhome.net>
|
||
Bruce Korb <bkorb@gnu.org>
|
||
|
||
* Makefile.in: pass $(build_canonical) to mkfixinc.sh.
|
||
* fixinc/mkfixinc.sh: accept build system name as an argument.
|
||
Use it for choosing the fix build method. Use the target for
|
||
selecting special fix rules.
|
||
|
||
2000-12-03 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* Makefile.in (OBJS): Add sched-deps.o.
|
||
(sched-deps.o): New rule.
|
||
* haifa-sched.c (struct deps, struct haifa_insn_data): Moved to
|
||
sched-int.h.
|
||
(INSN_DEPEND, INSN_LUID, CANT_MOVE, INSN_DEP_COUNT): Macros moved to
|
||
sched-int.h.
|
||
(SIZE_FOR_MODE): Delete unused macro.
|
||
(reg_known_equiv_p, reg_known_value, reg_pending_clobbers,
|
||
reg_pending_sets, reg_pending_sets_all, true_dependency_cache,
|
||
anti_dependency_cache, output_dependency_cache,
|
||
forward_dependency_cache): Variables moved to sched-deps.c.
|
||
(add_dependence, remove_dependence, find_insn_list,
|
||
find_insn_mem_list, add_insn_mem_dependence, flush_pending_lists,
|
||
sched_analyze_insn, sched_analyze_1, sched_analyze_2,
|
||
sched_analyze, group_leader, compute_forward_dependences,
|
||
init_deps, free_deps, init_dependency_caches, free_dependency_caches):
|
||
Functions moved to sched-deps.c.
|
||
(schedule_region): Call init_deps_global and finish_deps_global
|
||
instead of directly manipulating dependency data structures.
|
||
* sched-deps.c: New file.
|
||
(init_deps_global, finish_deps_global): New functions.
|
||
* sched-int.h (struct haifa_insn_data, struct deps): Moved here from
|
||
haifa-sched.c.
|
||
(h_i_d): Declare.
|
||
(INSN_DEPEND, INSN_LUID, CANT_MOVE, INSN_DEP_COUNT): Macros moved here
|
||
from haifa-sched.c.
|
||
|
||
* Makefile.in (OBJS): Add sched-vis.o.
|
||
(sched-vis.o): New rule.
|
||
* haifa-sched.c (get_unit_last_insn): New function.
|
||
(sched_dump, insn_unit, actual_hazard_this_instance): No longer
|
||
static.
|
||
(schedule_block): Call visualize_alloc and visualize_free. Delete
|
||
spurious return statement.
|
||
(init_target_units, insn_print_units, get_visual_tbl_length,
|
||
init_block_visualization, print_block_visualization, safe_concat,
|
||
visualize_scheduled_inns, visualize_no_unit, visualize_stall_cycles,
|
||
print_exp, print_value, print_pattern, print_insn, target_units,
|
||
MAX_VISUAL_LINES, INSN_LEN, n_visual_lines, visual_tbl,
|
||
n_vis_no_unit, vis_no_unit): Move scheduling visualization
|
||
functions/variables...
|
||
* sched-vis.c: ...here. New file.
|
||
(visualize_alloc, visualize_free): New functions.
|
||
(visualize_scheduled_insns, visualize_stall_cycles,
|
||
print_block_visualization): Lose basic block argument. All callers
|
||
changed.
|
||
(visualize_scheduled_insns): Use new function get_unit_last_insn.
|
||
* sched-int.h (current_sched_info, sched_dump): Declare.
|
||
(init_target_units, insn_print_units, init_block_visualization,
|
||
print_block_visualization, visualize_scheduled_inns,
|
||
visualize_no_unit, visualize_stall_cycles, visualize_alloc,
|
||
visualize_free): Declare functions.
|
||
|
||
* sched-int.h: New file.
|
||
* Makefile.in (haifa-sched.o): Depend on it.
|
||
* haifa-sched.c: Include it.
|
||
(no_real_insns_p): New function.
|
||
(current_sched_info): New static variable.
|
||
(__inline, HAIFA_INLINE): Moved to sched-int.h.
|
||
(get_block_head_tail): Minor cleanup.
|
||
(init_ready_list, can_schedule_ready_p, new_ready, schedule_more_p,
|
||
rgn_print_insn, rgn_rank): New functions, broken out of
|
||
rank_for_schedule, schedule_insn and schedule_block, where they
|
||
are now called through function pointers in current_sched_info.
|
||
(queue_insn, schedule_insn, queue_to_ready, debug_ready_list,
|
||
print_insn): To display uid and block number, call the print_insn
|
||
function pointer in current_schedule_info.
|
||
(region_sched_info): New static variable.
|
||
(sched_target_n_insns, sched_n_insns, target_n_insns): New global
|
||
variables, moved out of schedule_block.
|
||
(schedule_block): Return void. All callers changed.
|
||
Move some of the setup code into schedule_region. Get head/tail
|
||
from current_sched_info, and update it when done.
|
||
(schedule_region): Slightly rearranged, some code moved here from
|
||
schedule_block. Call no_real_insns_p to avoid doing work for a
|
||
block that consists only of notes and labels.
|
||
(schedule_insns): Initialize current_sched_info.
|
||
|
||
2000-12-03 Neil Booth <neilb@earthling.net>
|
||
|
||
* cppmacro.c (funlike_invocation_p): Re-disable macros enabled
|
||
by contexts drops AFTER argument pre-expansion, so that they
|
||
remain enabled during argument pre-expansion.
|
||
(_cpp_pop_context): Unconditionally re-enable a macro when
|
||
dropping a context level.
|
||
|
||
2000-12-03 Manfred Hollstein <manfredh@redhat.com>
|
||
|
||
* arm/t-linux (MULTILIB_OPTIONS): Comment.
|
||
(MULTILIB_DIRNAMES): Likewise.
|
||
(EXTRA_MULTILIB_PARTS): Likewise.
|
||
(LIBGCC): Likewise.
|
||
(INSTALL_LIBGCC): Likewise.
|
||
|
||
2000-12-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* builtins.c (expand_builtin_strcat, expand_builtin_strncat,
|
||
expand_builtin_strspn, expand_builtin_strcspn): New functions.
|
||
(expand_builtin): Handle BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
|
||
BUILT_IN_STRSPN and BUILT_IN_STRCSPN.
|
||
|
||
* builtins.def (BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
|
||
BUILT_IN_STRSPN, BUILT_IN_STRCSPN): New entries.
|
||
|
||
* c-common.c (c_common_nodes_and_builtins): Declare builtin
|
||
strcat, strncat, strspn and strcspn.
|
||
(string_ftype_string_cstring): Renamed from `string_ftype_ptr_ptr'.
|
||
|
||
* extend.texi (strcat, strcspn, strncat, strspn): Document new
|
||
builtins.
|
||
|
||
2000-12-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* builtins.c (expand_builtin_strcmp): Use const*_rtx when
|
||
expanding strcmp at compile-time. Add another transformation.
|
||
(expand_builtin_strncmp): Add more transformations. Call
|
||
expand_builtin_memcmp, not expand_builtin_strcmp, under
|
||
appropriate conditions if HAVE_cmpstrsi.
|
||
|
||
2000-12-02 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* rs6000.md (anddi3_internal[23]): Prefer rldic? over andis
|
||
instruction.
|
||
(cr logic): Really make operands sequential.
|
||
|
||
2000-12-02 Geoffrey Keating <geoffk@redhat.com>
|
||
|
||
* c-common.c (combine_strings): When the ISO C standard specifies
|
||
the maximum length of a string, it doesn't include the trailing
|
||
zero byte.
|
||
|
||
* cpplib.c (do_ifdef): Add check_eol() call.
|
||
(do_ifndef): Likewise.
|
||
|
||
2000-12-02 Daniel Berlin <dberlin@redhat.com>
|
||
Bruce Korb <bkorb@gnu.org>
|
||
|
||
* fixinc/*: global substitute /__MSDOS__/SEPARATE_FIX_PROC/
|
||
* fixinc/mkfixinc.sh: prepare to use Makefile.BEOS for *-*-beos*
|
||
* fixinc/Makefile.DOS: define SEPARATE_FIX_PROC for build
|
||
* fixinc/fixfix.c(wrap_fix): avoid wrapping files that
|
||
use the "__need_" hackery. It breaks them.
|
||
* fixinc/fixincl.c(process - SEPARATE_FIX_PROC):
|
||
Sometimes on DOS and BeOS the temp output file cannot be opened.
|
||
Skip the file noisily. Ought to be fixed instead.
|
||
|
||
2000-12-02 Bruce Korb <bkorb@gnu.org>
|
||
|
||
From: 2000-11-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* fixfixes.c (emit_gnu_type, format_write): Prototype.
|
||
(format_write, char_macro_use_fix, char_macro_def_fix): Use gcc's
|
||
custom uppercase ctype macros.
|
||
* fixincl.c (do_version): Make static and add ATTRIBUTE_NORETURN.
|
||
Use gcc's custom uppercase ctype macros.
|
||
(main): Prototype.
|
||
(machine_matches): Add static prototype and constify variable.
|
||
(create_file, test_test, egrep_test): Add static prototype.
|
||
(quoted_file_exists): Likewise, and constify parameters.
|
||
(extract_quoted_files, internal_fix, start_fixer, fix_applies,
|
||
write_replacement, test_for_changes): Add static prototype.
|
||
(write_replacement, test_for_changes): Delete excess argument to
|
||
`create_file'.
|
||
* fixtests.c (test): Make static.
|
||
* server.c (load_data, sig_handler, server_setup, find_shell): Add
|
||
static prototype.
|
||
(sig_handler): Mark parameter with ATTRIBUTE_UNUSED.
|
||
|
||
2000-12-02 Bruce Korb <bkorb@gnu.org>
|
||
|
||
* fixnc/mkfixinc.sh(msdosdjgpp): remove from fixincludes exception list
|
||
(per Laurynas Biveinis <lauras@softhome.net>)
|
||
|
||
2000-12-02 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* arm.h (ARM_REGNO_OK_FOR_BASE_P, THUMB_REGNO_MODE_OK_FOR_BASE_P): New
|
||
macros.
|
||
(REGNO_MODE_OK_FOR_BASE_P): Define in terms of above.
|
||
(REGNO_OK_FOR_FOR_BASE_P): Delete.
|
||
(ARM_REG_OK_FOR_BASE_P, THUMB_REG_MODE_OK_FOR_BASE_P): New macros for
|
||
both strict and non-strict uses.
|
||
(REG_MODE_OK_FOR_BASE_P): Define in terms of above.
|
||
(ARM_REG_OK_FOR_INDEX_P, THUMB_REG_OK_FOR_INDEX_P): New macros.
|
||
(REG_OK_FOR_INDEX_P): Define in terms of above.
|
||
(REG_OK_FOR_BASE_P): Delete.
|
||
(REG_OK_FOR_PRE_POST_P): Delete.
|
||
(ARM_BASE_REGISTER_RTX_P): Renamed from BASE_REGISTER_RTX_P.
|
||
(ARM_INDEX_REGISTER_RTX_P): Renamed from INDEX_REGISTER_RTX_P.
|
||
(ARM_GO_IF_LEGITIMATE_INDEX): Renamed from GO_IF_LEGITIMATE_INDEX.
|
||
(THUMB_LEGITIMATE_OFFSET): Renamed from LEGITIMATE_OFFSET.
|
||
(ARM_GO_IF_LEGITIMATE_ADDRESS): Adjust for name changes. Use ARM
|
||
specific variants rather than general ones. Use ARM_REG_OK_FOR_BASE_P
|
||
in pre/post increment cases.
|
||
(THUMB_GO_IF_LEGITIMATE_ADDRESS): Similarly for Thumb.
|
||
(ARM_LEGITIMIZE_ADDRESS): Similarly.
|
||
(THUMB_LEGITIMIZE_RELOAD_ADDRESS): Similarly.
|
||
* arm.c (legitimate_pic_address): Similarly.
|
||
|
||
2000-12-02 Neil Booth <neilb@earthling.net>
|
||
|
||
* tradcpp.c (struct answer, parse_assertion, parse_answer,
|
||
canonicalize_text, find_answer): New.
|
||
(do_assert, do_unassert): Provide appropriate function bodies.
|
||
(union hashval): New member answers.
|
||
|
||
2000-11-23 Marek Michalkiewicz <marekm@linux.org.pl>
|
||
|
||
* config/avr/avr.md: Document UNSPEC usage.
|
||
(*tablejump_rjmp, *tablejump_lib, *tablejump_enh, *tablejump):
|
||
Make operand 0 input only, clobber it. Use UNSPEC, not a bogus
|
||
MEM for program memory word reference. Do not add the label to
|
||
the table index in each of the asm output templates, instead ...
|
||
(casesi): ... do it in RTL. Adjust to match the above change.
|
||
|
||
2000-12-02 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* c-common.c (PTRDIFF_TYPE): Provide default here, ...
|
||
* c-decl.c: ... not here.
|
||
|
||
* haifa-sched.c (sched_dump): Renamed from dump. All users changed.
|
||
(old_max_uid): New variable.
|
||
(compute_forward_dependences): Renamed from
|
||
compute_block_forward_dependences; changed to accept block head and
|
||
tail instead of block number. Caller changed.
|
||
(free_deps, init_dependency_caches, free_dependency_caches,
|
||
init_regions, sched_init): New functions, split out from
|
||
schedule_insns and compute_block_backward_dependences.
|
||
|
||
2000-12-02 Neil Booth <neilb@earthling.net>
|
||
|
||
* cppexp.c (parse_number): Update diagnostic test.
|
||
|
||
2000-12-02 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* reload1.c (free_for_value_p): New function, frontend to
|
||
reload_reg_free_for_value_p. All callers of the latter now call
|
||
this function with an additional mode argument.
|
||
|
||
2000-12-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
|
||
|
||
* install.texi (Configurations): Remove obsolete documentation for
|
||
hppa*-*-*.
|
||
|
||
2000-12-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
|
||
|
||
* install.texi (Installation): Remove obsolete description for
|
||
libstdc++ which is now an integral part of GCC.
|
||
|
||
2000-12-01 Jim Blandy <jimb@redhat.com>
|
||
|
||
* dbxout.c (dbxout_parms): Correctly describe parameters passed by
|
||
invisible reference in registers, but then spilled to the stack.
|
||
Remove code to emit a second stab for such parameters; it attempts
|
||
to describe the value's location by introducing a synthetic C++
|
||
`reference' type, and then saying the stack slot has that
|
||
reference type. This loses type information (breaking GDB's
|
||
`ptype' command, among other things) just to describe a location
|
||
which stabs can represent correctly in other ways.
|
||
|
||
2000-12-01 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* final.c (output_addr_const) <PLUS>: Don't assume at least one
|
||
operand is a CONST_INT.
|
||
|
||
* config/sh/sh.c (reg_class_from_letter): Assign `k' to SIBCALL_REGS.
|
||
(machine_dependent_reorg): Split all insns.
|
||
* config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Compute
|
||
reg_class_contents[SIBCALL_REGS].
|
||
(reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add SIBCALL_REGS.
|
||
* config/sh/sh.md (calli_pcrel, call_pcrel, call_valuei_pcrel,
|
||
call_value_pcrel, call, call_value, sibcall): Match even when
|
||
not optimizing.
|
||
(sibcalli_pcrel, sibcall_pcrel): Likewise. Use constraint `k'
|
||
for call address.
|
||
(sibcalli): Likewise.
|
||
|
||
2000-12-01 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (warn_format, warn_format_y2k,
|
||
warn_format_extra_args, warn_format_nonliteral): Define.
|
||
(check_format_info): Check warn_format_nonliteral and
|
||
warn_format_extra_args.
|
||
(check_format_info_main): Check warn_format_y2k.
|
||
(set_Wformat): New function.
|
||
* c-common.h (warn_format_y2k, warn_format_extra_args,
|
||
warn_format_nonliteral, set_Wformat): Declare.
|
||
* c-decl.c (warn_format): Remove definition.
|
||
(c_decode_option): Handle -Wformat-nonliteral,
|
||
-Wno-format-extra-args and -Wno-format-y2k, and negated versions.
|
||
Use set_Wformat.
|
||
* invoke.texi: Document these new options and -Wformat=2.
|
||
* toplev.c (documented_lang_options): Add these new options.
|
||
|
||
2000-12-01 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* builtins.def (BUILT_IN_IMAXABS): Add.
|
||
* builtins.c (expand_builtin): Also abort on BUILT_IN_IMAXABS.
|
||
* c-common.c (c_common_nodes_and_builtins): Create builtin
|
||
functions __builtin_imaxabs, and plain imaxabs unless
|
||
flag_no_nonansi_builtin outside C99 mode.
|
||
(expand_tree_builtin): Handle BUILT_IN_IMAXABS.
|
||
* extend.texi: Document builtin imaxabs.
|
||
|
||
2000-12-01 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c: Include "defaults.h".
|
||
(WINT_TYPE, INTMAX_TYPE, UINTMAX_TYPE): Define.
|
||
(c_common_nodes_and_builtins): Create string_type_node,
|
||
const_string_type_node, wint_type_node, intmax_type_node,
|
||
uintmax_type_node, default_function_type, ptrdiff_type_node and
|
||
unsigned_ptrdiff_type_node.
|
||
* c-common.h (identifier_global_value): Declare.
|
||
* c-decl.c (WINT_TYPE, INTMAX_TYPE, UINTMAX_TYPE): Don't define.
|
||
(init_decl_processing): Don't create string_type_node,
|
||
const_string_type_node, wint_type_node, intmax_type_node,
|
||
uintmax_type_node, default_function_type, ptrdiff_type_node and
|
||
unsigned_ptrdiff_type_node.
|
||
(identifier_global_value): New function.
|
||
|
||
2000-12-01 Neil Booth <neilb@earthling.net>
|
||
|
||
* cppinit.c (initialize): Forgotten prototype.
|
||
* cpplex.c (_cpp_lex_token): Loop until not skipping.
|
||
Always clear PREV_WHITE upon meeting a new line.
|
||
* cpplib.c (end_directive): Set pfile->skipping after
|
||
skip_rest_of_line.
|
||
* cpplib.h (cpp_reader): Remove macro_pos.
|
||
* cppmacro.c (cpp_get_line): Don't do anything special inside
|
||
macros.
|
||
(parse_arg): Add PREV_WHITE if a token appears after new lines.
|
||
(funlike_invocation_p): Save and restore the output position
|
||
over a successful check for a '('.
|
||
(enter_macro_context): Delete uses of macro_pos.
|
||
(cpp_get_token): Don't use pfile->skipping.
|
||
|
||
2000-12-01 Phil Edwards <pme@sources.redhat.com>
|
||
|
||
* diagnostic.c: Fix typos in comments.
|
||
* diagnostic.h: Likewise.
|
||
|
||
2000-11-30 Phil Edwards <pme@sources.redhat.com>
|
||
|
||
* rtl.texi (Machine Modes): Document BImode and OImode.
|
||
|
||
2000-12-01 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* gcc.c (default_compilers): Add suffixes .mi, .cp, .ii, .FOR and
|
||
.FPP.
|
||
|
||
2000-12-01 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-decl.c (grokdeclarator): If pedantic, warn about arrays with
|
||
incomplete element type.
|
||
(grokparms): Before checking for incomplete parameter type, check
|
||
the type isn't error_mark_node.
|
||
|
||
2000-12-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* builtins.c (target_char_cast): New function.
|
||
(expand_builtin_strchr): Use it.
|
||
(expand_builtin_strrchr): Use it.
|
||
(builtin_memset_read_str): New function.
|
||
(expand_builtin_memset): Use target_char_cast.
|
||
Try to optimize memset with second argument non-zero using
|
||
store_by_pieces.
|
||
|
||
2000-11-30 Marek Michalkiewicz <marekm@linux.org.pl>
|
||
|
||
* install.texi (avr): Replace incomplete list of supported MCU
|
||
types with a link to the current one ...
|
||
* invoke.texi (AVR Options): ... here. Update -mmcu= to list
|
||
all supported MCU types. Document -minit-stack= default.
|
||
Document new options -mno-tablejump, -mtiny-stack.
|
||
* md.texi (AVR family): Fix typo in 'w' constraint letter
|
||
description. Document 'q'. Update 'O'.
|
||
|
||
2000-12-01 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* combine.c (cant_combine_insn_p): Only disallow insns involving
|
||
hard regs if they are reg-reg moves.
|
||
(try_combine, can_combine_p, combinable_i3pat): Delete old
|
||
SMALL_REGISTER_CLASSES tests.
|
||
|
||
2000-12-01 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* config/sh/sh.c (shiftcosts): Don't get INTVAL before testing
|
||
whether X is a CONST_INT.
|
||
(addsubcosts): Likewise.
|
||
|
||
* config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA): Use INTVAL instead of
|
||
mis-used XINT.
|
||
(ARG_POINTER_REGNUM): Set to AP_REG.
|
||
|
||
2000-11-30 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* config/sh/sh.md (fpu_switch0, fpu_switch1, movpsi, fpu_switch,
|
||
splits): Only match on TARGET_SH4.
|
||
|
||
* combine.c (try_combine): Disregard USEs when updating LOG_LINKS
|
||
of subsequent insns.
|
||
|
||
2000-11-30 Richard Henderson <rth@redhat.com>
|
||
|
||
* config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Disable.
|
||
* config/alpha/alpha32.h (ASM_OUTPUT_MI_THUNK): Likewise.
|
||
|
||
2000-11-30 Richard Henderson <rth@redhat.com>
|
||
|
||
* config/alpha/elf.h (ASM_OUTPUT_SECTION_NAME): Copy elfos.h defn.
|
||
(DO_SELECT_SECTION): New.
|
||
(SELECT_SECTION): Use it.
|
||
(UNIQUE_SECTION_P): New.
|
||
(UNIQUE_SECTION): New.
|
||
|
||
2000-11-30 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* c-common.c (status_warning) [! ANSI_PROTOTYPES]: Load status
|
||
from va_list before using it.
|
||
|
||
2000-11-30 Michael Matz <matzmich@cs.tu-berlin.de>
|
||
|
||
* flow.c (make_edge): Early out, if no flags to set.
|
||
(calculate_global_regs_live): Clear out garbage only when necessary.
|
||
|
||
* simplify-rtx.c (varray_type used_regs): New.
|
||
(clear_table): Use it to only clear necessary items.
|
||
(cselib_lookup, cselib_record_set): Remember newly set items.
|
||
(cselib_update_varray_sizes, cselib_init): Initialize and grow
|
||
used_regs.
|
||
|
||
* local-alloc.c (update_equiv_regs): New local `cleared_regs'.
|
||
Move clearing of dead regs out of insn-loop.
|
||
|
||
2000-11-30 Richard Henderson <rth@redhat.com>
|
||
|
||
* calls.c (expand_call): Emit queued insns before creating
|
||
the tail recursion sequence.
|
||
|
||
2000-11-30 J. David Anglin <dave.anglin@nrc.ca>
|
||
Bruce Korb <bkorb@gnu.org>
|
||
|
||
* fixinc/inclhack.def(): prevent dual double definition protection
|
||
* fixinc/fixincl.x: regenerate
|
||
|
||
2000-11-29 Loren J. Rittle <ljrittle@acm.org>
|
||
|
||
* fixinc/Makefile.in (fixincl.x): Explicitly state the
|
||
location of the generated file.
|
||
|
||
2000-11-30 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
|
||
|
||
* README.FRESCO: Remove obsolete file.
|
||
|
||
2000-11-30 Mark Kettenis <kettenis@gnu.org>
|
||
|
||
* config/t-gnu (LIBGCC1, CROSS_LIBGCC1, CRTSTUFF_T_CFLAGS,
|
||
TARGET_LIBGCC2_CFLAGS): Remove. We now use the settings from
|
||
config/t-linux for the Hurd.
|
||
|
||
2000-11-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
|
||
|
||
* config/mn10200/udivmod.c, config/mn10200/divmod.c,
|
||
config/mn10200/udivmodsi4.c: Moved from here.
|
||
* config/udivmod.c, config/divmod.c, config/udivmodsi4.c: To here.
|
||
* config/mn10200/t-mn10200 (LIB2FUNCS_EXTRA): Use the generic
|
||
C division functions.
|
||
* config/m68hc11/t-m68hc11-gas (LIB2FUNCS_EXTRA): Likewise.
|
||
|
||
Thu Nov 30 01:12:52 2000 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.md (conditional moves): Avoid holes in operand list.
|
||
(mod, umod patterns): Similarly.
|
||
(variable extract/shift patterns): Similarly.
|
||
|
||
2000-11-30 Neil Booth <neilb@earthling.net>
|
||
|
||
* objc/objc-act.c (lang_init, finish_file, maybe_objc_comptypes,
|
||
maybe_objc_check_decl, build_objc_string_object,
|
||
objc_declare_alias, objc_declare_class, build_message_expr,
|
||
build_protocol_expr, build_selector_expr, build_encode_expr,
|
||
get_class_ivars, start_class, start_protocol): Remove
|
||
redundant code, assuming doing_objc_thang is true.
|
||
|
||
2000-11-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
|
||
|
||
* pa.c (restore_unscaled_index_insn_codes): Delete procedure.
|
||
(record_unscaled_index_insn_codes): Likewise.
|
||
(unscaled_index_insn_codes): Delete.
|
||
(max_unscaled_index_insn_codes_uid): Delete.
|
||
(output_function_prologue, output_function_epilogue, pa_reorg):
|
||
Don't use the unscaled index insn hack.
|
||
|
||
* pa.md: Remove hack from all index insns to reverse the operand
|
||
order of frame and stack pointer references incorrectly created
|
||
in the reload pass.
|
||
|
||
* function.h (emit_status): Delete member regno_pointer_flag and
|
||
rename regno_pointer_flag_length to regno_pointer_align_length.
|
||
Delete define for REGNO_POINTER_FLAG.
|
||
* integrate.h (inline_remap): Delete member regno_pointer_flag.
|
||
Add member x_regno_reg_rtx.
|
||
* rtl.h (rtx_def): Use frame_related bit to indicate register is
|
||
a pointer in REG expressions. Define REG_POINTER macro.
|
||
* alias.c (find_base_value, find_base_term): Use REG_POINTER
|
||
instead of REGNO_POINTER_FLAG.
|
||
* combine.c (nonzero_bits, num_sign_bit_copies): Likewise.
|
||
* emit-rtl.c (gen_reg_rtx): Use regno_pointer_align_length instead
|
||
of regno_pointer_flag_length. Remove code which refers to
|
||
regno_pointer_flag.
|
||
(mark_reg_pointer): Use REG_POINTER.
|
||
(free_emit_status): Remove code which refers to regno_pointer_flag.
|
||
(init_emit, mark_emit_status): Likewise.
|
||
* flow.c (dump_flow_info): Likewise.
|
||
* function.c (preserve_temp_slots): Likewise.
|
||
* integrate.c (expand_inline_function, copy_rtx_and_substitute):
|
||
Use x_regno_reg_rtx instead of regno_pointer_flag for function
|
||
pointer determination in map.
|
||
* loop.c (strength_reduce, maybe_eliminate_biv_1): Use REG_POINTER.
|
||
* predict.c (estimate_probability): Likewise.
|
||
* regclass.c (record_address_regs, reg_scan_mark_refs): Likewise.
|
||
* unroll.c (unroll_loop): Use x_regno_reg_rtx instead of
|
||
regno_pointer_flag for function pointer determination in map.
|
||
* convex.h (RTX_COSTS): Don't test regno_pointer_flag and use
|
||
REG_POINTER.
|
||
* pa.c (hppa_legitimize_address, emit_move_sequence, basereg_operand):
|
||
Use REG_POINTER.
|
||
(restore_unscaled_index_insn_codes): Revise comment.
|
||
|
||
* expr.c (do_compare_and_jump): Add missing TYPE_MODE in statement.
|
||
|
||
2000-11-30 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* extend.texi: Update documentation for attributes.
|
||
|
||
2000-11-29 David O'Brien <obrien@FreeBSD.org>
|
||
|
||
* config/alpha/elf.h (IDENT_ASM_OP): Protect the #define.
|
||
(ASM_DECLARE_OBJECT_NAME): Same.
|
||
(ASM_FILE_END): Same.
|
||
(ASM_FINISH_DECLARE_OBJECT): Same.
|
||
(ASM_IDENTIFY_GCC): Same.
|
||
(ASM_IDENTIFY_LANGUAGE): Same.
|
||
(ASM_OUTPUT_CONSTRUCTOR): Same.
|
||
(ASM_OUTPUT_DEF): Same.
|
||
(ASM_OUTPUT_DESTRUCTOR): Same.
|
||
(ASM_OUTPUT_EXTERNAL_LIBCALL): Same.
|
||
(ASM_OUTPUT_SECTION_NAME): Same.
|
||
(ASM_WEAKEN_LABEL): Same.
|
||
(BSS_SECTION_ASM_OP): Same.
|
||
(COMMON_ASM_OP): Same.
|
||
(CONST_SECTION_ASM_OP): Same.
|
||
(CONST_SECTION_FUNCTION): Same.
|
||
(CTORS_SECTION_ASM_OP): Same.
|
||
(DTORS_SECTION_ASM_OP): Same.
|
||
(ESCAPES): Same.
|
||
(FINI_SECTION_ASM_OP): Same.
|
||
(IDENT_ASM_OP): Same.
|
||
(IDENT_ASM_OP): Same.
|
||
(INIT_SECTION_ASM_OP): Same.
|
||
(INT_ASM_OP): Same.
|
||
(MAX_OFILE_ALIGNMENT): Same.
|
||
(SBSS_SECTION_ASM_OP): Same.
|
||
(SDATA_SECTION_ASM_OP): Same.
|
||
(SECTION_FUNCTION_TEMPLATE): Same.
|
||
(SELECT_SECTION): Same.
|
||
(SE_CONST_SECTION): Same.
|
||
(SIZE_ASM_OP): Same.
|
||
(SKIP_ASM_OP): Same.
|
||
(STRING_ASM_OP): Same.
|
||
(STRING_LIMIT): Same.
|
||
(TYPE_ASM_OP): Same.
|
||
(TYPE_OPERAND_FMT): Same.
|
||
|
||
2000-11-29 Neil Booth <neilb@earthling.net>
|
||
|
||
* c-decl.c (c_decode_option): Don't handle -lang-objc.
|
||
* objc/lang-options.h: Remove -lang-objc.
|
||
* objc/lang-specs.h: Don't pass -lang-objc to cc1obj.
|
||
* objc/objc-act.c (lang_init_options): Set c_language.
|
||
|
||
2000-11-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* expr.c (can_store_by_pieces): Reinitialize max_size for reverse
|
||
tests.
|
||
|
||
2000-11-29 Neil Booth <neilb@earthling.net>
|
||
|
||
* c-pragma.c (init_pragma): Update for parse_in type change.
|
||
|
||
2000-11-29 Laurynas Biveinis <lauras@softhome.net>
|
||
|
||
* configure.in: recognize DOS-style absolute paths.
|
||
|
||
2000-11-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* expr.h (store_by_pieces): Add prototype.
|
||
(can_store_by_pieces): Likewise.
|
||
* expr.c (struct store_by_pieces): Renamed from clear_by_pieces.
|
||
(can_store_by_pieces): New.
|
||
(store_by_pieces): New.
|
||
(clear_by_pieces): New.
|
||
(clear_by_pieces_1): New.
|
||
(store_by_pieces_1): Renamed from clear_by_pieces, handle storing
|
||
arbitrary compiler generated constants into memory block.
|
||
(store_by_pieces_2): Renamed from clear_by_pieces_1, likewise.
|
||
* builtins.c (c_readstr): New.
|
||
(builtin_memcpy_read_str): New.
|
||
(expand_builtin_memcpy): If src is string constant and
|
||
emit_block_move would move it by pieces, compute integer constants
|
||
from the string and store it into memory block instead.
|
||
(builtin_strncpy_read_str): New.
|
||
(expand_builtin_strncpy): If N is not constant zero and c_strlen does
|
||
not return INTEGER_CST, don't optimize.
|
||
If N is larger than strlen(src) + 1, try to copy the string
|
||
including padding with store_by_pieces.
|
||
(expand_builtin_strcmp): If both arguments have side effects, don't
|
||
optimize.
|
||
(expand_builtin_fputs): If STR has side effects, don't optimize.
|
||
|
||
2000-11-29 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* arm.md (sibcall, sibcall_value, sibcall_insn, sibcall_value_insn):
|
||
Add use of link register.
|
||
|
||
2000-11-29 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* extend.texi: Update documentation for default format attributes.
|
||
|
||
Tue Nov 28 21:56:45 2000 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa/pa-64.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not
|
||
a list, to keep track of the sections.
|
||
|
||
2000-11-28 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/arm/arm.md (pic_load_addr): Split into
|
||
pic_load_addr_arm and pic_load_addr_thumb.
|
||
|
||
* config/arm/arm.c (legitimize_pic_address): Generate either
|
||
ARM or Thumb versions of pic_load_addr.
|
||
(arm_finalize_pic): Generate either ARM or Thumb versions of
|
||
pic_load_addr.
|
||
|
||
2000-11-28 Richard Henderson <rth@redhat.com>
|
||
|
||
* calls.c (expand_call): Defer const/pure NO_DEFER_POP until
|
||
after sibcall do_pending_stack_adjust.
|
||
|
||
Wed Nov 29 00:08:23 2000 J"orn Rennecke <amylaar@redhat.com>
|
||
|
||
* jump.c (delete_insn): Check that REG_LABEL note actually contains
|
||
a CODE_LABEL.
|
||
|
||
2000-11-28 Neil Booth <neilb@earthling.net>
|
||
|
||
* c-common.h: Remove flag_digraphs.
|
||
* c-decl.c: Remove flag_digraphs.
|
||
(c_decode_option): Don't set it.
|
||
* c-lex.c (init_c_lex): Don't do anything for digraphs.
|
||
|
||
2000-11-28 Richard Henderson <rth@redhat.com>
|
||
|
||
* c-parse.in (finish_parse): Update for parse_in type change.
|
||
(_yylex): Likewise.
|
||
|
||
2000-11-28 Neil Booth <neilb@earthling.net>
|
||
|
||
* cppmacro.c (cpp_scan_buffer_nooutput): Take a boolean
|
||
indicating whether to scan all buffers on the stack or
|
||
just one.
|
||
* cppinit.c (do_includes): Update.
|
||
* cppmain.c (main): Update.
|
||
* cpplib.h: Update prototype.
|
||
|
||
2000-11-28 Richard Henderson <rth@redhat.com>
|
||
|
||
* genoutput.c (validate_insn_operands): New.
|
||
(gen_insn): Call it.
|
||
|
||
* config/alpha/alpha.md (divmodsi_internal): Renumber operands.
|
||
(divmoddi_internal): Likewise.
|
||
* config/arm/arm.md (andsi3_compare0_scratch): Likewise.
|
||
* config/i960/i960.md (branch patterns): Likewise.
|
||
* config/ia64/ia64.md (tbit_and_0): Likewise.
|
||
(tbit_and_1, tbit_or_0, tbit_or_1): Likewise.
|
||
* config/m68k/m68k.md (zero_extract memory patterns): Likewise.
|
||
* config/mips/mips.md (divmodsi4_internal): Likewise.
|
||
(divmoddi4_internal): Likewise.
|
||
* config/rs6000/rs6000.md (call patterns): Likewise.
|
||
* config/sh/sh.md (movsi_y): Likewise.
|
||
* config/sparc/sparc.md: Comment out if 0 v8p shift pattern.
|
||
|
||
2000-11-28 Richard Henderson <rth@redhat.com>
|
||
|
||
* config.gcc: Kill residual pyramid support.
|
||
|
||
2000-11-28 Neil Booth <neilb@earthling.net>
|
||
|
||
* c-lex.h (parse_in): Change parse_in to a cpp_reader *.
|
||
* c-decl.c (c_decode_option): Update to match.
|
||
* c-lex.c (init_c_lex, yyparse): Update to match.
|
||
* c-lang.c (lang_init_options): Use cpp_create_reader.
|
||
* cppinit.c (cpp_init): Rename initialize.
|
||
(cpp_reader_init): Rename cpp_create_reader. Create the
|
||
reader. Initialize cpplib if appropriate.
|
||
* cpplib.h (cpp_create_reader) New prototype.
|
||
(cpp_init, cpp_reader_init): Delete prototypes.
|
||
* cppmain.c (general_init, setup_callbacks): New functions.
|
||
(main): Use them.
|
||
* fix-header.c (scan_in): Change type to cpp_reader *.
|
||
(read_scan_file): Update for new cpplib interface and scan_in type.
|
||
|
||
* cp/decl.c (parse_in): Change to cpp_reader *.
|
||
(lang_decode_option): Update.
|
||
* cp/lex.c (lang_init_options): Use new cpplib interface.
|
||
(init_cp_pragma, finish_parse, handle_pragma_implementation): Update.
|
||
* cp/spew.c (read_token): Update.
|
||
* objc/objc-act.c (lang_init_options): Update new cpplib interface.
|
||
|
||
2000-11-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* loop.c (load_mems): Avoid using next_label to find end_label. If
|
||
jumping outside of the loop (other than loop end), don't hoist MEMs
|
||
out of loop.
|
||
|
||
2000-11-28 Jan Hubicka <jh@suse.cz>
|
||
|
||
* calls.c (expand_call): Don't disable tail recursion based
|
||
on the loop nest.
|
||
|
||
2000-11-28 Neil Booth <neilb@earthling.net>
|
||
|
||
* tradcpp.c (enum node_type): New hash types T_ASSERT, T_UNASSERT.
|
||
(struct directive): Drop 4th argument from handlers.
|
||
(do_define, do_line, do_include, do_undef, do_else, do_elif,
|
||
do_endif): Similarly.
|
||
(do_assert, do_unassert, do_ifdef, do_ifndef): New handlers.
|
||
(do_ifxdef): Update as common handler of do_ifdef and do_ifndef.
|
||
(make_definition, make_undef): Take a const char*.
|
||
(make_assertion): New function.
|
||
(struct directive_table): Update.
|
||
(main): Handle -A command line argument.
|
||
(handle_directive): Drop fourth handler argument.
|
||
|
||
2000-11-28 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* simplify-rtx.c (cselib_record_sets): Ignore sets whose destination
|
||
is anything but REG or MEM, but look inside STRICT_LOW_PART.
|
||
|
||
Tue Nov 28 09:53:50 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* system.h (IS_DIR_SEPARATOR): Use uppercase macro name.
|
||
(IS_ABSOLUTE_PATHNAME): New macro.
|
||
* gcc.c (find_a_file, process_command, do_spec_1, main): Use it.
|
||
|
||
2000-11-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/i386/i386.md (truncxfsf2_2): Fix predicate.
|
||
|
||
2000-11-27 Jim Wilson <wilson@redhat.com>
|
||
|
||
* reload1.c (reload): Use HOST_WIDE_INT for old_frame_size.
|
||
|
||
2000-11-27 Matthias Klose <doko@cs.tu-berlin.de>
|
||
|
||
* extend.texi (Nested Functions): Update URL of Usenix paper.
|
||
|
||
2000-11-27 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* function.c (free_after_compilation): Clear x_clobber_return_insn.
|
||
|
||
2000-11-27 Neil Booth <neilb@earthling.net>
|
||
|
||
* cppinit.c (cpp_reader_init): Remove handling of warn_paste
|
||
command line options.
|
||
(cpp_handle_option): Similarly.
|
||
* cpplib.h (struct cpp_options): Remove warn_paste.
|
||
* cppmacro.c (paste_tokens): Apart from assembler, make
|
||
unpasteable token warning mandatory.
|
||
|
||
2000-11-27 Neil Booth <neilb@earthling.net>
|
||
|
||
* tradcpp.c (enum pending_dir_t, struct pending_dir): New.
|
||
(main): Allocate a pending directive set of these. Use it.
|
||
Merge handling of -D and -U. Update handling of pending
|
||
directives. Free the memory after use.
|
||
|
||
2000-11-27 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* flow.c (entry_exit_blocks): Add entry for cond_local_set.
|
||
(struct propagate_block_info): Add new member cond_local_set.
|
||
(propagate_block): Accept new arg cond_local_set. All callers
|
||
changed.
|
||
(init_propagate_block_info): Likewise.
|
||
(calculate_global_regs_live): Allocate & free cond_local_set. Always
|
||
rescan if there's overlap between cond_local_set and new_live_at_end.
|
||
(mark_set_1): Set bits either in cond_local_set or local_set, as
|
||
appropriate.
|
||
* basic-block.h (struct basic_block_def): New field cond_local_set.
|
||
(propagate_block, init_propagate_block_info): Update prototypes.
|
||
|
||
Mon Nov 27 17:29:44 2000 kaz Kojima <kkojima@rr.iij4u.or.jp>
|
||
|
||
* gcc/config/sh/sh.md (udivsi3_i4, udivsi3_i4_single): Clobber
|
||
T register.
|
||
|
||
2000-11-27 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* arm.c (select_dominance_cc_mode): Handle new way that combine
|
||
canonicalizes conditional compares.
|
||
(arm_select_cc_mode): Likewise.
|
||
* arm.md: Garbage collect some dead code.
|
||
(cmp_and, cmp_ior): New patterns.
|
||
(splitter for conditional move with inverted false): Use cond_exec
|
||
and handle unordered comparisons.
|
||
|
||
Mon Nov 27 17:22:56 MET 2000 Jan Hubicka <jh@suse.cz>
|
||
|
||
* i386.c (ix86_force_to_memory, ix86_free_from_memory): New.
|
||
* i386-protos.h (ix86_force_to_memory, ix86_free_from_memory): Declare
|
||
* i386.md (float?i?f, int/fp operations): Rewrite spliters to use
|
||
ix86_force_to_memory and ix86_free_from_memory.
|
||
|
||
2000-11-27 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* arm.md (arm_adddi3, adddi_sesidi_di, adddi_zesidi_di, arm_addsi3,
|
||
arm_subsi3_insn, anddi_zesidi_di, arm_andsi3_insn, anddi_notdi_di,
|
||
anddi_notzesidi_di, anddi_notsesidi_di, arm_iorsi3,
|
||
one_cmpldi2): Merge with splitters to create define_insn_and_split
|
||
patterns. Remove redundant splits.
|
||
(peephole2 for add:SI of invalid immediate): New.
|
||
(peephole2 for minus:SI of invalid immediate): New.
|
||
(peephole2 for ior:SI of invalid immediate): New.
|
||
(peephole for merge of move and compare): Convert ot peephole2.
|
||
(addsf3, adddf3): Mark as commutative.
|
||
|
||
* arm.md (thumb peephole for merging stack adjustments): Convert to
|
||
peephole2.
|
||
|
||
2000-11-27 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* haifa-sched.c (print_pattern): Prettier output for COND_EXEC.
|
||
|
||
* reload1.c (reload_cse_simplify_set): Pass down mode to cselib_lookup.
|
||
(reload_cse_simplify_operands): Do nothing about operands where both
|
||
the operand and the match_operand fail to give us a mode.
|
||
* simplify-rtx.c (wrap_constant): New function.
|
||
(entry_and_rtx_equal_p): Except integer constants to come wrapped in a
|
||
CONST describing the proper mode.
|
||
(rtx_equal_for_cselib_p): Pass down modes to recursive calls of
|
||
cselib_lookup.
|
||
(cselib_lookup_mem): Call wrap_constant on the rtx that is passed to
|
||
htab_find_slot_with_hash.
|
||
(cselib_lookup): Likewise.
|
||
|
||
Based on a patch from Geoff Keating <geoffk@redhat.com>:
|
||
* loop.c (basic_induction_var): If a REG is set from something
|
||
that is not a biv, then the REG is not a biv. Even if it is
|
||
earlier set from something that is a biv.
|
||
|
||
2000-11-27 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* configure.in (extra_objs): Enclose extra_headers in quotes.
|
||
* configure: Rebuilt.
|
||
|
||
2000-11-27 Neil Booth <neilb@earthling.net>
|
||
|
||
* c-lex.c (cb_enter_file, cb_leave_file, cb_rename_file):
|
||
Combine into the new function cb_change_file.
|
||
(init_c_lex): Update.
|
||
* cppfiles.c (stack_include_file): Use _cpp_do_file_change.
|
||
(cpp_syshdr_flags): Delete.
|
||
* cpphash.h (_cpp_do_file_change): New prototype.
|
||
Move struct cpp_buffer here from...
|
||
* cpplib.h (struct cpp_buffer): ... here.
|
||
(enum cpp_fc_reason, struct cpp_file_loc,
|
||
struct_cpp_file_change, change_file): New.
|
||
(enter_file, leave_file, rename_file, cpp_syshdr_flags): Delete.
|
||
* cpplib.c (do_line): Update for new cb_change_file callback.
|
||
(_cpp_do_file_change): New function.
|
||
(_cpp_pop_buffer): Update to use it.
|
||
* cppmain.c (move_printer): Delete.
|
||
(main): Set up single callback cb_change_file.
|
||
(cb_enter_file, cb_leave_file, cb_rename_file): Delete.
|
||
(cb_change_file): New.
|
||
* fix-header.c (cur_file, cb_change_file): New.
|
||
(recognized_function, read_scan_file): Update.
|
||
* scan-decls.c (scan_decls): Update.
|
||
* scan.h (recognized_function): Update prototype.
|
||
|
||
2000-11-26 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* tree.h (mark_tree_hashtable): New function.
|
||
* tree.c (mark_tree_hashtable_entry): New function.
|
||
(mark_tree_hashtable): Likewise.
|
||
|
||
2000-11-27 Michael Meissner <meissner@redhat.com>
|
||
|
||
* d30v-protos.h (srelational_si_operator): Correctly spell
|
||
function.
|
||
(urelational_si_operator): Ditto.
|
||
(relational_si_operator): Ditto.
|
||
(d30v_expand_prologue): Add prototype.
|
||
(d30v_expand_epilogue): Ditto.
|
||
|
||
* d30v.h (OPTIMIZATION_OPTIONS): Undo November 22nd change.
|
||
|
||
* d30v.md (movcccc_*): Delete now unused patterns.
|
||
(64 bit comparison splitters): Rewrite to use COND_EXEC instead of
|
||
IF_THEN_ELSE.
|
||
(define_cond_exec): Use 'b' to select branch flags.
|
||
|
||
2000-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* builtins.c (expand_builtin_strncmp, expand_builtin_strncpy): New
|
||
functions.
|
||
(expand_builtin): Handle BUILT_IN_STRNCPY and BUILT_IN_STRNCMP.
|
||
|
||
* builtins.def (BUILT_IN_STRNCPY, BUILT_IN_STRNCMP): New entries.
|
||
|
||
* c-common.c (c_common_nodes_and_builtins): Declare builtin
|
||
strncpy and strncmp.
|
||
|
||
* extend.texi (strncmp, strncpy): Document new builtins.
|
||
|
||
2000-11-26 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* config/elfos.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not
|
||
a list, to keep track of the sections.
|
||
* tm.texi (ASM_OUTPUT_SECTION_NAME): Document the fact that the
|
||
parameter provided will always be a canonical string.
|
||
|
||
2000-11-26 Neil Booth <neilb@earthling.net>
|
||
|
||
* cppmacro.c (cpp_scan_buffer_nooutput): Only scan the
|
||
current buffer.
|
||
|
||
2000-11-26 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* makefile.vms: Remove EGCS references.
|
||
|
||
2000-11-26 Ulrich Drepper <drepper@redhat.com>
|
||
|
||
* dwarf2out.c (output_file_names): New function. Compute minimal
|
||
combination of directory and file name table and emit them.
|
||
(output_line_info): Remove code to emit directory and file name
|
||
table and call output_file_names instead.
|
||
(file_info_cmp): Helper function to sort directory names.
|
||
|
||
2000-11-26 Neil Booth <neilb@earthling.net>
|
||
|
||
* cpplib.h (struct cpp_reader): Remove lang_asm.
|
||
(struct cpp_options): Remove c89. New members lang,
|
||
extended_numbers.
|
||
* cppexp.c (parse_number): Use them.
|
||
* cpphash.h (VALID_SIGN): Use them.
|
||
* cppinit.c (set_lang, cpp_start_read): Update.
|
||
* cpplex.c (parse_string, _cpp_lex_token): Update.
|
||
* cpplib.c (_cpp_handle_directive): Update.
|
||
* cppmacro.c (parse_args): Update.
|
||
* cppmain.c (scan_buffer): Update.
|
||
|
||
Sun Nov 26 10:02:37 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* fold-const.c (fold, case CONVERT_EXPR): Always return tree of
|
||
proper type.
|
||
|
||
2000-11-26 Neil Booth <neilb@earthling.net>
|
||
|
||
* Makefile.in: Remove MAYBE_CPPLIB and maybe_cpplib.
|
||
* c-decl.c: Remove parse_in declaration.
|
||
* c-lang.c: Similarly.
|
||
* c-lex.c: Similarly.
|
||
* c-parse.in: Similarly.
|
||
* c-pragma.c: Similarly.
|
||
* configure.in: Similarly.
|
||
* cp/Make-lang.in: Similarly.
|
||
* cp/spew.c: Similarly.
|
||
* cp/decl2.c: Remove check for lang-c++ option.
|
||
* cp/lang-specs.h: Remove -lang-c++ from cc1plus command line.
|
||
* cp/lex.c (lang_init_options): With cpp_reader_init, default to C++.
|
||
* c-lex.h: Add declaration of parse_in.
|
||
* cppinit.c: Call set_lang after allocating pfile->pending.
|
||
* configure: Regenerate.
|
||
|
||
2000-11-25 Zack Weinberg <zack@wolery.stanford.edu>
|
||
|
||
* combine.c (try_combine): Remove redundant test.
|
||
|
||
2000-11-25 Richard Henderson <rth@redhat.com>
|
||
|
||
* c-common.h (DECL_C_HARD_REGISTER): New.
|
||
* c-decl.c (finish_decl): Set it for asm register variables.
|
||
* c-semantics.c (emit_local_var): Test it when instantiating one.
|
||
|
||
2000-11-25 Richard Henderson <rth@redhat.com>
|
||
|
||
* c-decl.c (c_expand_body): Use DECL_SOURCE_LINE rather than
|
||
lineno for the start of the function.
|
||
|
||
2000-11-25 Richard Henderson <rth@redhat.com>
|
||
|
||
* dwarf2out.c (file_table, file_table_allocated): Remove.
|
||
(file_table_allocated): Remove.
|
||
(struct file_table): New.
|
||
(decl_file_table, line_file_table): New.
|
||
(print_dwarf_line_table): Use them.
|
||
(size_of_line_prolog): Likewise.
|
||
(output_line_info): Likewise.
|
||
(add_src_coords_attributes): Likewise.
|
||
(gen_subprogram_die): Likewise.
|
||
(gen_variable_die): Likewise.
|
||
(dwarf2out_add_library_unit_info): Likewise.
|
||
(dwarf2out_line): Likewise.
|
||
(lookup_filename): Take a struct file_table argument.
|
||
(init_file_table): New.
|
||
(dwarf2out_init): Use it.
|
||
|
||
2000-11-25 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* invoke.texi: Update sequence points references.
|
||
|
||
2000-11-25 Neil Booth <neilb@earthling.net>
|
||
|
||
* c-common.c: Remove USE_CPPLIB conditional inclusions.
|
||
* c-common.h: Similarly.
|
||
* c-decl.c: Similarly.
|
||
* c-lang.c: Similarly.
|
||
* c-lex.c: Similarly.
|
||
* c-parse.in: Similarly.
|
||
* c-pragma.c: Similarly.
|
||
* c-pragma.h: Similarly.
|
||
* gcc.c: Similarly.
|
||
* toplev.c: Similarly.
|
||
* cp/cp-tree.h: Similarly.
|
||
* cp/decl2.c: Similarly.
|
||
* cp/lang-specs.h: Similarly.
|
||
* cp/lex.c: Similarly.
|
||
* cp/lex.h: Similarly.
|
||
* cp/spew.c: Similarly.
|
||
* java/lang-options.h: Similarly.
|
||
* objc/lang-specs.h: Similarly.
|
||
* objc/objc-act.c: Similarly.
|
||
|
||
* configure.in: Remove configure option.
|
||
* config.in: Regenerate.
|
||
* configure: Regenerate.
|
||
|
||
2000-11-25 Richard Henderson <rth@redhat.com>
|
||
|
||
* haifa-sched.c (sched_analyze_1, sched_analyze_2, sched_analyze):
|
||
Revert 2000-11-22 change.
|
||
|
||
2000-11-25 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* config/i386/i386.h (FIXED_REGS): Make the three flags registers
|
||
fixed.
|
||
|
||
2000-11-25 Philipp Thomas <pthomas@suse.de>
|
||
* configure.in (ALL_LINGUAS): Remove en_GB and add sv.
|
||
* configure: Rebuilt.
|
||
|
||
2000-11-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/sparc/sparc.md (muldi3_v8plus): Remove H constraint.
|
||
Handle CONST_INT as second argument.
|
||
* config/sparc/sparc.c (set_extends): Remove first argument.
|
||
Properly handle AND, CONST_INT and CONST_DOUBLE, handle IOR, XOR and
|
||
MOV.
|
||
(sparc_check_64): Abort if first argument is not REG.
|
||
If it is DImode REG, look at the lower register of the register
|
||
pair.
|
||
|
||
* config/sparc/sparc.c (load_pic_register, restore_regs,
|
||
output_return, sparc_v8plus_shift, sparc_function_profiler,
|
||
sparc_function_block_profiler, sparc_block_profiler): Fix output
|
||
formatting.
|
||
|
||
2000-11-25 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* config/sh/sh.h (TARGET_NONE): New.
|
||
(TARGET_SWITCHES): For all variant-selecting switch, use
|
||
TARGET_NONE to reset all other variant-selecting switch. Added
|
||
empty strings to avoid warnings.
|
||
(TARGET_DEFAULT): Set to SH1_BIT.
|
||
|
||
* Makefile.in ($(INTL_TARGETS)): Added $(CONFIG_H) for
|
||
insn-codes.h.
|
||
|
||
* gcc/config/sh/sh.md (sibcalli, sibcalli_pcrel): New insns.
|
||
(sibcall_pcrel): New insn_and_split.
|
||
(sibcall, sibcall_value, sibcall_epilogue): New expands.
|
||
|
||
* config/sh/sh.md (GOTaddr2picreg, symGOT2reg, symGOTOFF2reg,
|
||
symPLT_label2reg, call, call_value): Don't set
|
||
current_function_uses_pic_offset_table.
|
||
* config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't mark
|
||
PIC_OFFSET_TABLE_REGNUM as call_used, so that calc_live_regs
|
||
takes it into account.
|
||
(FINALIZE_PIC): Delete, useless.
|
||
(LEGITIMATE_CONSTANT_P): Delete, unused.
|
||
* config/sh/sh.c (sh_expand_prologue): Don't use
|
||
current_function_uses_pic_offset_table. Don't special-case
|
||
PIC_OFFSET_TABLE_REGNUM. Initialize it if it's ever live and
|
||
PIC is enabled.
|
||
(sh_expand_epilogue, initial_elimination_offset): Don't
|
||
special case PIC_OFFSET_TABLE_REGNUM.
|
||
|
||
2000-11-25 Alexandre Oliva <aoliva@redhat.com>, NIIBE Yutaka <gniibe@m17n.org>
|
||
|
||
* config/sh/sh-protos.h (symbol_ref_operand): Declare.
|
||
* config/sh/sh.md (UNSPEC_CALLER): New constant.
|
||
(calli_pcrel, call_valuei_pcrel): Use PIC_REG.
|
||
(call_pcrel, call_value_pcrel): New insn_and_splits.
|
||
(call, call_value): Use them.
|
||
(call_site): New expand.
|
||
(sym_label2reg, symPLT_label2reg): Adjust to hold call_sites.
|
||
* config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA) [UNSPEC_CALLER]:
|
||
Output call_site label.
|
||
(PREDICATE_CODES): Added symbol_ref_operand.
|
||
* config/sh/sh.c (symbol_ref_operand): Define.
|
||
* emit-rtl.c (try_split): Propagate CALL_INSN_FUNCTION_USAGE
|
||
to CALL_INSNs in the split sequence.
|
||
|
||
2000-11-24 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config.gcc (v850-*-*): Define c_target_objs and
|
||
cxx_target_objs.
|
||
|
||
* config/v850/t-v850: Define how to build v850-c.o
|
||
|
||
* config/v850/v850.h (struct data_area_stack_element): Move
|
||
definition here from v850.c.
|
||
|
||
* config/v850v850.c: Include gcc.h to avoid compile time
|
||
warning.
|
||
(push_data_area): Move to v850-c.c.
|
||
(pop_data_area): Move to v850-c.c.
|
||
(mark_current_function_as_interrupt): Move to v850-c.c.
|
||
(GHS_default_section_names): Allow to be exported.
|
||
(GHS_current_section_names): Allow to be exported.
|
||
(data_area_stack_elements): Allow to be exported.
|
||
(ghs_pragma_section): Move to v850-c.c.
|
||
(ghs_pragma_interrupt): Move to v850-c.c.
|
||
(ghs_pragma_starttda): Move to v850-c.c.
|
||
(ghs_pragma_startsda): Move to v850-c.c.
|
||
(ghs_pragma_startzda): Move to v850-c.c.
|
||
(ghs_pragma_endtda): Move to v850-c.c.
|
||
(ghs_pragma_endsda): Move to v850-c.c.
|
||
(ghs_pragma_endzda): Move to v850-c.c.
|
||
|
||
* config/v850/v850-c.c: New file: Contains v850 specific
|
||
pragma parsing functions.
|
||
|
||
2000-11-24 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config.gcc (extra_objs): Remove duplicate description.
|
||
(c_target_objs): New variable. Contains target specific
|
||
object files for the gcc C compiler only.
|
||
(cxx_target_objs): New variable. Contains target specific
|
||
object files for the gxx C++ compiler only.
|
||
|
||
* configure.in (c_target_objs): Substitute in the makefile.
|
||
(cxx_target_objs): Substitute in the makefile.
|
||
* configure: Regenerate.
|
||
|
||
* Makefile.in (C_TARGET_OBJS): Define and initialise from
|
||
c_target_objs.
|
||
(CXX_TARGET_OBJS): Define and initialise from
|
||
cxx_target_objs.
|
||
(C_AND_OBJC_OBJS): Include C_TARGET_OBJS.
|
||
|
||
* cp/Make-lang.in (CXX_C_OBJS): Include CXX_TARGET_OBJS).
|
||
|
||
* tm.texi (REGISTER_TARGET_PRAGMAS): Add paragraph explaining
|
||
about how the use of the 'c_lex' function requires the use of
|
||
the target specific, language specific object files feature of
|
||
the configuration mechanism.
|
||
|
||
Fri Nov 24 18:50:58 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* gcc.c (process_command): Use F_OK, not R_OK.
|
||
|
||
2000-11-24 Arno J. Klaassen <arno@heho.snv.jussieu.fr>
|
||
|
||
* flow.c (print_rtl_and_abort): Remove ANSIism.
|
||
|
||
Fri Nov 24 19:54:36 2000 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* config/sh/sh.h (GENERAL_REGISTER_P,
|
||
GENERAL_OR_AP_REGISTER_P, FP_REGISTER_P, XD_REGISTER_P,
|
||
FP_OR_XD_REGISTER_P, FP_ANY_REGISTER_P): New macros. Use them
|
||
all over.
|
||
(SPECIAL_REG): Renamed to SPECIAL_REGISTER_P.
|
||
* config/sh/sh.c: Use new macros.
|
||
* config/sh/sh.md: Likewise.
|
||
|
||
Fri Nov 24 19:46:16 2000 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* config/sh/sh.md: Clobber MACH_REG and MACL_REG in SImode,
|
||
instead of just MACH_REG in DImode. Always refer to FPSCR_REG
|
||
in PSImode.
|
||
|
||
Fri Nov 24 22:37:41 2000 Denis Chertykov <denisc@overta.ru>
|
||
|
||
* config/avr/avr.c (out_tsthi,out_tstsi): Test simplification bug
|
||
fixed.
|
||
(machine_dependent_reorg): Wrong optimization based on
|
||
NOTICE_UPDATE_CC removed.
|
||
|
||
Fri Nov 24 19:48:09 2000 J"orn Rennecke <amylaar@redhat.com>
|
||
|
||
* jump.c (delete_computation): Re-instate deletion of feeding insn.
|
||
(delete_insn): Look for REG_LABEL notes.
|
||
(redirect_tablejump): Delete feeding insns.
|
||
|
||
2000-11-24 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* config/i386/i386.md (call_pop_0, call_pop_1, call_value_pop_0,
|
||
call_value_pop_1): Make sure operand numbers are contiguous.
|
||
|
||
* fold-const.c (fold_range_test): Avoid crash if LHS or RHS is null.
|
||
|
||
* reload1.c (conflicts_with_override): New function.
|
||
(emit_input_reload_insns): Use it to tighten test for validity
|
||
of substituting into output of previous insn.
|
||
|
||
* haifa-sched.c (struct ready_list): New.
|
||
(ready_lastpos, ready_add, ready_remove_first, ready_sort): New static
|
||
functions.
|
||
(schedule_insn): Replace args READY and N_READY with a pointer to a
|
||
ready_list; return void. Use the new functions to access the ready
|
||
list. All callers changed.
|
||
(queue_to_ready, debug_ready_list): Likewise.
|
||
(schedule_block): Initialize a ready_list structure. Use new
|
||
functions to access it.
|
||
(max_priority): Remove unused variable.
|
||
(schedule_insn): Don't set it.
|
||
|
||
* c-common.c (verify_tree): Don't recurse into CONSTRUCTORs.
|
||
|
||
* combine.c (cant_combine_insn_p): New function.
|
||
(try_combine): Use it.
|
||
|
||
* Makefile.in (c-common.o): Depend on $(OBSTACK_H).
|
||
* c-common.c (c-obstack.c): Include "obstack.h".
|
||
(struct reverse_tree): Delete.
|
||
(reverse_list, reverse_max_depth): Delete.
|
||
(build_reverse_tree, common_ancestor, modify_ok): Delete functions.
|
||
(struct tlist, struct tlist_cache): New.
|
||
(tlist_obstack, tlist_firstobj, warned_ids, save_expr_cache): New.
|
||
(add_tlist, merge_tlist, verify_tree, warning_candidate_p,
|
||
warn_for_collisions, warn_for_collisions_1, new_tlist): New
|
||
static functions.
|
||
(verify_sequence_points): Rewritten.
|
||
* fold-const.c (fold): Don't lose possibly important sequence
|
||
points when removing one arm of TRUTH_ORIF_EXPRs or TRUTH_ANDIF_EXPRs.
|
||
|
||
2000-11-24 Richard Sandiford <rsandifo@redhat.com>
|
||
|
||
* gcc/cse.c (cse_insn): Removed conversion of REG_EQUIV to REG_EQUAL
|
||
when reversing a register-to-register copy. Reversal now disabled
|
||
when the previous instruction has a REG_EQUIV.
|
||
|
||
2000-11-24 Nathan Sidwell <nathan@codesourcery.com>
|
||
|
||
* c-parse.in (unary_expr): Move VA_ARG from here ...
|
||
(primary): ... to here.
|
||
|
||
2000-11-23 Graham Stott <grahams@redhat.com>
|
||
|
||
* expr.c (store_constructor): If a field is non addressable and
|
||
the target is a MEM use MEM_ALIAS_SET otherwise use get_alias_set.
|
||
|
||
2000-11-23 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* flow.c (print_rtl_and_abort): New function.
|
||
(verify_wide_reg, verify_local_live_at_start): Try to dump more
|
||
information before aborting.
|
||
|
||
2000-11-23 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* emit-rtl.c (gen_lowpart_common): Use word 0 if register mode
|
||
is narrower than requested mode.
|
||
(gen_highpart): Abort if register mode is narrower than
|
||
requested mode.
|
||
|
||
2000-11-23 Graham Stott <grahams@redhat.com>
|
||
|
||
* cse.c (cse_insn): Initialise all regcost variables.
|
||
Fix a typo add missing '='.
|
||
Only compare costs if there is a replacement insn.
|
||
|
||
Thu Nov 23 04:33:33 2000 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* final.c (output_addr_const) [LABEL_REF]: Simplify.
|
||
[MINUS]: Enclose non-CONST_INTs in parentheses.
|
||
[default]: Try OUTPUT_ADDR_CONST_EXTRA.
|
||
* tm.texi (OUTPUT_ADDR_CONST_EXTRA): Document it.
|
||
* varasm.c (decode_rtx_const) [CONST]: If it's not something
|
||
PLUS or MINUS a CONST_INT, use the whole CONST with offset 0
|
||
instead of abort()ing.
|
||
* sh.c (output_pic_addr_const): Removed. Fixed all callers.
|
||
* sh.h (OUTPUT_ADDR_CONST_EXTRA): New. Handle the UNSPECs
|
||
formerly handled in output_pic_addr_const.
|
||
* sh.md (sym_label2reg, symPLT_label2reg): Enclose UNSPEC
|
||
operands of MINUS in CONSTs so that decode_rtx_const() will
|
||
accept them.
|
||
|
||
Thu Nov 23 04:10:30 2000 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* config/sh/sh.md (mova_const): New pattern.
|
||
(GOTaddr2picreg): Use it.
|
||
* config/sh/sh.c (broken_move): Match it.
|
||
(mova_p): Don't match it.
|
||
(machine_dependent_reorg): Adjust it.
|
||
|
||
Thu Nov 23 02:09:09 2000 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* config/sh/sh.h (FIRST_GENERAL_REG, LAST_GENERAL_REG): New.
|
||
Moved most register-number #defines...
|
||
* config/sh/sh.md (define_constants): ... here. Use macros to
|
||
refer to registers and unspecs.
|
||
* config/sh/sh.c: Likewise.
|
||
|
||
Thu Nov 23 01:01:32 2000 J"orn Rennecke <amylaar@redhat.com>
|
||
|
||
* Makefile.in (HOST_CFLAGS): Add -DGENERATOR_FILE.
|
||
(rtl.o, print-rtl.o, bitmap.o, obstack.o): Build with -DGENERATOR_FILE.
|
||
(alloca.o, vfprintf.o, ggc-none.o, errors.o): Likewise.
|
||
(splay-tree.o, hash.o): Likewise.
|
||
GCONFIG_H: New.
|
||
(rtl.o, print-rtl.o): Depend on $(GCONFIG_H) instead of $(CONFIG_H).
|
||
(bitmap.o, obstack.o, vfprintf.o, ggc-none.o, errors.o): Likewise.
|
||
(hashtab.o): Likewise.
|
||
(gcov.o): Depend on $(CONFIG_H).
|
||
* configure.in: #include insn-codes.h in tm.h.
|
||
|
||
2000-11-22 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/arm/arm.c (arm_encode_call_attribute): Make 'newstr' a
|
||
const char * to avoid a compile time warning.
|
||
|
||
* config/arm/arm.md (define_constants): Define symbolic names for
|
||
the link register, last integer register and the fake CC register.
|
||
Update patterns to use these symbolic names.
|
||
|
||
2000-11-22 Neil Booth <neilb@earthling.net>
|
||
|
||
* cpplex.c (trigraph_ok): Ensure we don't warn twice.
|
||
* cpplib.h (struct cpp_buffer): New member last_Wtrigraphs.
|
||
|
||
2000-11-22 Richard Henderson <rth@redhat.com>
|
||
|
||
* haifa-sched.c (sched_analyze_1): Don't special-case calls
|
||
for clobbering registers.
|
||
(sched_analyze_2): Likewise.
|
||
(sched_analyze): Zap reg_last_uses and reg_last_sets after calls.
|
||
|
||
2000-11-22 Chris Demetriou <cgd@sibyte.com>
|
||
Neil Booth <neilb@earthling.net>
|
||
|
||
* gcc.c (validate_switches): Validate multiple switches named
|
||
in '|' (or) expressions in specs.
|
||
(handle_braces): If more than 1 alternative in a '|' spec
|
||
matches, call do_spec1 just once.
|
||
|
||
2000-11-22 Michael Meissner <meissner@redhat.com>
|
||
|
||
* d30v.h (TARGET_SWITCHES): Add documentation strings.
|
||
(TARGET_OPTIONS): Ditto.
|
||
(OPTIMIZATION_OPTIONS): Temporarily turn off -frename-registers if
|
||
-O3.
|
||
|
||
Wed Nov 22 06:40:56 2000 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.c (hppa_encode_label): Account for addition of encoding
|
||
character when allocating persistent space for the new label
|
||
name.
|
||
|
||
2000-11-22 Zack Weinberg <zack@wolery.stanford.edu>
|
||
|
||
* Makefile.in, config.gcc, configure.in: Expunge remaining
|
||
traces of facility for running MD files through C preprocessor.
|
||
|
||
2000-11-22 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* gcov.texi: Add magic comments for texi2pod.pl.
|
||
* Makefile.in: Add rules to generate and install gcov.1.
|
||
* gcov.1: New (generated) file.
|
||
|
||
2000-11-21 Richard Henderson <rth@redhat.com>
|
||
|
||
* regrename.c (scan_rtx_reg): Terminate the chain rather than
|
||
abort on mark_read with NO_REGS.
|
||
|
||
2000-11-21 Mike Stump <mrs@wrs.com>
|
||
|
||
* fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Fix to allow
|
||
compilation with older compilers, such as /bin/cc on SunOS.
|
||
* fixinc/fixfixes.c (FIX_PROC_HEAD): Ditto.
|
||
|
||
2000-11-21 Richard Henderson <rth@redhat.com>
|
||
|
||
* varasm.c (record_constant): Pad the constructed
|
||
constant_descriptor appropriately.
|
||
|
||
Wed Nov 22 00:52:55 2000 J"orn Rennecke <amylaar@redhat.com>
|
||
|
||
* rtl.h (traverse_md_constants): Declare.
|
||
(struct md_constant): Define.
|
||
* Makefile.in (HOST_RTL): Add hashtab.o .
|
||
(OBJS): Add hashtab.o .
|
||
(hashtab.o): New rule.
|
||
(rtl.o): Depends on HASHTAB_H.
|
||
* rtl.c (hashtab.h): #include.
|
||
(md_constants): New static variable.
|
||
(def_hash, def_name_eq_p, read_constants): New static functions.
|
||
(traverse_md_constants): New function.
|
||
(read_name): Do constant expansion.
|
||
(read_rtx): Recognize define_constants.
|
||
* gencodes.c (print_md_constant): New function.
|
||
(main): Emit #defines for all constant definitions encountered.
|
||
* md.texi (Constant Definitions): New node.
|
||
* gensupport.c (xcalloc): New function.
|
||
|
||
2000-11-21 Richard Henderson <rth@redhat.com>
|
||
|
||
* config/alpha/alpha.c (alpha_split_tfmode_frobsign): New.
|
||
* config/alpha/alpha-protos.h: Declare it.
|
||
* config/alpha/alpha.md (abstf_internal): Use it.
|
||
(negtf_internal): Likewise.
|
||
(andnotdi3): Unstar the name.
|
||
(movtf_internal): Add o/G alternative.
|
||
|
||
2000-11-21 Zack Weinberg <zack@wolery.stanford.edu>
|
||
|
||
* stringpool.c (stringpool_statistics): Also report number and
|
||
percentage of entries which are identifiers.
|
||
|
||
2000-11-21 Diego Novillo <dnovillo@redhat.com>
|
||
|
||
* gcse.c (hoist_expr_reaches_here_p): Do not mark expr_bb as
|
||
visited before visiting it.
|
||
|
||
2000-11-21 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/arm/arm.h: Accept TARGET_CPU_arm9tdmi,
|
||
TARGET_CPU_strongarm110 and TARGET_SPU_strongarm1100.
|
||
|
||
* config.gcc: Accept --with-cpu=arm9 and --with-cpu=arm9tdmi.
|
||
|
||
2000-11-21 Richard Henderson <rth@redhat.com>
|
||
|
||
* c-common.c (c_unsafe_for_reeval): New function.
|
||
(add_c_tree_codes): Register it.
|
||
* c-common.h: Declare it.
|
||
* tree.c (lang_unsafe_for_reeval): New hook.
|
||
(unsafe_for_reeval): Call it.
|
||
* tree.h: Declare it.
|
||
|
||
2000-11-21 Richard Henderson <rth@redhat.com>
|
||
|
||
* config/i386/i386.c (i386_simplify_dwarf_addr): Simplify @GOT
|
||
references as well.
|
||
|
||
2000-11-21 Neil Booth <neilb@earthling.net>
|
||
|
||
* do_includes: Revert to using cpp_read_file.
|
||
|
||
2000-11-21 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* loop.c (consec_sets_giv): If the reg we're examining is anything
|
||
but UNKNOWN_INDUCT, do nothing.
|
||
Reset the reg's type to UNKNOWN_INDUCT before returning.
|
||
|
||
Mostly from Vladimir Makarov (vmakarov@redhat.com)
|
||
* ia64.md (attr itanium_class): Define insn types as described in
|
||
Itanium docs.
|
||
(all insn patterns): Use itanium_class, not type attributes.
|
||
Occasionally split alternatives as necessary.
|
||
(attr type): Compute from new attr itanium_class.
|
||
|
||
2000-11-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* tradcpp.c (output_line_command): Mark system headers as such in
|
||
`line' commands.
|
||
|
||
2000-11-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Sparc has .file/.loc
|
||
support in as as well.
|
||
* configure: Regenerate.
|
||
|
||
2000-11-20 Richard Henderson <rth@redhat.com>
|
||
|
||
* c-lex.c (orig_filename): New variable.
|
||
(init_c_lex): Set it. Move call to cpp_start_read ...
|
||
(yyparse): ... here. New function.
|
||
* c-parse.in (yyparse_1): Rename the parser entry point.
|
||
* c-tree.h: Declare it.
|
||
|
||
2000-11-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* expr.c (do_compare_and_jump): If op0 was replaced by promoted
|
||
integer constant, use type of op1 for comparison.
|
||
|
||
2000-11-20 Stan Shebs <shebs@apple.com>
|
||
|
||
* config/rs6000/xm-darwin.h: New file, Darwin host definitions.
|
||
* config/rs6000/x-darwin: New file, Darwin host fragment.
|
||
* config.gcc (powerpc-*-darwin*): New host.
|
||
* system.h (HAVE_DESIGNATED_INITIALIZERS): Allow this to be
|
||
overridden by a config file.
|
||
|
||
2000-11-20 Neil Booth <neilb@earthling.net>
|
||
|
||
* cppmacro.c (paste_tokens): Rename from paste_payloads.
|
||
Change token type after pasting spellings.
|
||
(paste_all_tokens): Use it.
|
||
* gcc.dg/cpp/paste2.c: Update test.
|
||
* objc/execute/paste.m: New test.
|
||
|
||
2000-11-20 Richard Henderson <rth@redhat.com>
|
||
|
||
* dwarf.h (FMT_CODE): Adjust argument order; fix mapping to
|
||
dwarf_subscr_data_formats bits.
|
||
* dwarfout.c (simple_type_size_in_bits): Handle a type with
|
||
no computed size as size zero.
|
||
(field_byte_offset): Likewise.
|
||
(subscript_data_attribute): Handle a range with no upper bound.
|
||
|
||
2000-11-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* gansidecl.h (const): Check __STDC__ before undef'ing `const'.
|
||
|
||
2000-11-20 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-typeck.c (build_conditional_expr): When merging type
|
||
qualifiers for conditional expressions between a pointer and a
|
||
pointer to a void type, merge the qualifiers on the target types
|
||
rather than the pointer type. Remove obsolete conditioned out
|
||
code.
|
||
|
||
2000-11-20 Neil Booth <neilb@earthling.net>
|
||
|
||
* c-lang.c (lang_init_options): Update call to
|
||
cpp_reader_init.
|
||
* cppmain.c (main): Similarly.
|
||
* fix-header.c (read_scan_file): Similarly.
|
||
* cp/lex.c (lang_init_options): Similarly.
|
||
* objc/objc-act.c (lang_init_options): Similarly.
|
||
* cppexp.c (parse_number): Only warn for unextended C89.
|
||
* cppinit.c (set_lang): New function.
|
||
(cpp_reader_init): Take a LANG argument and pass it to set_lang.
|
||
(COMMAND_LINE_OPTIONS): New option std=c++98.
|
||
(cpp_handle_option): Use set_lang.
|
||
* cpplex.c (_cpp_lex_token): Warn pedantically if not C99.
|
||
* cppib.h (enum_c_lang): New enumeration. Update comments.
|
||
|
||
2000-11-20 Will Cohen <wcohen@redhat.com>
|
||
|
||
* calls.c (expand_call): Clear target only when target is in
|
||
hard register and current_function_check_memory_usage is set.
|
||
|
||
2000-11-20 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* toplev.c (rest_of_compilation): Run optimize_mode_switching even
|
||
if not optimizing.
|
||
* sh.c (emit_sf_insn, emit_df_insn): Just call emit_insn.
|
||
|
||
2000-11-19 Richard Henderson <rth@redhat.com>
|
||
|
||
* crtstuff.c (force_to_data): Use array size 1 not 0.
|
||
|
||
* dwarf2out.c (simple_type_size_in_bits): Handle a type with
|
||
no computed size as size zero.
|
||
(field_byte_offset): Likewise.
|
||
|
||
2000-11-20 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* config.gcc: Fix another typo.
|
||
|
||
2000-11-19 Richard Henderson <rth@redhat.com>
|
||
|
||
* c-decl.c (grokdeclarator): Support flexible array members.
|
||
Use open-ended ranges for these and zero-length arrays.
|
||
* c-typeck.c (push_init_level): Validate the context of
|
||
initialization of a zero-length array.
|
||
* tree.c (int_fits_type_p): Be prepared for missing bounds.
|
||
* varasm.c (array_size_for_constructor): New.
|
||
(output_constructor): Use it for arrays of unspecified length.
|
||
* extend.texi (Zero Length): Mention C99 flexible array members.
|
||
Document initialization in a top-level struct as valid.
|
||
|
||
2000-11-19 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* config.gcc, invoke.texi: Fix errors in spelling of "deprecated".
|
||
|
||
* alias.c (mems_in_disjoint_alias_sets_p): Do use alias sets in
|
||
stdarg and varargs functions.
|
||
|
||
2000-11-19 Zack Weinberg <zack@wolery.stanford.edu>
|
||
|
||
* gcc.c (process_command): Define 'j' variable when
|
||
MODIFY_TARGET_NAME is defined.
|
||
|
||
2000-11-19 Richard Henderson <rth@redhat.com>
|
||
|
||
* stor-layout.c (variable_size): Only put SAVE_EXPRs on pending_sizes.
|
||
|
||
2000-11-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
|
||
|
||
* rs6000/rs6000.c (rs6000_encode_section_info): Fix string length
|
||
calculation and allocation.
|
||
|
||
2000-11-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* builtins.c (c_getstr): Constify variable.
|
||
* gmon-sol2.c (_mcleanup): Comment out #endif labels.
|
||
* conflict.c (const_conflict_graph_arc): New typedef.
|
||
(arc_hash, arc_eq): Avoid needlessly casting away const-ness.
|
||
* cppmacro.c (builtin_macro): Likewise.
|
||
* dwarf2out.c (output_comp_unit): Constify variable.
|
||
* fix-header.c (v_fatal): Add ATTRIBUTE_PRINTF.
|
||
* protoize.c (IS_SAME_PATH_CHAR): Use TOUPPER, not toupper.
|
||
* ssa.c (ssa_rename_from_hash_function): Avoid needlessly casting
|
||
away const-ness.
|
||
* tradcpp.c (rescan, do_line, macroexpand, macarg): Use
|
||
ISALNUM/ISDIGIT/ISPRINT, not isalnum/isdigit/isprint.
|
||
* varasm.c (const_str_htab_hash, const_str_htab_eq,
|
||
compare_constant_1, record_constant_1): Constify.
|
||
|
||
2000-11-18 Richard Henderson <rth@redhat.com>
|
||
|
||
* c-decl.c (grokdeclarator): Special case the creation of an
|
||
index for a zero-length array.
|
||
* tree.c (build_index_type): Revert Oct 20 change.
|
||
|
||
2000-11-18 Marek Michalkiewicz <marekm@linux.org.pl>
|
||
|
||
* config/avr/avr-protos.h (avr_output_addr_vec_elt): Prototype.
|
||
* config/avr/avr.c (jump_tables_size): New variable.
|
||
(function_prologue): Initialize it as 0.
|
||
(function_epilogue): Add it to function_size.
|
||
(avr_output_addr_vec_elt): New function. Count words in jump
|
||
tables in jump_tables_size. Move code ...
|
||
* config/avr/avr.h (ASM_OUTPUT_ADDR_VEC_ELT): ... from here.
|
||
Call avr_output_addr_vec_elt instead.
|
||
* config/avr/avr.md (tablejump): Remove disabled define_expand.
|
||
|
||
2000-11-18 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* configure.in: Make --enable-new-gxx-abi the default.
|
||
* configure: Likewise.
|
||
|
||
2000-11-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* Makefile.in (tradcpp.o, tradcif.o): Depend on tradcpp.h.
|
||
|
||
* tradcif.y: Include tradcpp.h. Constify. Make functions static.
|
||
Move extern function declarations to tradcpp.h.
|
||
|
||
* tradcpp.c: Likewise.
|
||
|
||
* tradcpp.h: New file.
|
||
|
||
2000-11-18 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-decl.c (check_for_loop_decls): New function.
|
||
* c-parse.in (for_init_stmt): New.
|
||
(select_or_iter_stmt): Use for_init_stmt.
|
||
* c-tree.h (check_for_loop_decls): New declaration.
|
||
|
||
2000-11-18 Neil Booth <neilb@earthling.net>
|
||
|
||
* cppinit.c: Update comments.
|
||
(cpp_reader_init): Make -imacro and -include use the standard
|
||
#include "" search path.
|
||
(do_includes): New function.
|
||
|
||
2000-11-18 Ben Elliston <bje@redhat.com>
|
||
|
||
* config/sh/crt1.asm (start_l): Move PC-relative move instruction
|
||
out of a branch delay slot.
|
||
|
||
2000-11-17 Richard Henderson <rth@redhat.com>
|
||
|
||
* config/alpha/elf.h (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
|
||
(ASM_SPEC): Disable and enable .mdebug based on -gstabs.
|
||
(ASM_FILE_START): Only write out ecoff .file directive if
|
||
emitting mdebug debugging.
|
||
|
||
2000-11-17 Richard Henderson <rth@redhat.com>
|
||
|
||
* configure.in (HAVE_AS_DWARF2_DEBUG_LINE): New. Detect
|
||
whether as accepts .file/.loc and produces dwarf2 line info.
|
||
* dwarf2out.c (DWARF2_ASM_LINE_DEBUG_INFO): Default on if
|
||
the assembler supports it.
|
||
* config.in, configure: Regenerate.
|
||
|
||
2000-11-17 Richard Henderson <rth@redhat.com>
|
||
|
||
* fixinc/mkfixinc.sh: Don't disable fixincludes for any linux*.
|
||
|
||
2000-11-17 Jim Wilson <wilson@redhat.com>
|
||
|
||
* config/ia64/ia64.c (emit_insn_group_barriers, case CALL_INSN):
|
||
Don't clear need_barrier is next_insn is a CALL_INSN, or has
|
||
instruction type B or UNKNOWN.
|
||
|
||
2000-11-17 Neil Booth <neilb@earthling.net>
|
||
|
||
* cpperror.c (print_file_and_line): Don't display line number if 0.
|
||
|
||
2000-11-17 Zack Weinberg <zack@wolery.stanford.edu>
|
||
|
||
* ggc.h: Delete ggc_add_string_root and ggc_mark_string. Add
|
||
digit_vector and digit_string.
|
||
* stringpool.c (digit_vector): New.
|
||
(ggc_alloc_string): Use digit_string.
|
||
|
||
* stmt.c (digit_strings): Delete.
|
||
(init_stmt): Do not initialize digit_strings.
|
||
(expand_asm_operands): Use ggc.h's digit_string macro.
|
||
* toplev.c (mark_file_stack): Delete.
|
||
(compile_file): Don't call init_tree_codes.
|
||
(main): No need to make the file stack a GC root.
|
||
* tree.c (init_tree_codes): Delete.
|
||
* tree.h (init_tree_codes): Delete.
|
||
|
||
* c-lex.c: Don't include ggc.h.
|
||
(mark_splay_tree_node, mark_splay_tree): Delete.
|
||
(init_c_lex): No need to ggc_strdup string constant. Don't add
|
||
file_info_tree to GGC roots.
|
||
(cb_enter_file, cb_rename_file): No need to ggc_strdup
|
||
ip->nominal_fname.
|
||
|
||
* Makefile.in (c-lex.o): No longer depends on $(GGC_H).
|
||
|
||
* dbxout.c (dbxout_init),
|
||
dwarf2out.c (dwarf2out_line),
|
||
ggc-common.c (ggc_mark_rtx_children, ggc_mark_trees),
|
||
varasm.c (mark_const_hash_entry, mark_pool_constant, init_varasm_once),
|
||
xcoffout.c (xcoffout_source_file),
|
||
i386.c (load_pic_register):
|
||
Delete call(s) to ggc_add_string_root and/or ggc_mark_string.
|
||
|
||
* except.c (create_rethrow_ref),
|
||
profile.c (init_edge_profiler),
|
||
toplev.c (compile_file),
|
||
varasm.c (named_section, assemble_static_space,
|
||
assemble_trampoline_template, output_constant_def, force_const_mem),
|
||
i386.c (load_pic_register),
|
||
ia64.c (ia64_encode_section_info),
|
||
rs6000.c (rs6000_emit_load_toc_table, create_TOC_reference,
|
||
rs6000_emit_prologue, rs6000_emit_epilogue),
|
||
rs6000.md (load_toc_aix_si, load_toc_aix_di):
|
||
Change ggc_alloc_string (var, -1) to ggc_strdup (var).
|
||
|
||
* profile.c (output_func_start_profiler),
|
||
tree.c (make_node),
|
||
i386.c (load_pic_register): No need to ggc_strdup string constant.
|
||
|
||
2000-11-17 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* Makefile.in (config.status): Depend on config.gcc.
|
||
* configure.in <for machine in $build $host $target>: Move
|
||
contents of loop into config.gcc, removing autoconf quoting.
|
||
Fix changequote bug for alpha*-*-vxworks*.
|
||
* configure: Regenerate.
|
||
* config.gcc: New.
|
||
|
||
2000-11-16 Zack Weinberg <zack@wolery.stanford.edu>
|
||
|
||
* c-parse.in (if_prefix): Find the filename and line number at
|
||
$-2 and $-1 respectively.
|
||
* diagnostic.c (error_recursion): Add missing newline, use
|
||
fputs, translate string.
|
||
|
||
2000-11-16 Zack Weinberg <zack@wolery.stanford.edu>
|
||
|
||
* stringpool.c: New file.
|
||
* ggc-common.c (ggc_mark_string_ptr, ggc_add_string_root): Delete.
|
||
(ggc_alloc_string): Now in stringpool.o.
|
||
* ggc-page.c, ggc-simple.c: Do not define or allocate empty_string.
|
||
* ggc.h: Delete prototype of ggc_add_string_root. #define
|
||
ggc_add_string_root and ggc_mark_string to nothing. Prototype
|
||
init_stringpool and stringpool_statistics.
|
||
(ggc_alloc_string): Returns a const char *.
|
||
* tree.c (hash_table, do_identifier_warnings): Delete.
|
||
(init_obstacks): Don't initialize the identifier hash table.
|
||
(get_identifier, maybe_get_identifier, start_identifier_warnings,
|
||
set_identifier_size): Now in stringpool.c.
|
||
* tree.h (struct tree_string): Constify pointer field.
|
||
(approx_sqrt): Prototype.
|
||
|
||
* Makefile.in (stringpool.o): Add rule, mention in OBJS.
|
||
|
||
* toplev.c (approx_sqrt): New function.
|
||
(compile_file): Call stringpool_statistics if mem_report is on.
|
||
(main): Call init_stringpool.
|
||
|
||
* builtins.c (c_strlen), c-decl.c (finish_decl), c-lex.c
|
||
(process_directive), c-typeck.c (constructor_asmspec, struct
|
||
initializer_stack, start_init), except.c (create_rethrow_ref),
|
||
stmt.c (digit_strings), toplev.c (decode_f_option), tree.c
|
||
(built_in_filename), varasm,c (in_named_name,
|
||
assemble_static_space, struct constant_descriptor, struct
|
||
deferred_string, struct pool_constant, force_const_mem),
|
||
i386.c (pic_label_name, global_offset_table_name), rs6000.c
|
||
(rs6000_emit_prologue, rs6000_emit_epilogue) : Constify a char *.
|
||
|
||
* c-common.c (combine_strings): Combine strings in scratch
|
||
buffer, then pass to build_string.
|
||
* optabs.c (init_libfuncs), profile.c (init_edge_profiler,
|
||
output_func_start_profiler), stmt.c (init_stmt), alpha.c
|
||
(alpha_need_linkage), arm.c (arm_encode_call_attribute),
|
||
i386.c (load_pic_register), ia64.c (ia64_encode_section_info),
|
||
rs6000.c (rs6000_encode_section_info): Create string in
|
||
scratch buffer, then pass to ggc_alloc_string.
|
||
|
||
* stmt.c (expand_asm_operands): If we must adjust the
|
||
constraint strings, do so by creating a new one, not by
|
||
modifying the old one in place. Constify some char *s.
|
||
* config/pa/pa.c (hppa_encode_label): Drop unnecessary second
|
||
argument. Create string in scratch buffer, then pass to
|
||
ggc_alloc_string.
|
||
* config/pa/pa-protos.h: Update prototype.
|
||
* config/pa/elf.h, config/pa/pa.h, config/pa/som.h:
|
||
hppa_encode_label takes only one argument.
|
||
|
||
2000-11-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* mcore.c (mcore_expand_prolog): Call xmalloc/xrealloc, not
|
||
malloc/realloc.
|
||
|
||
* cpplib.c (glue_header_name): Likewise.
|
||
|
||
* fixincl.c (run_compiles, start_fixer): Likewise.
|
||
|
||
* fixlib.c (load_file_data): Likewise.
|
||
|
||
* mkdeps.c (munge): Likewise.
|
||
|
||
2000-11-17 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* defaults.h [EH_FRAME_SECTION_ASM_OP] (EH_FRAME_SECTION): Remove
|
||
trailing ';'. Fix formatting.
|
||
|
||
2000-11-16 Jim Wilson <wilson@redhat.com>
|
||
|
||
* config/ia64/ia64.h (MASK_INLINE_DIV_LAT, MASK_INLINE_DIV_THR):
|
||
Shift masks left by one to avoid conflict.
|
||
|
||
* config/ia64/ia64.c (ia64_encode_section_info): Disallow decls with
|
||
DECL_EXTERNAL set.
|
||
|
||
2000-11-16 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/arm/arm.c (output_arm_prologue): Note nested functions.
|
||
(arm_expand_prologue): For nested functions preserve the
|
||
static chain register during stack frame creation.
|
||
|
||
* config/arm/arm.h (STATIC_CHAIN_REGNUM): Change to 12.
|
||
(ARM_INITIAL_FRAME_ELIMINATION_OFFSET): For a nested function
|
||
with a stack frame there is a 4 byte gap between the arg
|
||
pointer and the hard frame pointer (used to preserve the
|
||
static chain register during stack frame creation).
|
||
|
||
2000-11-16 DJ Delorie <dj@redhat.com>
|
||
|
||
* rtl.c (read_rtx): Provide suitable names for unnamed
|
||
define_insn and define_insn_and_split patterns, based on file
|
||
and line numbers.
|
||
|
||
2000-11-15 Neil Booth <neilb@earthling.net>
|
||
|
||
* cpplib.c (start_directive, end_directive): New functions.
|
||
(_cpp_handle_directive, run_directive): Use them.
|
||
(_cpp_handle_directive): Don't -Wtraditional on indented
|
||
null directives.
|
||
(_cpp_push_buffer): Don't re-clear was_skipping.
|
||
* cpplib.h (struct cpp_reader): New member la_saved.
|
||
* cppmacro.c (cpp_get_token): Don't interpret _Pragma in
|
||
directives.
|
||
|
||
gcc.dg/cpp/_Pragma1.c: Update.
|
||
gcc.dg/cpp/_Pragma2.c: New test.
|
||
|
||
2000-11-15 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* toplev.c (wrapup_global_declarations): Don't write out
|
||
artificial static variables that aren't needed.
|
||
|
||
2000-11-15 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* ia64.c (struct group): New structure.
|
||
(last_group): New static array.
|
||
(group_idx): New static variable.
|
||
(emit_group_barrier_after, errata_find_address_regs, errata_emit_nops):
|
||
New static functions.
|
||
(emit_insn_group_barriers): Initialize and keep track of group_idx
|
||
and last_group.
|
||
Call errata_emit_nops if TARGET_B_STEP or TARGET_A_STEP.
|
||
Replace all calls to emit_insn_after that emit a group barrier to use
|
||
emit_group_barrier_after.
|
||
* ia64.h (MASK_B_STEP): New.
|
||
(other MASK_XXX macros): Renumbered.
|
||
(TARGET_B_STEP): New.
|
||
(TARGET_SWITCHES): Add -mb-step.
|
||
|
||
2000-11-15 Fred Fish <fnf@be.com>
|
||
|
||
* fixinc/mkfixinc.sh (fixincludes): Add *-*-beos* to list of
|
||
machines for which fixincludes is not needed.
|
||
* config/i386/x-beos (STMP_FIXPROTO): Don't run fixproto.
|
||
|
||
2000-11-15 Jason Merrill <jason@redhat.com>
|
||
|
||
* diagnostic.c (finish_abort): New fn.
|
||
(fancy_abort, error_recursion): Use it.
|
||
* toplev.c (crash_signal): Likewise.
|
||
* diagnostic.h: Declare it.
|
||
|
||
2000-11-13 Andrew Haley <aph@redhat.com>
|
||
|
||
* tree.c (build_type_no_quals): New function.
|
||
* tree.h (build_type_no_quals): Declare.
|
||
* c-common.c (c_get_alias_set): When considering type
|
||
compatibility for pointer types, ignore cv-qualifiers anywhere in
|
||
a pointer chain.
|
||
|
||
2000-11-15 Graham Stott <grahams@redhat.com>
|
||
|
||
* regrename.c (scan_rtx_rtx): Skip to the next chain on
|
||
encountering a terminated chain.
|
||
|
||
2000-11-14 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* configure.in: Move check for V3 above check for C++ header-file
|
||
directory.
|
||
* configure: Regenerated.
|
||
|
||
2000-11-14 DJ Delorie <dj@redhat.com>
|
||
|
||
* config/v850/v850.c: Remove obstacks.
|
||
|
||
Tue Nov 14 21:54:31 2000 Marek Michalkiewicz <marekm@linux.org.pl> & Denis Chertykov <denisc@overta.ru>
|
||
|
||
* config/avr/avr.c (avr_case_values_threshold): New.
|
||
(avr_override_options): Set it depending on options, make it large
|
||
when not optimizing to work around "unable to generate reloads".
|
||
|
||
* config/avr/avr.h (TARGET_SWITCHES): Add -mno-tablejump option.
|
||
(EXTRA_SECTION_FUNCTIONS): Make the .progmem.gcc_sw_table section
|
||
executable if not AVR_MEGA. Make sure jump tables are word-aligned.
|
||
(JUMP_TABLES_IN_TEXT_SECTION): Define as 0, not 1.
|
||
(ASM_OUTPUT_ADDR_VEC_ELT): Optimize, use "rjmp" if not AVR_MEGA.
|
||
(avr_case_values_threshold): Declare as extern int.
|
||
(CASE_VALUES_THRESHOLD): Define as avr_case_values_threshold.
|
||
|
||
* config/avr/avr.md (tablejump): Removed.
|
||
(*tablejump_rjmp): New for jump tables made from "rjmp" instructions.
|
||
(*tablejump_lib, *tablejump_enh, *tablejump): Change to expect the
|
||
index in the table, not multiplied by 2.
|
||
(casesi): Change to match the above insns. Always enable.
|
||
|
||
* config/avr/libgcc.S (__tablejump__): Rename to __tablejump2__.
|
||
Change to expect the word address of the table, multiply it by 2
|
||
here and not in the caller. Change "adiw" to faster "inc".
|
||
|
||
2000-11-14 Neil Booth <neilb@earthling.net>
|
||
|
||
* cppexp.c (parse_defined): Call cpp_get_token not
|
||
_cpp_get_token.
|
||
(lex): Similarly.
|
||
* cpplex.c (cpp_output_line): Similarly.
|
||
* cpplib.c (glue_header_name, do_line, do_ident,
|
||
parse_answer, parse_assertion): Similarly.
|
||
(_cpp_handle_diretive): Don't save to lookaheads
|
||
when processing directives.
|
||
* cppmacro.c (parse_arg, expand_arg): Call cpp_get_token not
|
||
_cpp_get_token.
|
||
(funlike_invocation_p): Don't save to lookaheads
|
||
when pre-expanding arguments.
|
||
(_cpp_get_token): Delete.
|
||
(cpp_get_token): Merge contents of _cpp_get_token.
|
||
|
||
2000-11-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* builtins.c (expand_builtin_setjmp): Set
|
||
current_function_calls_setjmp.
|
||
(expand_builtin_longjmp): Set current_function_calls_longjmp.
|
||
|
||
* config/sparc/sparc.md (builtin_setjmp_setup): New expand.
|
||
(do_builtin_setjmp_setup): New insn.
|
||
|
||
Tue Nov 14 12:34:56 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* tree.c (get_unwidened): Use host_integerp and tree_low_cst.
|
||
(int_fits_type_p): For variable bounds, call force_fit_type.
|
||
|
||
2000-11-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* varasm.c (struct deferred_string): New structure.
|
||
(const_str_htab): New variable.
|
||
(STRHASH): New macro.
|
||
(mark_const_str_htab_1, mark_const_str_htab, const_str_htab_hash,
|
||
constr_str_htab_eq, const_str_htab_del): New functions.
|
||
(output_constant_def): Add DEFER argument, defer string
|
||
constants until mark_constant_pool time if requested.
|
||
(mark_constant_pool): Walk the insn chain even if const_str_htab is
|
||
not empty.
|
||
(mark_constants): If a SYMBOL_REF for deferred string is found,
|
||
output it and remove from hash table.
|
||
(output_addressed_constants): Set DEFER to 0 in call to
|
||
output_constant_def.
|
||
* rtl.h (STRING_POOL_ADDRESS_P): Define.
|
||
(output_constant_def): Adjust prototype.
|
||
* expr.c (expand_expr): Set DEFER to 1 in call to output_constant_def.
|
||
|
||
2000-11-14 Chandrakala Chavva <cchavva@redhat.com>
|
||
|
||
* optabs.c (expand_complex_ab):: Use overflow-trapping optabs for
|
||
signed types if flag_trapv.
|
||
|
||
2000-11-14 Zack Weinberg <zack@wolery.stanford.edu>
|
||
|
||
* tradcpp.c, tradcif.y: Update FSF mailing address, delete
|
||
reference to GPLv1.
|
||
|
||
2000-11-14 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.h (CTI_C_SIZE_TYPE): Update comment.
|
||
|
||
2000-11-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* varasm.c (struct varasm_status): Change x_const_rtx_sym_hash_table
|
||
to array of pool_constnat pointers.
|
||
(struct pool_constant): Add next_sym and label members.
|
||
(struct pool_sym): Remove.
|
||
(init_varasm_status): Change pool_sym into pool_constant.
|
||
(mark_pool_constant): Mark pc->label string as well.
|
||
(mark_pool_sym_hash_table): Remove.
|
||
(mark_varasm_status): Remove it from caller as well.
|
||
(free_varasm_status): Don't free pool_sym structures.
|
||
(force_const_mem): Don't allocate pool_sym structure, instead
|
||
fill pool->label and chain it into rtx_sym hash table.
|
||
(find_pool_constant, mark_constant_pool): Use pool_constant instead
|
||
of pool_sym.
|
||
|
||
2000-11-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* reload1.c (emit_input_reload_insns): Honour forcing of constants
|
||
into memory by PREFERRED_RELOAD_CLASS NO_REGS.
|
||
|
||
2000-11-14 Michael Matz <matzmich@cs.tu-berlin.de>
|
||
|
||
* dominance.c: New file.
|
||
* Makefile.in (OBJS): Add dominance.o.
|
||
|
||
* flow.c (compute_flow_dominators): Remove.
|
||
(compute_immediate_dominators): Remove.
|
||
(compute_immediate_postdominators): Remove.
|
||
* basic-block.h: Remove their prototypes.
|
||
(calculate_dominance_info): Add prototype.
|
||
|
||
* dce.c (eliminate_dead_code): Change calls to above functions.
|
||
Don't compute dominators but only immediate dominators.
|
||
* flow.c (flow_loops_find): Change callers.
|
||
* gcse.c (compute_code_hoist_data): Likewise.
|
||
* haifa-sched.c (schedule_insns): Likewise.
|
||
* ifcvt.c (if_convert): Likewise.
|
||
* ssa.c (convert_to_ssa): Likewise, and only compute immediate
|
||
dominators.
|
||
|
||
2000-11-14 Richard Henderson <rth@redhat.com>
|
||
|
||
* stmt.c (warn_if_unused_value): Don't warn if the expression
|
||
has side effects.
|
||
|
||
* c-typeck.c (c_sizeof): Fold result to c_size_type_node.
|
||
(c_sizeof_nowarn, c_alignof, c_alignof_expr): Likewise.
|
||
|
||
2000-11-13 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
|
||
|
||
* loop.c (basic_induction_var): Revert accidental checkin.
|
||
|
||
2000-11-13 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* c-lex.c (cb_leave_file): Harmonize conditions and order of
|
||
statements to those of process_directive for (action == act_pop).
|
||
|
||
* collect2.c (main): Pass on -B options from COLLECT_GCC_OPTIONS.
|
||
|
||
* local-alloc.c (equiv_init_movable_p): References to CC0 are not
|
||
movable.
|
||
|
||
2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-parse.in (stmts_and_decls): Deprecate use of label at end of
|
||
compound statement.
|
||
|
||
2000-11-13 Neil Booth <neilb@earthling.net>
|
||
|
||
* cpplex.c (_cpp_lex_token): CPP_COMMENT and true CPP_EOF
|
||
cases return without MI check.
|
||
* cpplib.c (do_diagnostic): Take boolean of whether to
|
||
print the directive name.
|
||
(do_error, do_warning): Update.
|
||
(do_pragma_dependency): Use it.
|
||
* cpplib.h (VARARGS_FIRST): Delete.
|
||
(struct cpp_token): Delete integer.
|
||
* cppmacro.c (enter_macro_context): Move disabled check
|
||
to _cpp_get_token.
|
||
(_cpp_get_token): Simplify into a single loop.
|
||
|
||
2000-11-13 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* configure.in: Use 'test -f' not '[ -e'.
|
||
* configure: Regenerated.
|
||
|
||
2000-11-13 DJ Delorie <dj@redhat.com>
|
||
|
||
* config/mn10300/mn10300.md (store_movm): Note which registers are
|
||
really used or clobbered.
|
||
|
||
2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-parse.in (ends_in_label): Remove from %union and %type.
|
||
(decls, stmts, lineno_stmt_or_labels, xstmts,
|
||
lineno_stmt_or_label, stmt_or_label): Remove.
|
||
(stmts_and_decls, lineno_stmt_decl_or_labels_ending_stmt,
|
||
lineno_stmt_decl_or_labels_ending_decl,
|
||
lineno_stmt_decl_or_labels_ending_label,
|
||
lineno_stmt_decl_or_labels_ending_error,
|
||
lineno_stmt_decl_or_labels, compstmt_contents_nonempty,
|
||
lineno_stmt, lineno_label): New.
|
||
(compstmt_nostart): Use compstmt_contents_nonempty.
|
||
|
||
2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (boolean_increment): New function.
|
||
* c-common.h (enum c_tree_index): Add CTI_C_BOOL_TYPE,
|
||
CTI_C_BOOL_TRUE and CTI_C_BOOL_FALSE.
|
||
(c_bool_type_node, c_bool_true_node, c_bool_false_node): Define.
|
||
(boolean_increment): Declare.
|
||
* c-convert.c (convert): Allow for BOOLEAN_TYPE.
|
||
* c-decl.c (init_decl_processing): Create boolean nodes.
|
||
(finish_struct): Allow for _Bool bitfields.
|
||
* c-parse.in (reswords): Add _Bool.
|
||
(rid_to_yy): Allow for RID_BOOL.
|
||
* c-typeck.c (default_conversion): Make booleans promote to int.
|
||
(convert_arguments, build_unary_op, build_modify_expr,
|
||
convert_for_assignment): Allow for booleans.
|
||
* ginclude/stdbool.h: Make conforming to C99.
|
||
|
||
2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-parse.in (c99_block_start, c99_block_end,
|
||
c99_block_lineno_labeled_stmt): New.
|
||
(simple_if, do_stmt_start): Use c99_block_lineno_labeled_stmt.
|
||
(stmt): Split off selection and iteration statements into...
|
||
(select_or_iter_stmt): New. Use c99_block_lineno_labeled_stmt.
|
||
|
||
2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* invoke.texi (-Wtrigraphs, -fdump-translation-unit, -save-temps,
|
||
-time): Update.
|
||
|
||
2000-11-13 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* arm.md (mulsidi3adddi, umulsidi3adddi): Revert previous change.
|
||
Rewrite to avoid use of match_dup. Don't try to tie registers that
|
||
are not in the same mode.
|
||
|
||
2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* invoke.texi: Update lists of languages and suffixes supported.
|
||
|
||
2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* configure.in: Take toplevel configure arguments from the
|
||
environment to create configargs.h and substitute
|
||
gcc_config_arguments, taking account of any existing configargs.h
|
||
if reconfiguring.
|
||
* configure: Regenerate.
|
||
* gccbug.in: Include toplevel configure arguments in gccbug.
|
||
|
||
2000-11-13 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* varasm.c (struct constant_descriptor): Put CONTENTS inside a
|
||
union to make it well-aligned. Update all uses.
|
||
|
||
2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-parse.in (initelt): Give appropriate pedantic warnings,
|
||
depending on flag_isoc99, for non-ISO syntax and for C99 syntax
|
||
outside C99 mode.
|
||
(designator): If pedantic, pedwarn for a designator specifying a
|
||
range of elements.
|
||
* c-typeck.c (set_init_index, set_init_label): Don't pedwarn for
|
||
these cases.
|
||
* extend.texi: Document the C99 syntax as the preferred syntax,
|
||
and the pre-2.5 syntax as obsolete. Mention use of designator
|
||
lists for nested subobjects.
|
||
|
||
2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* diagnostic.c (vbuild_message_string, output_do_printf, vnotice):
|
||
Add ATTRIBUTE_PRINTF.
|
||
* tradcpp.c (v_message, warning, error, fatal, error_with_line):
|
||
Add ATTRIBUTE_PRINTF*.
|
||
|
||
2000-11-12 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* function.c (assign_parms): When calling put_var_into_stack, make
|
||
sure that there are no hidden pending sequences.
|
||
|
||
2000-11-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* builtins.c (expand_builtin): Handle BUILT_IN_INDEX and
|
||
BUILT_IN_RINDEX. Add missing checks for BUILT_IN_STRCHR and
|
||
BUILT_IN_STRRCHR.
|
||
|
||
* builtins.def (BUILT_IN_INDEX, BUILT_IN_RINDEX): New entries.
|
||
|
||
* c-common.c (c_common_nodes_and_builtins): Declare index and
|
||
rindex when nonansi builtins are allowed.
|
||
|
||
* extend.texi (index, rindex): Document new builtins.
|
||
|
||
2000-11-12 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* configure.in: Turn on libstdc++ V3 by default.
|
||
* configure: Regenerated.
|
||
|
||
* fixinc/mkfixinc.sh: Use the ordinary fixincludes on Solaris.
|
||
|
||
2000-11-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* reload1.c (set_label_offsets): Go inside of PARALLELs.
|
||
|
||
2000-11-12 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* invoke.texi: Clean up option summary.
|
||
|
||
2000-11-12 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/mcore/mcore.c: Fix comment formating, and adjust sequence
|
||
of #include headers.
|
||
|
||
2000-11-12 Marc Espie <espie@openbsd.org>
|
||
|
||
* configure.in: Fix filds test.
|
||
* configure: Regen.
|
||
|
||
2000-11-12 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* jump.c (delete_computation): Don't assume that just because an
|
||
instruction sets a register, that register is dead.
|
||
|
||
2000-11-12 Neil Booth <neilb@earthling.net>
|
||
|
||
* cppexp.c: Don't worry about pfile->skipping.
|
||
* cpplib.c (struct if_stack): Make was_skipping unsigned char.
|
||
(cpp_handle_directive): Save pfile->skipping in struct cpp_buffer
|
||
for handled directives.
|
||
(skip_rest_of_line): Use _cpp_lex_token after popping contexts
|
||
and releasing lookaheads.
|
||
(do_ifdef, do_ifndef, do_if): Use buffer->was_skipping.
|
||
(do_else, do_elif, push_conditional): Update logic.
|
||
(do_endif): Set buffer->was_skipping rather than pfile->skipping.
|
||
(unwind_if_stack): Inline into cpp_pop_buffer.
|
||
(cpp_push_buffer): Clear ifs->was_skipping for cpp_handle_directive.
|
||
* cpplex.c (_cpp_lex_token): Clear skipping on EOF. Handle
|
||
multiple-include optimisation.
|
||
* cpplib.h (struct cpp_buffer): New member was_skipping.
|
||
* cppmacro.c (_cpp_get_token): Loop whilst pfile->skipping. This
|
||
works because skipping == 0 in directives.
|
||
(_cpp_release_lookahead): Renamed from release_lookahead.
|
||
(cpp_get_token): No need to check skipping as _cpp_get_token does
|
||
this for us. No need to handle MI optimisation.
|
||
|
||
Sat Nov 11 21:14:02 2000 Mark P Mitchell <mark@codesourcery.com>
|
||
|
||
* fixinc/inclhack.def (sunos_matherr_decl): Bypass matherr
|
||
declarations that use `__MATH_EXCEPTION' in their prototypes, too.
|
||
* fixinc/fixincl.x: Regenerated.
|
||
|
||
2000-11-11 Bruce Korb <bkorb@gnu.org>
|
||
|
||
* fixinc/inclhack.def (avoid_bool_type): avoid commenting out #endif
|
||
(avoid_wchar_t_type): ditto
|
||
* fixinc/fixinc.irix: obsoleted
|
||
|
||
2000-11-11 Zack Weinberg <zack@wolery.stanford.edu>
|
||
|
||
* configure.in: Don't add $outputs to all_lang_makefiles. Add
|
||
$srcdir/$s/Makefile.in if it exists.
|
||
* configure: Regenerate.
|
||
|
||
Sat Nov 11 18:41:20 2000 Mark P Mitchell <mark@codesourcery.com>
|
||
|
||
* fixinc/mkfixinc.sh: Use the ordinary fixincludes on IRIX.
|
||
|
||
2000-11-11 Jason Merrill <jason@redhat.com>
|
||
|
||
* function.c (assign_parms): If TREE_ADDRESSABLE is set, try to
|
||
give the parm a register and then call put_var_into_stack.
|
||
* stmt.c (expand_decl): Likewise.
|
||
|
||
2000-11-11 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* gcc.texi: Adjust wording.
|
||
|
||
2000-11-11 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* fixinc/inclhack.def (avoid_wchar_t_type): New fix.
|
||
* fininc/fixincl.x: Regenerated.
|
||
|
||
2000-11-11 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* invoke.texi: Correct spelling of -foptimize-register-move.
|
||
|
||
2000-11-11 Neil Booth <neilb@earthling.net>
|
||
|
||
Remove CPP_PLACEMARKERs.
|
||
|
||
* cppexp.c (lex): Don't handle CPP_PLACEMARKER.
|
||
* cpplex.c (_cpp_lex_token): Rename skip_newlines to next_bol
|
||
* cpplib.c (skip_rest_of_line, check_eol, cpp_push_buffer):
|
||
Similarly.
|
||
* cpplib.h: Remove CPP_PLACEMARKER.
|
||
(struct lexer_state): Rename skip_newlines to next_bol.
|
||
* cppmacro.c (stringify_arg): Don't handle CPP_PLACEMARKER.
|
||
Simplify prev_white handling as a result.
|
||
(paste_all_tokens): Don't worry about CPP_PLACEMARKERs.
|
||
(parse_arg): Empty arguments are now empty, not CPP_PLACEMARKERs.
|
||
(parse_args): Similarly. Update argument count tests.
|
||
(enter_macro_context): Return 2 to indicate an empty macro.
|
||
(replace_args): Don't bother pre-expanding an empty argument.
|
||
Handle placemarkers and ## extension during pre-expansion.
|
||
(cpp_get_token): Handle empty macro expansions. Don't worry
|
||
about CPP_PLACEMARKERs.
|
||
(_cpp_create_definition): Empty macros are now empty.
|
||
(cpp_macro_definition): Don't special case empty macros.
|
||
* scan-decls.c: Don't bother with CPP_PLACEMARKERs.
|
||
* c-lex.c: Similarly.
|
||
|
||
2000-11-11 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* gcc.texi, invoke.texi: Add new section discussing language
|
||
standards; link to it where appropriate; refer to ISO C instead of
|
||
ANSI C.
|
||
|
||
2000-11-11 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* builtins.c (std_expand_builtin_va_start): Take PARM_BOUNDARY
|
||
into account.
|
||
|
||
* config/sh/sh.h (MODES_TIEABLE_P): Don't tie SFmode to other FP
|
||
modes.
|
||
|
||
2000-11-10 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* gcc.texi, gcov.texi: Update dates and version numbers.
|
||
|
||
2000-11-10 Zack Weinberg <zack@wolery.stanford.edu>
|
||
|
||
* configure.in: Remove AC_PROG_LEX and AC_PROG_YACC. Look for
|
||
flex and bison, specifically, first in a unified build and
|
||
then installed on the system.
|
||
* Makefile.in: Set BISON to @BISON@, FLEX to @FLEX@. Rename
|
||
LEXFLAGS to FLEXFLAGS. Adjust ORDINARY_FLAGS_TO_PASS to
|
||
match.
|
||
|
||
(collect2.o, gcc.o, prefix.o, toplev.o, alloca.o, intl.o,
|
||
cppdefault.o): Remove pointless sed munging of source file
|
||
name.
|
||
|
||
2000-11-10 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* reload.c (find_reloads_address_1, case POST_MODIFY): Use RELOAD_OTHER
|
||
for address reloads. Push replacements for REG_INC notes.
|
||
(regno_clobbered_p): New arg SETS. Examine SETs if it's nonzero. All
|
||
callers changed.
|
||
* reload1.c (choose_reload_regs): Registers set in the insn can't be
|
||
used for RELOAD_OTHER reloads.
|
||
|
||
2000-11-10 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* c-dump.h: New file.
|
||
|
||
2000-11-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* alpha.c (check_float_value): Use memcpy, not bcopy.
|
||
* arm.c (output_move_double): Likewise.
|
||
* arm.md: Likewise.
|
||
* m88k.c (legitimize_operand): Likewise.
|
||
* m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
|
||
* m88k.md: Likewise.
|
||
* mips.c (override_options): Likewise.
|
||
* mips.md: Likewise.
|
||
* romp.c (output_fpops): Likewise.
|
||
* rs6000.c (rs6000_override_options): Likewise.
|
||
* sh.md: Likewise.
|
||
* vax.c (check_float_value): Likewise.
|
||
|
||
* emit-rtl.c (copy_rtx_if_shared, init_emit_once): Likewise.
|
||
* expmed.c (synth_mult): Likewise.
|
||
* final.c (add_bb_string): Likewise.
|
||
* genattr.c (main): Likewise.
|
||
* genattrtab.c (attr_string, simplify_cond, copy_rtx_unchanging):
|
||
Likewise.
|
||
* jump.c (thread_jumps): Likewise.
|
||
* prefix.c (save_string): Likewise.
|
||
* real.h (REAL_VALUE_FROM_CONST_DOUBLE): Likewise.
|
||
* regclass.c (init_reg_sets, init_reg_sets_1): Likewise.
|
||
* reload1.c (reload, eliminate_regs): Likewise.
|
||
|
||
2000-11-10 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* gcc.texi (Service): Update to reflect current practice and
|
||
location of the GNU service directory.
|
||
|
||
2000-11-09 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* regrename.c (build_def_use): Mark contents of REG_INC notes as
|
||
needing replacement.
|
||
|
||
* config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Emit
|
||
a no-op move if regs are equal.
|
||
* toplev.c (rest_of_compilation): Do the noop moves elimination pass
|
||
when calling jump after post-reload splitting.
|
||
|
||
2000-11-09 Jan van Male <jan.vanmale@fenk.wau.nl>
|
||
|
||
* c-tree.texi: Fix typos.
|
||
* extend.texi: Likewise
|
||
* gcov.texi: Likewise
|
||
* rtl.texi: Likewise
|
||
* tm.texi: Likewise
|
||
|
||
2000-11-09 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* c-lex.c [! NO_IMPLICIT_EXTERN_C] (cb_enter_file): Check
|
||
in_system_header and flags[1] before dereferencing flags[2].
|
||
|
||
2000-11-09 Matthew Hiller <hiller@redhat.com>
|
||
|
||
* reload1.c (reload_combine): Fixed calculation of
|
||
first_index_reg, last_index_reg.
|
||
|
||
2000-11-09 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* c-dump.c (dequeue_and_dump): Dump function bodies.
|
||
|
||
* Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
|
||
(c-dump.o): New target.
|
||
* c-common.h (flag_dump_translation_unit): New variable.
|
||
(C_TYPE_QUALS): New macro.
|
||
(strip_array_types): New function.
|
||
(DECL_C_BIT_FIELD): New macro.
|
||
(SET_DECL_C_BIT_FIELD): Likewise.
|
||
(CLEAR_DECL_C_BIT_FIELD): Likewise.
|
||
(dump_info_p): New typedef.
|
||
(dump_tree_fn): Likewise.
|
||
(lang_dump_tree): New variable.
|
||
(dump_node_to_file): New function.
|
||
* c-common.c (flag_dump_translation_unit): Define it.
|
||
(strip_array_types): New function.
|
||
* c-decl.c (c_decode_option): Handle -fdump-translation-unit.
|
||
* c-lang.c (finish_file): Call dump_node_to_file if
|
||
flag_dump_translation_unit.
|
||
* c-semantics.c (mark_rtl_for_local_static): Fix typo in comment.
|
||
* c-tree.h (DECL_C_BIT_FIELD): Remove declaration.
|
||
* c-dump.c: New file.
|
||
|
||
2000-11-09 Christopher Faylor <cgf@cygnus.com>
|
||
|
||
* config/i386/cygwin.h: Add mingw startfile prefix.
|
||
|
||
2000-11-09 Richard Henderson <rth@redhat.com>
|
||
|
||
* flow.c (invalidate_mems_from_set): Split out from ...
|
||
(mark_set_1): ... here.
|
||
(try_pre_increment_1): Use it. Use propagate_block_delete_insn
|
||
instead of turning insn into a NOTE_INSN_DELETED.
|
||
|
||
2000-11-10 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* extend.texi, invoke.texi: Move documentation of builtin versions
|
||
of C library functions to one place and update.
|
||
|
||
2000-11-09 Richard Henderson <rth@redhat.com>
|
||
|
||
* fold-const.c (fold): Compare TYPE_MAIN_VARIANT rather than
|
||
the types themselves to discover type equivalence.
|
||
|
||
2000-11-09 Mike Stump <mrs@wrs.com>
|
||
|
||
* Makefile.in (distclean): Remove a few extra leftovers.
|
||
|
||
2000-11-09 Richard Henderson <rth@redhat.com>
|
||
|
||
* recog.c (validate_replace_rtx_1): Consider subregs when
|
||
replacing a register with a constant inside a sign/zero_extend.
|
||
|
||
* config/alpha/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
|
||
|
||
2000-11-09 Geoffrey Keating <geoffk@redhat.com>
|
||
|
||
* c-decl.c (finish_struct): When a structure is completed,
|
||
check all its variant types for completeness.
|
||
|
||
2000-11-09 Neil Booth <neilb@earthling.net>
|
||
|
||
* cpphash.c: Move cpp_defined here from cpplib.c.
|
||
* cpplib.c: Update comments, move cpp_defined to cpphash.c.
|
||
* cpplex.c (_cpp_lex_token): Don't leave the lexer at EOL.
|
||
* cppmacro.c (cpp_get_token): Update comments, no need now
|
||
to catch the CPP_EOF meaning EOL case.
|
||
|
||
2000-11-08 Geoffrey Keating <geoffk@redhat.com>
|
||
|
||
* config/sparc/sparc.c (sparc_va_arg): When the required alignment
|
||
is more than that provided, copy to a temporary.
|
||
|
||
2000-11-09 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* mklibgcc.in (EXTRA_MULTILIB_PARTS): Prevent `make' from
|
||
interpreting $out as a macro assignment.
|
||
* Makefile.in (T_TARGET): New auxiliary macro and target.
|
||
(all): Add a target right in the beginning, so that we don't build
|
||
T_TARGET by default.
|
||
|
||
2000-11-09 Graham Stott <grahams@redhat.com>
|
||
|
||
* config/i386/i386.md (mmx_pinsrw): Output operands in correct
|
||
order for -mintel-syntax. Remove comment now that the operand
|
||
order has been checked.
|
||
(mmx_pextrw): Likewise.
|
||
(mmx_pshufw): Likewise.
|
||
|
||
2000-11-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* builtins.c (c_strlen): Use TREE_STRING_LENGTH - 1 for max.
|
||
(c_getstr): New function.
|
||
(expand_builtin_strstr): Do nothing if -fcheck-memory-usage.
|
||
If both arguments are constant string, optimize out.
|
||
(expand_builtin_strchr, expand_builtin_strrchr): New functions.
|
||
(expand_builtin_strpbrk): Use c_getstr, do nothing if
|
||
-fcheck-memory-usage.
|
||
(expand_builtin_fputs): Likewise.
|
||
(expand_builtin_strcmp): Add MODE argument.
|
||
Use even if !HAVE_cmpstrsi.
|
||
Optimize the case when both arguments are constant strings.
|
||
(expand_builtin): Adjust expand_builtin_strcmp caller.
|
||
Call expand_builtin_strchr and expand_builtin_strrchr.
|
||
* c-common.c (c_common_nodes_and_builtins): Add strchr and strrchr
|
||
builtins.
|
||
* builtins.def (BUILT_IN_STRRCHR): Add.
|
||
|
||
2000-11-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
|
||
|
||
* fixinc/gnu-regex.c: Rename EGCS LOCAL markers to GCC LOCAL.
|
||
|
||
2000-11-09 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* calls.c (expand_call, emit_library_call_value_1), collect2.c
|
||
(scan_prog_file), config/a29k/a29k.c (print_operand),
|
||
config/sparc/sparc.c (order_regs_for_local_alloc): Use memcpy ()
|
||
instead of bcopy ().
|
||
* real.h: Use memcmp () instead of bcmp ().
|
||
* config/m88k/m88k.c (m88k_layout_frame), config/sh/sh.c
|
||
(split_branches), config/sparc/sparc.c (ultra_flush_pipeline,
|
||
ultrasparc_sched_init, ultrasparc_sched_reorder),
|
||
config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Use memset ()
|
||
instead of bzero ().
|
||
* config/vax/xm-xms.h (FILE_NAME_NONDIRECTORY): Use strrchr ()
|
||
instead of rindex ().
|
||
* configure.in: Don't check for bzero, bcmp, index or rindex.
|
||
* configure, config.in: Regenerate.
|
||
* system.h: Don't include declarations for bzero, bcmp, index or
|
||
rindex.
|
||
* config/i386/xm-beos.h, config/rs6000/xm-beos.h: Don't define
|
||
bzero, bcmp, index or rindex.
|
||
|
||
Wed Nov 8 21:58:20 2000 Christopher Faylor <cgf@cygnus.com>
|
||
|
||
* config/i386/cygwin.h: Add -no-win32 switch. Separate -mno-cygwin
|
||
include and library paths from -mcygwin case. Parameterize some
|
||
declarations to avoid warnings. Use standard locations for include and
|
||
lib dirs.
|
||
|
||
2000-11-08 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/arm/arm.md (mulsidi3adddi): Change output operand
|
||
constraint from "=&" to "+&".
|
||
(umulsidi3adddi): Change output operand constraint from "=&" to
|
||
"+&".
|
||
|
||
2000-11-08 Richard Henderson <rth@redhat.com>
|
||
|
||
* flow.c (init_propagate_block_info): Protect the rtx stored in
|
||
mem_set_list from modification by find_auto_inc.
|
||
(mark_set_1): Likewise.
|
||
|
||
2000-11-08 Neil Booth <neilb@earthling.net>
|
||
|
||
Move directive handling into the lexer itself.
|
||
|
||
* cpplex.c (_cpp_lex_token): Handle directives directly.
|
||
In the case of a directive interrupting a function-like
|
||
macro invocation, use extra_char since read_ahead is
|
||
used to store the '#'. Return a CPP_EOF in this case.
|
||
* cppmacro.c (parse_arg): No need to handle CPP_DHASH any more.
|
||
(cpp_get_token): Don't handle directives here.
|
||
* cpplib.h: Remove CPP_DHASH token type.
|
||
|
||
Wed Nov 8 21:53:41 MET 2000 Jan Hubicka <jh@suse.cz>
|
||
|
||
* regmove.c (combine_stack_adjustments_for_blocks): Recognize pushes
|
||
formed using PRE_MODIFY too.
|
||
|
||
2000-11-08 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* c-tree.texi (VAR_DECL): Describe representation of GCC's
|
||
extension for placing variables in particular registers.
|
||
|
||
* c-tree.texi (FUNCTION_TYPE): Clarify TYPE_ARG_TYPES for
|
||
unprototyped C functions with no parameters.
|
||
|
||
2000-11-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Cast DELTA to int
|
||
before passing to fprintf.
|
||
|
||
2000-11-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* function.c (expand_function_start): Cast GET_MODE_SIZE to
|
||
HOST_WIDE_INT before negating it.
|
||
|
||
2000-11-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* expr.c (expand_expr) [ADDR_EXPR]: Handle when op0 is RETURN_DECL
|
||
passed in multiple non-contiguous locations.
|
||
|
||
2000-11-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
|
||
|
||
* README.gnat: Remove file.
|
||
|
||
2000-11-08 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* mklibgcc.in (EXTRA_MULTILIB_PARTS): Generate multilib parts
|
||
in-place.
|
||
|
||
2000-11-07 Richard Henderson <rth@redhat.com>
|
||
|
||
* dwarfout.c (INSN_LABEL_FMT): Remove.
|
||
(output_label_die): Use ASM_GENERATE_INTERNAL_LABEL.
|
||
(dwarfout_label): Remove.
|
||
* dwarfout.h: Remove it's prototype.
|
||
* dwarf2out.c (INSN_LABEL_FMT): Remove.
|
||
(gen_label_die): Use ASM_GENERATE_INTERNAL_LABEL.
|
||
(dwarf2out_label): Remove.
|
||
* dwarf2out.h: Remove it's prototype.
|
||
* final.c (final_scan_insn): Don't call dwarf[2]out_label.
|
||
|
||
2000-11-07 Richard Henderson <rth@redhat.com>
|
||
|
||
* config/ia64/fde-glibc.c (find_fde_for_dso): Do a binary
|
||
search on the unwind region section.
|
||
|
||
* config/ia64/ia64.md (movbi): Add r/r alternative.
|
||
(cmovdi_internal_astep): Describe all combinations of register
|
||
classes for sources & destinations; remove matching constraints.
|
||
(cmovdi_internal): Likewise.
|
||
|
||
* gcc.c (default_compilers) [@cpp-output]: Add -fpreprocessed.
|
||
|
||
2000-11-07 Richard Henderson <rth@redhat.com>
|
||
|
||
* c-lang.c (start_cdtor, finish_cdtor): New functions.
|
||
(finish_file): Use them in building constructor/destructor functions.
|
||
|
||
* config/alpha/alpha.h (HAS_INIT_SECTION, LD_INIT_SWITCH,
|
||
LD_FINI_SWITCH): Move ...
|
||
* config/alpha/osf.h: ... here.
|
||
* config/alpha/alpha-interix.h: Don't undef them.
|
||
|
||
2000-11-07 Jeffrey Oldham <oldham@oz.codesourcery.com>
|
||
|
||
* config/mips/t-iris6 (FPBIT): New. Added so that __unorddf2 is
|
||
included in libgcc.a.
|
||
(DPBIT): Likewise.
|
||
(dp-bit.c): Likewise.
|
||
(fp-bit.c): Likewise.
|
||
|
||
2000-11-07 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/m88k/m88k.h (GLOBAL_ASM_OP): Add missing tab.
|
||
(INTERNAL_ASM_OP): Add missing tab.
|
||
|
||
2000-11-07 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* alias.c (init_alias_analysis), calls.c (expand_call,
|
||
emit_library_call_value_1), combine.c (init_reg_last_arrays),
|
||
cse.c (new_basic_block), dbxout.c (dbxout_type), diagnostic.c
|
||
(init_output_buffer, set_diagnostic_context), dwarf2out.c
|
||
(equate_decl_number_to_die, build_abbrev_table), emit-rtl.c
|
||
(init_emit_once), fold-const.c (mul_double, div_and_round_double),
|
||
function.c (assign_parms), gcse.c (compute_can_copy,
|
||
alloc_gcse_mem, alloc_reg_set_mem, record_one_set,
|
||
compute_hash_table, compute_set_hash_table,
|
||
compute_expr_hash_table), genattrtab.c (optimize_attrs), global.c
|
||
(global_alloc, global_conflicts), haifa-sched.c (compute_trg_info,
|
||
clear_units, schedule_block), integrate.c (initialize_for_inline,
|
||
expand_inline_function), jump.c (thread_jumps), local-alloc.c
|
||
(local_alloc), loop.c (combine_movables, count_loop_regs_set,
|
||
load_mems_and_recount_loop_regs_set), print-tree.c (debug_tree),
|
||
regclass.c (init_reg_sets, init_reg_sets_1, regclass,
|
||
record_reg_classes, allocate_reg_info), reload.c
|
||
(get_secondary_mem, remove_address_replacements, find_reloads),
|
||
reload1.c (reload, set_initial_label_offsets, finish_spills,
|
||
reload_as_needed, choose_reload_regs_init,
|
||
reload_cse_simplify_operands), reorg.c (dbr_schedule), sbitmap.c
|
||
(sbitmap_zero), simplify-rtx.c (simplify_plus_minus), ssa.c
|
||
(rename_registers), stmt.c (expand_end_case), unroll.c
|
||
(unroll_loop), varray.c (varray_grow), objc/objc-act.c: Use memset
|
||
() instead of bzero ().
|
||
|
||
2000-11-07 Neil Booth <neilb@earthling.net>
|
||
|
||
* cp/lang-specs.h: Fix -save-temps specs under USE_CPPLIB.
|
||
|
||
2000-11-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* c-common.c (combine_strings): Only warn about long strings for C.
|
||
|
||
Tue Nov 7 19:44:30 2000 J"orn Rennecke <amylaar@redhat.com>
|
||
|
||
* combine.c (distribute_notes): Fix typo in last change.
|
||
|
||
2000-11-07 Geoff Keating <geoffk@redhat.com>
|
||
|
||
* config/rs6000/rs6000.md (movdi_internal32+1): Use
|
||
operand_subreg_force rather than gen_rtx_SUBREG.
|
||
(movdi_internal32+2): Likewise.
|
||
|
||
2000-11-07 Philip Blundell <philb@gnu.org>
|
||
|
||
* configure.in (arm*-*-linuxaout*): Obsolete, deleted.
|
||
* config/arm/linux-aout.h: Likewise.
|
||
* configure: Regenerate.
|
||
|
||
2000-11-07 Philipp Thomas <pthomas@suse.de>
|
||
|
||
* ABOUT-GCC-NLS: Remove the patch for gettext as it has been
|
||
accepted my the gettext maintainer.
|
||
|
||
2000-11-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* builtins.c (expand_builtin_strpbrk): New function.
|
||
(expand_builtin): Handle BUILT_IN_STRPBRK.
|
||
|
||
* builtins.def (BUILT_IN_STRPBRK): New entry.
|
||
|
||
* c-common.c (c_common_nodes_and_builtins): Declare builtin
|
||
strpbrk.
|
||
|
||
2000-11-07 David O'Brien <obrien@dragon.nuxi.com>
|
||
|
||
* config/alpha/freebsd.h: New file -- FreeBSD/alpha architecture file.
|
||
* POTFILES.in: Add config/alpha/freebsd.h
|
||
* configure.in: Add alpha*-freebsd support.
|
||
* configure: Regenerate.
|
||
|
||
2000-11-07 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* tree.c (build_common_tree_nodes_2): Make va_list_type_node be a
|
||
copy of ptr_type_node rather than ptr_type_node itself.
|
||
|
||
Tue Nov 7 06:29:24 2000 J"orn Rennecke <amylaar@redhat.com>
|
||
|
||
* combine.c (recog_for_combine): Allocate uninitialized vector with
|
||
rtvec_alloc.
|
||
* recog.c (apply_change_group): Likewise.
|
||
|
||
Tue Nov 7 06:24:02 2000 J"orn Rennecke <amylaar@redhat.com>
|
||
|
||
* flow.c (verify_local_live_at_start): Back out last change.
|
||
* combine.c (distribute_notes): When parts of a hard reg are
|
||
neither set nor referenced in PLACE, search backwards for a
|
||
place to put a REG_UNUSED note; if none found, ask for flow
|
||
info refresh.
|
||
|
||
Mon Nov 6 20:08:13 2000 J"orn Rennecke <amylaar@redhat.com>
|
||
|
||
* reload1.c (eliminate_regs_in_insn): Allow a set to be a PARALLEL
|
||
with (clobber (match_scratch...)).
|
||
|
||
2000-11-06 Neil Booth <neilb@earthling.net>
|
||
|
||
* c-lex.c (init_c_lex): If cpp_start_read fails, exit with
|
||
error status.
|
||
|
||
2000-11-06 Neil Booth <neilb@earthling.net>
|
||
|
||
* tradcpp.c (special_symbol): Assign an null string rather
|
||
than writing to an unallocated buffer.
|
||
|
||
2000-11-06 Neil Booth <neilb@earthling.net>
|
||
|
||
* cpplex.c (_cpp_equiv_tokens): Check arg_no in the
|
||
CPP_MACRO_ARG case.
|
||
|
||
2000-11-06 Neil Booth <neilb@earthling.net>
|
||
|
||
* c-lex.c (c_lex): Replace tok.val.aux with tok.val.c or
|
||
tok.val.arg_no as appropriate.
|
||
* cppexp.c (lex): Similarly.
|
||
* cpplex.c (_cpp_lex_token, cpp_spell_token, cpp_output_token,
|
||
cpp_equiv_tokens, cpp_can_paste, cpp_avoid_paste): Similarly.
|
||
* cppmacro.c (stringify_arg, replace_args, lex_expansion_token,
|
||
cpp_macro_definition): Similarly.
|
||
* cpplib.h (struct cpp_token): Replace aux with c and arg_no.
|
||
|
||
2000-11-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/sparc/sparc.md (adddi3): If operands[2] is 4096 and
|
||
operands[1] is constant, calculate the sum and generate movdi.
|
||
(addsi3): Similarly. Use SImode in call to arith_4096_operand.
|
||
(subsi3): Use SImode in call to arith_4096_operand.
|
||
|
||
2000-11-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): On sparc64 we need to
|
||
adjust %o1, not %o0 if the return type is large structure.
|
||
|
||
2000-11-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/sparc/sparc.md (smulsi3_highpart_v8plus, ashldi3_v8plus+1,
|
||
update_return, flush, flushdi, ffssi2, ffsdi2): Fix output formatting.
|
||
|
||
Sat Sep 23 19:10:20 2000 Denis Chertykov <denisc@overta.ru> & Marek Michalkiewicz <marekm@linux.org.pl>
|
||
|
||
* expmed.c (expand_divmod): For signed divide by 2, prefer
|
||
a branch and fewer shifts if branches are very cheap.
|
||
|
||
2000-11-05 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* Makefile.in: Remove all targets related to building
|
||
distributions and diffs, or INSTALL.
|
||
* INSTALL, install1.texi: Remove.
|
||
* configure.in: Remove mention of distdir.
|
||
* configure: Regenerate.
|
||
* objc/Make-lang.in: Remove mention of distdir.
|
||
|
||
2000-11-04 Neil Booth <neilb@earthling.net>
|
||
|
||
* cpp.texi: Update for _Pragma.
|
||
|
||
2000-11-04 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* gcc.texi (Contributing): Update URL for projects web page.
|
||
|
||
2000-11-04 Neil Booth <neilb@earthling.net>
|
||
|
||
* cpplex.c (parse_string): Don't allow multiline strings in
|
||
#include family directives.
|
||
|
||
2000-11-04 Neil Booth <neilb@earthling.net>
|
||
|
||
* cpplib.c (do_line): Only warn pedantically if not reading
|
||
preprocessed input.
|
||
|
||
2000-11-04 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* calls.c (emit_call_1) [sibcall_pop]: Use n_popped instead of
|
||
RETURN_POPS_ARGS().
|
||
|
||
2000-11-03 Zack Weinberg <zack@wolery.stanford.edu>
|
||
|
||
* builtins.c (expand_builtin_strlen): Remove unused mode
|
||
argument.
|
||
* gcc.c (process_command): Remove unused variable.
|
||
* fold-const.c: Include expr.h.
|
||
* recog.c: Include reload.h.
|
||
* Makefile.in (recog.o, fold-const.o): Update deps.
|
||
|
||
2000-11-02 Geoffrey Keating <geoffk@cygnus.com>
|
||
|
||
* fixinc/gnu-regex.c: Change 'CYGNUS LOCAL' to 'EGCS LOCAL'.
|
||
|
||
Fri Nov 3 13:41:04 2000 Mark P Mitchell <mark@codesourcery.com>
|
||
|
||
* config/mips/iris6.h (SUBTARGET_CC1_SPEC): Remove -static
|
||
handling.
|
||
(STARTFILE_SPEC): Likewise.
|
||
(LINK_SPEC): Likewise.
|
||
|
||
2000-11-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* Makefile.in (fold-const.o): Depend on $(GGC_H), not ggc.h.
|
||
(toplev.o): Likewise for $(LOOP_H)/loop.h and $(REGS_H)/regs.h.
|
||
(simplify-rtx.o): Likewise for $(GGC_H)/ggc.h.
|
||
|
||
2000-11-03 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-decl.c (duplicate_decls, copy_lang_decl), dwarfout.c
|
||
(dwarfout_line), gcc.c (main, save_string), tree.c (init_obstacks,
|
||
perm_calloc, get_identifier, maybe_get_identifier,
|
||
real_value_from_int_cst, simple_cst_equal), varasm.c
|
||
(assemble_name, assemble_real, immed_real_const_1,
|
||
compare_constant_1, decode_rtx_const, output_constant_pool): Use
|
||
strrchr () instead of rindex (). Use memcmp () instead of bcmp
|
||
(). Use memcpy () instead of bcopy (). Use memset () instead of
|
||
bzero ().
|
||
|
||
2000-11-03 Nathan Sidwell <nathan@codesourcery.com>
|
||
|
||
* cppfiles.c (open_file): If already read, then don't reopen.
|
||
Immediately close an empty file.
|
||
|
||
2000-11-01 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* expr.h (fold_builtin): Move declaration...
|
||
* tree.h (fold_builtin): ... here.
|
||
|
||
Fri Nov 3 05:41:07 2000 J"orn Rennecke <amylaar@redhat.com>
|
||
|
||
* flow.c (verify_local_live_at_start): Allow hard regs to die.
|
||
|
||
2000-11-02 Neil Booth <neilb@earthling.net>
|
||
|
||
config:
|
||
* a29k/a29k.h, a29k/unix.h, a29k/vx29k.h,
|
||
alpha/alpha-interix.h, alpha/alpha.h, alpha/linux.h,
|
||
alpha/openbsd.h, alpha/osf.h, alpha/vms.h, alpha/vxworks.h,
|
||
alpha/win-nt.h, arc/arc.h, arm/arm.h, arm/conix-elf.h,
|
||
arm/linux-aout.h, arm/linux-elf.h, arm/netbsd.h, arm/riscix.h,
|
||
arm/riscix1-1.h, arm/semiaof.h, arm/unknown-elf-oabi.h, arm/vxarm.h,
|
||
c4x/rtems.h, clipper/clix.h, convex/convex.h, d30v/d30v.h,
|
||
elxsi/elxsi.h, fr30/fr30.h, h8300/h8300.h, i370/linux.h, i370/mvs.h,
|
||
i370/oe.h, i386/386bsd.h, i386/aix386ng.h, i386/beos-elf.h,
|
||
i386/bsd386.h, i386/crtdll.h, i386/cygwin.h, i386/dgux.h,
|
||
i386/djgpp-rtems.h, i386/djgpp.h, i386/freebsd-aout.h, i386/freebsd.h,
|
||
i386/gnu.h, i386/i386-interix.h, i386/i386.h, i386/linux-aout.h,
|
||
i386/linux-oldld.h, i386/linux.h, i386/lynx-ng.h, i386/lynx.h,
|
||
i386/mach.h, i386/mingw32.h, i386/moss.h, i386/netbsd.h,
|
||
i386/netware.h, i386/next.h, i386/openbsd.h, i386/osf1elf.h,
|
||
i386/osfelf.h, i386/osfrose.h, i386/ptx4-i.h, i386/rtems.h,
|
||
i386/rtemself.h, i386/sco.h, i386/sco4.h, i386/sco4dbx.h, i386/sco5.h,
|
||
i386/scodbx.h, i386/sequent.h, i386/sol2.h, i386/sun.h, i386/sysv3.h,
|
||
i386/sysv4.h, i386/uwin.h, i386/vsta.h, i386/vxi386.h, i386/win-nt.h,
|
||
i386/win32.h, i860/fx2800.h, i860/i860.h, i860/mach.h, i860/sysv3.h,
|
||
i860/sysv4.h, i960/i960.h, i960/rtems.h, i960/vx960-coff.h,
|
||
ia64/ia64.h, ia64/linux.h, m32r/m32r.h, m68k/3b1.h, m68k/3b1g.h,
|
||
m68k/a-ux.h, m68k/altos3068.h, m68k/amix.h, m68k/apollo68.h,
|
||
m68k/crds.h, m68k/ctix.h, m68k/dpx2.h, m68k/hp2bsd.h, m68k/hp320.h,
|
||
m68k/hp3bsd.h, m68k/hp3bsd44.h, m68k/isi.h, m68k/linux-aout.h,
|
||
m68k/linux.h, m68k/lynx-ng.h, m68k/lynx.h, m68k/m68kemb.h,
|
||
m68k/m68kv4.h, m68k/mot3300.h, m68k/netbsd.h, m68k/news.h,
|
||
m68k/next.h, m68k/openbsd.h, m68k/pbb.h, m68k/plexus.h, m68k/rtems.h,
|
||
m68k/rtemself.h, m68k/sun2.h, m68k/sun3.h, m68k/sun3mach.h,
|
||
m68k/tower-as.h, m68k/tower.h, m68k/vxm68k.h, m88k/dgux.h,
|
||
m88k/dolph.h, m88k/luna.h, m88k/m88k-aout.h, m88k/m88k-coff.h,
|
||
m88k/openbsd.h, m88k/sysv3.h, m88k/sysv4.h, mips/bsd-4.h,
|
||
mips/bsd-5.h, mips/dec-bsd.h, mips/dec-osf1.h, mips/gnu.h,
|
||
mips/iris3.h, mips/iris5.h, mips/iris6.h, mips/linux.h, mips/mips.h,
|
||
mips/netbsd.h, mips/news4.h, mips/news5.h, mips/nws3250v4.h,
|
||
mips/openbsd.h, mips/osfrose.h, mips/rtems64.h, mips/sni-svr4.h,
|
||
mips/svr3-4.h, mips/svr3-5.h, mips/svr4-4.h, mips/svr4-5.h,
|
||
mips/ultrix.h, ns32k/encore.h, ns32k/merlin.h, ns32k/netbsd.h,
|
||
ns32k/ns32k.h, ns32k/pc532-mach.h, ns32k/pc532.h, ns32k/sequent.h,
|
||
ns32k/tek6000.h, ns32k/tek6100.h, ns32k/tek6200.h, pa/pa-hiux.h,
|
||
pa/pa-hpux.h, pa/pa-hpux7.h, pa/pa-linux.h, pa/pa-osf.h,
|
||
pa/pa-pro-end.h, pa/pa.h, pa/rtems.h, pj/linux.h, pj/pj.h,
|
||
romp/romp.h, rs6000/aix.h, rs6000/aix31.h, rs6000/aix41.h,
|
||
rs6000/aix43.h, rs6000/beos.h, rs6000/eabi.h, rs6000/eabisim.h,
|
||
rs6000/linux.h, rs6000/lynx.h, rs6000/mach.h, rs6000/rtems.h,
|
||
rs6000/sysv4.h, rs6000/vxppc.h, sh/elf.h, sh/linux.h, sh/rtems.h,
|
||
sh/rtemself.h, sh/sh.h, sparc/aout.h, sparc/elf.h, sparc/linux-aout.h,
|
||
sparc/linux.h, sparc/linux64.h, sparc/lite.h, sparc/litecoff.h,
|
||
sparc/liteelf.h, sparc/lynx-ng.h, sparc/lynx.h, sparc/netbsd.h,
|
||
sparc/openbsd.h, sparc/pbd.h, sparc/rtems.h, sparc/rtemself.h,
|
||
sparc/sol2-sld-64.h, sparc/sol2.h, sparc/sp64-aout.h,
|
||
sparc/sp64-elf.h, sparc/sp86x-aout.h, sparc/sp86x-elf.h,
|
||
sparc/sparc.h, sparc/sysv4.h, sparc/vxsim.h, sparc/vxsparc.h,
|
||
v850/rtems.h, vax/netbsd.h, vax/openbsd.h, vax/ultrix.h, vax/vax.h,
|
||
vax/vaxv.h, vax/vms.h, we32k/we32k.h
|
||
|
||
Replace -A() with -A=, the new assertion syntax.
|
||
|
||
Thu Nov 2 21:52:35 2000 J"orn Rennecke <amylaar@redhat.com>
|
||
|
||
* combine.c (distribute_notes): Use rtx_equal_p to check elim_i2 /
|
||
elim_i1.
|
||
In REG_DEAD handling: When handling parts of multi-hard-reg hard
|
||
registers, increment the loop counter by the size of the parts;
|
||
use recursion to handle individual parts.
|
||
|
||
2000-11-02 Neil Booth <neilb@earthling.net>
|
||
|
||
* configure.in: Make integrated CPP the default.
|
||
* configure: Regenerate.
|
||
|
||
Thu Nov 2 19:20:12 2000 J"orn Rennecke <amylaar@redhat.com>
|
||
|
||
* reload.c (find_equiv_reg): Test all hard registers for membership
|
||
in the requested class.
|
||
|
||
2000-11-02 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* collect2.c (main, write_c_file_stat), gcc.c (translate_options,
|
||
process_command, main), gcov.c (open_files, output_data), tlink.c
|
||
(frob_extension, scan_linker_output), toplev.c
|
||
(file_name_nondirectory): Use strchr () and strrchr () instead of
|
||
index () and rindex ().
|
||
|
||
2000-11-02 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (get_flag_spec, check_format_info_main,
|
||
check_format_types): Use strchr () instead of index (). Compare
|
||
against error_mark_node instead of comparing the TREE_CODE against
|
||
ERROR_MARK.
|
||
|
||
2000-11-02 Zack Weinberg <zackw@Stanford.EDU>
|
||
|
||
Integrated CPP.
|
||
|
||
* c-lex.c (init_c_lex): Update cpp_start_read call.
|
||
(cb_ident): Update for new callback prototype.
|
||
(cb_def_pragma): Update for new cpp_get_token prototype.
|
||
(c_lex): Similarly. Use cpp_get_line.
|
||
|
||
* c-parse.in (finish_parse): Update for new cpp_finish
|
||
prototype.
|
||
|
||
* cp/lex.c (finish_parse): Similarly.
|
||
|
||
2000-11-01 Geoff Keating <geoffk@cygnus.com>
|
||
|
||
* machmode.def: Add V16QImode.
|
||
|
||
2000-11-01 Richard Henderson <rth@redhat.com>
|
||
|
||
* dwarf2out.c (loc_descriptor_from_tree): Check for null result
|
||
from rtl_for_decl_location.
|
||
(add_location_or_const_value_attribute): Likewise.
|
||
|
||
2000-11-01 Neil Booth <neilb@earthling.net>
|
||
|
||
* cpplib.c (run_directive): Use correct line number for output
|
||
of _Pragma. Remember any in-progress directive.
|
||
|
||
* gcc.dg/cpp/vararg2.c, gcc.dg/cpp/_Pragm1.c: New tests.
|
||
|
||
2000-11-01 Richard Henderson <rth@redhat.com>
|
||
|
||
* stmt.c (expand_start_null_loop): Set continue_label.
|
||
|
||
2000-11-01 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* builtins.c (fold_builtin_constant_p, fold_builtin): New functions.
|
||
(expand_builtin_constant_p): Move parts of the code into
|
||
fold_builtin_constant_p.
|
||
(expand_builtin_strlen): Move parts of the code into fold_builtin.
|
||
* expr.h (fold_builtin): Declare.
|
||
* fold-const.c (fold): Handle builtin calls.
|
||
|
||
* c-typeck.c (build_function_call): Call fold on the CALL_EXPR.
|
||
|
||
2000-11-01 Richard Henderson <rth@redhat.com>
|
||
|
||
* stmt.c (expand_start_null_loop): New.
|
||
(expand_end_null_loop): New.
|
||
* c-semantics.c (genrtl_do_stmt): Use them.
|
||
* tree.h: Declare them.
|
||
|
||
2000-11-01 Richard Henderson <rth@redhat.com>
|
||
|
||
* cppmain.c (scan_buffer): Don't avoid paste for assembly.
|
||
|
||
2000-11-01 Neil Booth <neilb@earthling.net>
|
||
|
||
* c-parse.in (_yylex): Remove CPP_BACKSLASH case.
|
||
* cp/spew.c: Similarly.
|
||
* cpplex.c (_cpp_lex_token): Backslashes are now CPP_OTHER.
|
||
* cppmacro.c (stringify_arg): Similarly.
|
||
* cpplib.h (CPP_BACKSLASH): Delete.
|
||
|
||
2000-10-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* builtins.c (expand_builtin_strstr): New function.
|
||
(expand_builtin): Handle BUILT_IN_STRSTR and BUILT_IN_STRCHR.
|
||
|
||
* builtins.def (BUILT_IN_STRSTR, BUILT_IN_STRCHR): New entries.
|
||
|
||
* c-common.c (c_common_nodes_and_builtins): Declare builtin strstr
|
||
and builtin strchr.
|
||
|
||
2000-10-31 Richard Henderson <rth@redhat.com>
|
||
|
||
* config/i386/i386.c (fcmov_comparison_operator): Check for
|
||
CCFPmode or CCFPUmode instead of CCmode.
|
||
(ix86_expand_fp_movcc): Call ix86_expand_setcc for most
|
||
unordered operations as well.
|
||
|
||
2000-10-31 Richard Henderson <rth@redhat.com>
|
||
|
||
* c-semantics.c (genrtl_do_stmt): Use integer_zerop instead
|
||
of integer_zero_node.
|
||
|
||
2000-10-31 Richard Henderson <rth@redhat.com>
|
||
|
||
* c-semantics.c (genrtl_do_stmt): Special case do/while(0).
|
||
|
||
2000-10-31 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/arm/unknown-elf.h (UNIQUE_SECTION_P): Do not allow
|
||
-fdata-sections to override the section attribute of a DECL.
|
||
|
||
2000-10-31 Chris Demetriou <cgd@sibyte.com>
|
||
|
||
* libgcc2.c (__shtab): Remove __shtab variable.
|
||
* libgcc-std.ver (GCC_3.0): Remove __shtab from symbol list.
|
||
* Makefile.in (LIB2FUNCS): Remove _shtab from list of library
|
||
members.
|
||
|
||
2000-10-31 Jim Wilson <wilson@redhat.com>
|
||
|
||
* defaults.h (ASM_OUTPUT_DEBUG_LABEL): New.
|
||
* tm.texi (ASM_OUTPUT_DEBUG_LABEL): Document.
|
||
* dwarf2out.c (dwarf2out_begin_block): Use ASM_OUTPUT_DEBUG_LABEL
|
||
instead of ASM_OUTPUT_INTERNAL_LABEL.
|
||
(dwarf2out_end_block, dwarf2out_label): Likewise.
|
||
* final.c (final_scan_insn, case NOTE_INSN_DELETED_LABEL): Likewise
|
||
* config/ia64/ia64.h (ASM_OUTPUT_DEBUG_LABEL): Define.
|
||
|
||
2000-10-31 Richard Henderson <rth@redhat.com>
|
||
|
||
* dwarf2out.c (struct dw_loc_descr_struct): Add dw_loc_addr.
|
||
(size_of_locs): Set it.
|
||
(output_loc_operands): Use it to compute branch displacement.
|
||
(int_loc_descriptor): New.
|
||
(mem_loc_descriptor): Dereference memory in the proper size.
|
||
Use DW_OP_plus_uconst when possible. Use int_loc_descriptor.
|
||
(loc_descriptor_from_tree): New.
|
||
(rtl_for_decl_location): Break out from ...
|
||
(add_location_or_const_value_attribute): ... here.
|
||
(add_bound_info): Use loc_descriptor_from_tree.
|
||
|
||
2000-10-31 Neil Booth <neilb@earthling.net>
|
||
|
||
* cpp.texi: Update for new command line assertion syntax.
|
||
* cpplib.c (cpp_define): Simplify a bit.
|
||
(cpp_assert, cpp_unassert): Use handle_assertion.
|
||
(handle_assertion): New function; accept new command line
|
||
syntax with '='.
|
||
* testsuite/gcc.dg/cpp/assert3.c: New tests.
|
||
|
||
2000-10-31 Neil Booth <neilb@earthling.net>
|
||
|
||
* cppmacro.c (STDC_0_IN_SYSTEM_HEADERS): Define to 0 if
|
||
undefined. Remove #ifdef check.
|
||
* config/i386/sol2.h, config/rs6000/sol2.h, config/sparc/sol2.h:
|
||
Define STDC_0_IN_SYSTEM_HEADERS to 1.
|
||
|
||
2000-10-31 Jan Hubicka <jh@suse.cz>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/i386/i386.h: Clarify CCNOmode description in comment.
|
||
(EXTRA_CC_MODES): Remove CCRCmode.
|
||
* config/i386/i386.c (ix86_comparison_operator): Remove CCRCmode.
|
||
(put_condition_code, ix86_match_ccmode): Likewise.
|
||
(ix86_cc_mode): Likewise. Fix comment.
|
||
(ix86_expand_strlensi_unroll_1): *rc patterns are gone.
|
||
* config/i386/i386.md: Add unspec 12 description.
|
||
(adddi3 split): Use unspec 12 instead of CCRCmode.
|
||
(addsi3_carry_rc): Remove.
|
||
(addsi3_cc, addqi3_cc): New patterns.
|
||
(addsi_3): Swap operands, match CCZmode.
|
||
(addsi_4): Rewritten.
|
||
(addsi_5): Renamed from addsi_6.
|
||
(addsi_6): Removed.
|
||
(addhi_3): Swap operands, match CCZmode.
|
||
(addhi_4): Rewritten.
|
||
(addhi_5): Renamed from addhi_6.
|
||
(addhi_6): Removed.
|
||
(addqi_3): Swap operands, match CCZmode.
|
||
(addqi_4): Rewritten.
|
||
(addqi_5): Renamed from addqi_6. Use =q constraint for clobber.
|
||
(subsi3_carry_rc): Removed.
|
||
(iorqi_3): Use =q constraint for clobber.
|
||
(xorqi_cc_2): Likewise.
|
||
(negdi2_1 split): Don't use CCRCmode, use ltu instead of gtu.
|
||
(x86_movsicc_0_m1_rc): Removed.
|
||
(cmp?i peepholes): Remove neg. Use CCGCmode instead of CCRCmode.
|
||
|
||
2000-10-31 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-typeck.c (build_unary_op): If pedantic, pedwarn for increment
|
||
and decrement of complex types.
|
||
|
||
2000-10-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* builtins.c (expand_builtin_fputs): When deleting NOP calls to
|
||
builtin fputs, ensure we still evaluate the stream in case it
|
||
has side-effects.
|
||
|
||
2000-10-31 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* expr.c (do_store_flag): Pass operand_mode instead of GET_MODE (op0)
|
||
to expand_shift.
|
||
|
||
Tue Oct 31 15:33:27 2000 J"orn Rennecke <amylaar@redhat.com>
|
||
|
||
* sh-protos.h (reg_no_subreg_operand, emit_fpscr_use): Don't declare.
|
||
(fp_extended_operand, emit_fpscr_use): Likewise.
|
||
* sh.c (reg_no_subreg_operand, fp_extended_operand): Delete functions.
|
||
(fpul_operand): New function.
|
||
* sh.h (PREDICATE_CODES): Remove reg_no_subreg_operand and
|
||
fp_extended_operand. Add fpul_operand.
|
||
* sh.md (mulsf3, mulsf3_i4): Use fp_arith_reg_operand for "f" operands.
|
||
(mulsf3_ie, macsf3, cmpgtsf_t, cmpeqsf_t, ieee_ccmpeqsf_t): Likewise.
|
||
(cmpgtsf_t_i4, cmpeqsf_t_i4, ieee_ccmpeqsf_t_4, negsf2): Likewise.
|
||
(negsf2_i, sqrtsf2, sqrtsf2_i, abssf2, abssf2_i, adddf3): Likewise.
|
||
(adddf3_i, subdf3, subdf3_i, muldf3, muldf3_i, divdf3): Likewise.
|
||
(divdf3_i): Likewise.
|
||
(floatsisf2): Likewise. Use fpul_operand for 'y' operand.
|
||
(floatsisf2_i4, floatsisf2_ie, fix_truncsfsi2): Likewise.
|
||
(fix_truncsfsi2_i4, fixsfsi, floatsidf2, floatsidf2_i): Likewise.
|
||
(fix_truncdfsi2, fix_truncdfsi2_i, extendsfdf2): Likewise.
|
||
(extendsfdf2_i4, truncdfsf2, truncdfsf2_i4): Likewise.
|
||
|
||
2000-10-31 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* config/i386/i386.c (ix86_init_builtins): Correct return type
|
||
building v4hi_ftype_v4hi_int_int tree node.
|
||
(ix86_expand_builtin): Use correct operand numbers 0 and 1.
|
||
Copy operand 0 into a Pmode register, don't generate a MEM rtx.
|
||
|
||
* config/i386/i386.md (sse_movntdi): Use mmx register constraint
|
||
for operand 1.
|
||
(mmx__uavgv8qi3): Correct insn mnemonic.
|
||
(mmx_psadbw): Correct insn mnemonic. Use V8QI mode for operands 1 and 2.
|
||
(mmx_punpckhwd): Correct insn mnemonic.
|
||
(mmx_punpckhdq): Likewise.
|
||
(mmx_punpcklwd): Likewise.
|
||
(mmx_punpckldq): Likewise.
|
||
(prefetch): Use immediare_operand and 'n' constraint for operand 1.
|
||
Renumber case labels to match the _mm_prefetch constants defined in
|
||
xmmintrin.h.
|
||
|
||
* recog.c (split_all_insns): Don't try to call cleanup_subreg_operands
|
||
if the splitter didn't emit new insns.
|
||
Make sure we call cleanup_subreg_operands even when splitting the last
|
||
insn in a basic block.
|
||
|
||
* invoke.texi (Debugging Options): Describe -do.
|
||
* toplev.c (enum_dump_file_index): New entry DFI_postreload.
|
||
(dump_file): Likewise.
|
||
(rest_of_compilation): Split .greg dump into .greg and .postreload.
|
||
|
||
2000-10-30 Neil Booth <neilb@earthling.net>
|
||
|
||
* cppfiles.c (stack_include_file): Check for stacked contexts
|
||
here.
|
||
* cpphash.h (_cpp_do__Pragma): New prototype.
|
||
* cppinit.c (cpp_reader_init): Add _Pragma keyword to hash table.
|
||
|
||
* cpplex.c (skip_escaped_newlines): Only process trigraphs and
|
||
escaped newlines if !(buffer->from_stage3).
|
||
(_cpp_lex_token): Warn about missing newlines iff
|
||
!buffer->from_stage3.
|
||
|
||
* cpplib.c (get__Pragma_string, destringize,
|
||
_cpp_do__Pragma): New functions.
|
||
(run_directive): Set output_line for _Pragma to avoid line
|
||
markers in output. Set from_stage3 and prevent macro expansion
|
||
for _Pragma and command-line options. Check buffer exhaustion.
|
||
(cpp_push_buffer): Don't check for stacked macro contexts, as
|
||
this is perfectly legitimate for _Pragma. Move the check to
|
||
stack_include_file instead. Set from_stage3 iff buffer is
|
||
preprocessed input.
|
||
|
||
* cpplib.h (struct cpp_buffer): Make warned_cplusplus_comments
|
||
unsigned. New boolean from_stage3.
|
||
(struct spec_nodes): Add n__Pragma.
|
||
|
||
* cppmacro.c (enter_macro_context): Flip sense of return value.
|
||
(_cpp_get_token): Handle _Pragma operator.
|
||
|
||
2000-10-30 Phil Edwards <pme@sources.redhat.com>
|
||
|
||
* gcc.texi: The C++ standard isn't "draft" anymore.
|
||
|
||
2000-10-30 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* cppmacro.c (builtin_macro): Use NT_VOID, not T_VOID.
|
||
|
||
2000-10-29 Neil Booth <neilb@earthling.net>
|
||
|
||
* cpplib.c (skip_rest_of_line): Use _cpp_get_token.
|
||
|
||
2000-10-29 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* toplev.c, flags.h, fold-const.c, real.c, rtl.c,
|
||
fixinc/inclhack.def: Change comments mentioning C9X to refer to
|
||
C99 instead.
|
||
|
||
* invoke.texi: Document that -V will only work for very similar
|
||
versions of driver and compiler.
|
||
|
||
2000-10-29 Neil Booth <neilb@earthling.net>
|
||
|
||
* cppmacro.c (_cpp_create_definition): Optimize the case of
|
||
a macro defined to itself.
|
||
|
||
2000-10-29 Neil Booth <neilb@earthling.net>
|
||
|
||
* cpplex.c (save_comment): Don't store new lines in C++ comments.
|
||
|
||
2000-10-29 Michael Hayes <mhayes@redhat.com>
|
||
|
||
* integrate.c (copy_insn_list): Copy the unchanging flag for calls.
|
||
|
||
2000-10-28 Geoffrey Keating <geoffk@cygnus.com>
|
||
|
||
* cpphash.c (cpp_forall_identifiers): Add context variable
|
||
for callback routine.
|
||
* cppmain.c (dump_macro): Update to match cpp_forall_identifiers
|
||
change.
|
||
(main): Call cpp_forall_identifiers with null context.
|
||
* cpplib.h (cpp_forall_identifiers): Update prototype.
|
||
|
||
* cppmain.c: Make `parse_in' and `print' static.
|
||
|
||
2000-10-28 Alan Modra <alan@linuxcare.com.au>
|
||
|
||
* c-decl.c (finish_function): Clear c_function_name_declared_p.
|
||
|
||
2000-10-28 Richard Henderson <rth@redhat.com>
|
||
|
||
* regrename.c (scan_rtx_address): Frob action, not class,
|
||
when trying to disable optimization.
|
||
|
||
2000-10-28 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* c-semantics.c (make_rtl_for_local_static): Don't clobber
|
||
DECL_ASSEMBLER_NAME.
|
||
|
||
2000-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* configure.in: Determine and substitute gcc_version_full.
|
||
* configure: Regenerate.
|
||
* gccbug.in: Use it to give full version. Don't allow
|
||
confidential PRs.
|
||
|
||
2000-10-28 Richard Henderson <rth@redhat.com>
|
||
|
||
* recog.c (split_all_insns): Run cleanup_subreg_operands
|
||
after reload.
|
||
|
||
* regrename.c (regrename_optimize): Verify that all registers of
|
||
a multiple register mode are available.
|
||
(scan_rtx_address): Accept the mode of the address; all callers
|
||
changed.
|
||
|
||
* cpplib.c (run_directive): Fix prototype.
|
||
|
||
2000-10-28 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* reload.c (find_reloads): Distinguish "wins" so that we know whether
|
||
a given operand won because of a matching constraint or not; then use
|
||
that information to compute goal_alternative_matched properly.
|
||
* reload1.c (choose_reload_regs): Never set reload_override_in for an
|
||
optional reload.
|
||
|
||
* config/ia64/ia64.h (RTX_COSTS): A few more entries, and a more
|
||
accurate value for MULT.
|
||
* config/ia64/ia64.c (ia64_print_operand): Require probability to be
|
||
2% or > 98% before using static branch prediction bits.
|
||
|
||
2000-10-28 Neil Booth <neilb@earthling.net>
|
||
|
||
New macro expander.
|
||
|
||
* cpplib.c (struct answer): New.
|
||
(struct if_stack): Use cpp_lexer_pos rather than line and col.
|
||
Rename cmacro mi_cmacro.
|
||
(struct directive, KANDR, STDC89, EXTENSION, COND, IF_COND, INCL,
|
||
IN_I): New directive and flags.
|
||
(skip_rest_of_line, check_eol, run_directive, glue_header_name,
|
||
parse_answer, parse_assertion, find_answer): New functions.
|
||
(parse_ifdef, detect_if_not_defined, validate_else): Remove.
|
||
(lex_macro_node): New function to replace parse_ifdef and
|
||
get_define_node.
|
||
|
||
(_cpp_handle_directive): New function, combines _cpp_check_directive
|
||
and _cpp_check_linemarker.
|
||
|
||
(do_define, do_undef, parse_include, do_include, do_import,
|
||
do_include_next, read_line_number, do_line, do_ident, do_pragma,
|
||
do_pragma_once, do_pragma_poison, do_pragma_dependency):
|
||
Update for new token getting interface.
|
||
|
||
(do_ifdef, do_ifndef, do_if, do_else, do_endif, push_conditional)
|
||
: Update for new multiple-include optimisation technique.
|
||
(do_elif): Don't forget to invalidate controlling macros.
|
||
|
||
(unwind_if_stack, cpp_defined, cpp_push_buffer, cpp_pop_buffer): Update.
|
||
(parse_assertion, parse_answer, find_answer, _cpp_test_assertion):
|
||
Functions to handle assertions with the new token interface.
|
||
(do_assert, do_unassert): Use them.
|
||
|
||
(cpp_define, _cpp_define_builtin, cpp_undef, cpp_assert, cpp_unassert):
|
||
Use run_directive.
|
||
|
||
(_cpp_init_stacks): Register directive names. Don't register special
|
||
nodes.
|
||
|
||
* cpperror.c (print_containing_files, _cpp_begin_message): Update to
|
||
new position recording regime.
|
||
(cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
|
||
cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
|
||
cpp_pedwarn_with_file_and_line): Update for _cpp_begin_message changes.
|
||
(cpp_type2name): Move to cpplex.c.
|
||
|
||
* cppexp.c (parse_charconst): spec_nodes is no longer a pointer.
|
||
(parse_defined): Update to handle new multiple include optimisation
|
||
method. Remove poisoned identifier warning.
|
||
(parse_assertion, TYPE_NAME): Delete.
|
||
(lex): Update for multiple include optimisation, removal of
|
||
CPP_DEFINED, to use _cpp_test_assertion for assertions and
|
||
cpp_token_as_text.
|
||
(_cpp_parse_expr): Update for MI optimisation, and to use op_as_text.
|
||
(op_as_text): New function, to wrap cpp_token_as_text.
|
||
|
||
* cppfiles.c (stack_include_file, _cpp_pop_file_buffer):
|
||
Update for MI optimisation.
|
||
(_cpp_execute_include): Take a token rather than 3 arguments. Fix
|
||
segfault on diagnostic.
|
||
(_cpp_compare_file_date): Take a token rather than 3 args.
|
||
(cpp_read_file): Work correctly for zero-length files.
|
||
|
||
* cpphash.c (_cpp_init_macros, _cpp_cleanup_macros): Rename
|
||
_cpp_init_hashtable and _cpp_cleanup_hashtable.
|
||
(cpp_lookup): Place identifiers at front of identifier pool
|
||
for _cpp_lookup_with_hash.
|
||
(_cpp_lookup_with_hash): Require identifiers to be at the front of
|
||
the identifier pool. Commit the memory if not already in the
|
||
hash table.
|
||
|
||
* cppinit.c (cpp_reader_init): Move cpp_init_completed test to top.
|
||
Initialise various members of cpp_reader, memory pools, and the
|
||
special nodes.
|
||
(cpp_printer_init): Delete.
|
||
(cpp_cleanup): Update.
|
||
(struct builtin, builtin_array, initialize_builtins): Update for new
|
||
hashnode definition and builtin handling.
|
||
(cpp_start_read, cpp_finish): Don't take or initialise a
|
||
printer. Update.
|
||
|
||
* cpplib.h (cpp_printer, cpp_toklist, CPP_DEFINED, BOL,
|
||
PASTED, VAR_ARGS, BEG_OF_FILE, IN_DIRECTIVE, KNOWN_DIRECTIVE,
|
||
T_VOID, T_SPECLINE, T_DATE, T_FILE, T_BASE_FILE, T_INCLUDE_LEVEL,
|
||
T_TIME, T_STDC, T_OPERATOR, T_POISON, T_MACRO, T_ASSERTION): Delete.
|
||
(struct cpp_pool, struct cpp_macro, struct cpp_lexer_pos,
|
||
struct cpp_lookahead, CPP_DHASH, enum mi_state, enum mi_ind,
|
||
NO_EXPAND, VARARGS_FIRST, struct cpp_token_with_pos,
|
||
struct toklist, struct cpp_context, struct specnodes,
|
||
TOKEN_LOOKAHEAD, TOKEN_BUFFSIZE, NODE_OPERATOR, NODE_POISONED,
|
||
NODE_BUILTIN, NODE_DIAGNOSTIC, NT_VOID, NT_MACRO, NT_ASSERTION,
|
||
enum builtin_type, cpp_can_paste): New.
|
||
(struct cpp_token): Delete line and col members.
|
||
(struct cpp_buffer): New member output_lineno.
|
||
(struct lexer_state): Delete indented, in_lex_line, seen_dot.
|
||
Add va_args_ok, poisoned_ok, prevent_expansion, parsing_args.
|
||
(struct cpp_reader): New members lexer_pos, macro_pos, directive_pos,
|
||
ident_pool, temp_string_pool, macro_pool, argument_pool, string_pool,
|
||
base_context, context, directive, mi_state, mi_if_not_defined,
|
||
mi_lexed, mi_cmacro, mi_ind_cmacro, la_read, la_write, la_unused,
|
||
mlstring_pos, macro_buffer, macro_buffer_len.
|
||
Delete members mls_line, mls_column, token_list, potential_control_macro,
|
||
temp_tokens, temp_cap, temp_alloced, temp_used, first_directive_token,
|
||
context_cap, cur_context, no_expand_level, paste_level, contexts, args,
|
||
save_parameter_spellings, need_newline, .
|
||
Change type of date, time and spec_nodes members.
|
||
Change prototypes for include and ident callbacks.
|
||
(struct cpp_hashnode): Change type of name. Remove union members
|
||
expansion and code. Add members macro, operator and builtin.
|
||
|
||
(cpp_token_len, cpp_token_as_text, cpp_spell_token, cpp_start_read,
|
||
cpp_finish, cpp_avoid_paste, cpp_get_token, cpp_get_line,
|
||
cpp_get_output_line, cpp_macro_definition, cpp_start_lookahead,
|
||
cpp_stop_lookahead): New prototypes.
|
||
(cpp_printer_init, cpp_dump_definition): Delete prototypes.
|
||
|
||
(U_CHAR, U, ustrcmp, ustrncmp, ustrlen, uxstrdup, ustrchr, ufputs):
|
||
Move from cpphash.h.
|
||
|
||
* cpphash.h (U_CHAR, U, ustrcmp, ustrncmp, ustrlen, uxstrdup, ustrchr,
|
||
ufputs): Move to cpplib.h.
|
||
(enum spell_type, struct token_spelling, _cpp_token_spellings, TOKEN_SPELL,
|
||
TOKEN_NAME, struct answer, FREE_ANSWER, KANDR, STDC89, EXTENSION,
|
||
COND, EXPAND, INCL, COMMENTS, IN_I, struct directive, directive_handler,
|
||
struct spec_nodes, _cpp_digraph_spellings, _cpp_free_temp_tokens,
|
||
_cpp_init_input_buffer, _cpp_grow_token_buffer, _cpp_init_toklist,
|
||
_cpp_clear_toklist, _cpp_expand_token_space, _cpp_expand_name_space,
|
||
_cpp_equiv_tokens, _cpp_equiv_toklists, _cpp_process_directive,
|
||
_cpp_run_directive, _cpp_get_line, _cpp_get_raw_token, _cpp_glue_header_name,
|
||
_cpp_can_paste, _cpp_check_directive, _cpp_check_linemarker,
|
||
_cpp_parse_assertion, _cpp_find_answer): Delete.
|
||
(VALID_SIGN, ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE, POOL_SIZE,
|
||
POOL_USED, POOL_COMMIT, struct cpp_chunk, _cpp_lex_token, _cpp_init_pool,
|
||
_cpp_free_pool, _cpp_pool_reserve, _cpp_pool_alloc, _cpp_next_chunk,
|
||
_cpp_lock_pool, _cpp_unlock_pool, _cpp_test_assertion,
|
||
_cpp_handle_directive, DSC): New.
|
||
(struct include_file): New member defined.
|
||
|
||
(DO_NOT_REREAD, _cpp_begin_message, _cpp_execute_include,
|
||
_cpp_compare_file_date): Update.
|
||
(_cpp_pop_context, _cpp_get_token, _cpp_free_lookaheads, _cpp_push_token): New.
|
||
(_cpp_init_macros, _cpp_cleanup_macros): Rename to _cpp_init_hashtable,
|
||
_cpp_cleanup_hashtable.
|
||
|
||
* Makefile.in: Remove cppoutput.c.
|
||
|
||
* cppoutput.c: Delete
|
||
|
||
* fixheader.c (read_scan_file): Update for new cpp_get_token
|
||
prototype.
|
||
(recognized_function): New argument LINE.
|
||
|
||
* scan-decls.c (skip_to_closing_brace, scan_decls): Update for
|
||
new cpp_get_token prototype.
|
||
|
||
* scan.h (recognized_function): Update prototype.
|
||
|
||
* po/POTFILES.in: Remove cppoutput.c.
|
||
|
||
2000-10-27 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* c-typeck.c (check_init_type_bitfields): Remove.
|
||
(constructor_incremental): Likewise.
|
||
(struct constructor_stack): Remove incremental bit.
|
||
(struct initializer_stack): Likewise.
|
||
(start_init): Don't play with constructor_incremental.
|
||
(finish_init): Likewise.
|
||
(really_start_incremental_init): Likewise.
|
||
(push_init_level): Likewise.
|
||
(pop_init_level): Likewise.
|
||
(output_init_level): Likewise.
|
||
(output_pending_init_elements): Likewise.
|
||
|
||
2000-10-21 Mike Coleman <mcoleman2@kc.rr.com>
|
||
|
||
* c-pragma.c (handle_pragma_pack): Initialize align to -1.
|
||
Improve error messages. Correct parsing of
|
||
#pragma pack(pop [,id]). Do not check the user-supplied
|
||
alignment if we're popping.
|
||
|
||
* gcc.dg/pack-test-1.c: New test case.
|
||
* gcc.dg/pack-test-2.c: New test case.
|
||
* gcc.dg/pack-test-1.h: New file.
|
||
|
||
2000-10-27 Neil Booth <neilb@earthling.net>
|
||
|
||
* cpp.texi: Update.
|
||
|
||
2000-10-27 Kelley Cook <kelley.cook@home.com>
|
||
|
||
* invoke.texi: Document -mintel-syntax
|
||
|
||
2000-10-27 Richard Henderson <rth@redhat.com>
|
||
|
||
* invoke.texi: Document -frename-registers. Add it to -O3.
|
||
* toplev.c (rest_of_compilation): Run regrename before ifcvt2.
|
||
(enum dump_file_index, dump_file): Update order.
|
||
(main): Set flag_rename_registers at -O3.
|
||
|
||
2000-10-27 Richard Henderson <rth@redhat.com>
|
||
|
||
* config/alpha/alpha.h (enum reg_class): Add PV_REG.
|
||
(REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
|
||
(REG_CLASS_FROM_LETTER): Assign it to 'c'.
|
||
* config/alpha/alpha.md (call_osf_1): Use it.
|
||
(call_value_osf_1): Likewise.
|
||
|
||
* config/ia64/ia64.c: Revert 10-23 patch.
|
||
(ia64_hard_regno_rename_ok): New.
|
||
* config/ia64/ia64-protos.h: Declare it.
|
||
* config/ia64/ia64.h (HARD_REGNO_RENAME_OK): Use it.
|
||
|
||
2000-10-27 Bernd Schmidt <bernds@redhat.co.uk>
|
||
Richard Henderson <rth@redhat.com>
|
||
|
||
* regrename.c: Rewrite to handle multi-register modes and
|
||
cond_exec instructions.
|
||
* Makefile.in (regrename.o): Update dependencies.
|
||
* recog.h (struct operand_alternative): Add is_address.
|
||
* recog.c (preprocess_constraints) [case 'p']: Set it.
|
||
|
||
2000-10-27 Zack Weinberg <zack@wolery.stanford.edu>
|
||
|
||
* configure.in: If not NO_MINUS_C_MINUS_O, substitute
|
||
OUTPUT_OPTION with '-o $@'. Make zlibdir, zlibinc relative to
|
||
top level. Kill oldstyle_subdirs. Do not include
|
||
$srcdir/$s/Makefile.in in all_lang_makefiles, but do include
|
||
$outputs. Do not run configure.lang from config.status.
|
||
Rearrange warning-flag logic to correspond to what the
|
||
makefile wants. Put special vax stage1 options in
|
||
@stage1_flags@ not @stage1_warn_cflags@. Don't do anything
|
||
with extra_c_objs, extra_cxx_objs, or extra_cpp_objs.
|
||
(--enable-c-cpplib): AC_SUBST(maybe_cpplib) with "libcpp.a" if
|
||
switch is given, nothing otherwise.
|
||
* configure.lang: Delete.
|
||
|
||
* Makefile.in: Expunge all traces of extra_c_objs,
|
||
extra_cxx_objs, and extra_cpp_objs. Set MAYBE_CPPLIB from
|
||
@maybe_cpplib@. Add $(MAYBE_CPPLIB) to C_AND_OBJC_OBJS. Set
|
||
warning options via a three level scheme so that -pedantic and
|
||
-Wtraditional are not used for non-C front ends: LOOSE_WARN,
|
||
STRICT1_WARN, STRICT2_WARN -> $(@D)-warn, GCC_WARN_CFLAGS ->
|
||
WARN_CFLAGS. Distinguish STAGE1_CFLAGS from BOOT_CFLAGS.
|
||
Add -I$(@D) and -I$(srcdir)/$(@D) to INCLUDES.
|
||
Set OUTPUT_OPTION, ZLIB, ZLIBINC. Do not set P,
|
||
LANG_FLAGS_TO_PASS. Add OUTPUT_OPTION to all object-file
|
||
generation rules. Wrap all rules that change the current
|
||
directory in parentheses; pmake doesn't spawn a new shell for
|
||
each command. Expunge all references to $(P). When one
|
||
command depends on another and they're run all at once, use &&
|
||
to separate them, not ;. Add libgcc_s$(SHLIB_EXT) to files
|
||
deleted on make clean. Force OUTPUT_OPTION='-o $@' in stage2
|
||
and beyond.
|
||
|
||
* objc/Make-lang.in: Wrap all rules that change the current
|
||
directory in parentheses. Expunge all references to $(P).
|
||
When one command depends on another and they're run all at
|
||
once, use && to separate them, not ;. Add OUTPUT_OPTION to
|
||
all object-file generation rules. Delete obsolete variables.
|
||
* objc/Makefile.in: Delete.
|
||
|
||
2000-10-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* calls.c (expand_call): If sibcall_failure is set during pass 1,
|
||
clear tail_call_insns as well.
|
||
|
||
2000-10-27 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/arm/arm-protos.h (arm_function_ok_for_sibcall): Add
|
||
prototype.
|
||
|
||
2000-10-26 Richard Henderson <rth@redhat.com>
|
||
|
||
* calls.c (expand_call): Supress sibcall if we have a
|
||
BLKmode return in registers.
|
||
|
||
2000-10-26 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* ia64.h (PREFERRED_RELOAD_CLASS): Force floating point constants
|
||
into memory.
|
||
|
||
2000-10-26 Nathan Sidwell <nathan@codesourcery.com>
|
||
|
||
* tree.c (make_node, case 't'): Set alignment to that of
|
||
char_type_node.
|
||
* expr.c (move_by_pieces_ninsns): Abort if some length remains.
|
||
|
||
2000-10-25 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* Makefile.in (site.exp): Define HAVE_LIBSTDCXX_V3.
|
||
* configure.in (enable-libstdcxx-v3): Arrange to have
|
||
HAVE_LIBSTDCXX_V3 substituted into the output files.
|
||
|
||
2000-10-25 Richard Henderson <rth@redhat.com>
|
||
|
||
* recog.c (constrain_operands): Initialize which_alternative
|
||
before no alternatives early exit.
|
||
|
||
* cse.c (find_comparison_args): Check that we can reverse a
|
||
comparison if needed before accepting the substitution.
|
||
|
||
* reload.c (find_reloads_address_part): Kill rtx obstack hackery.
|
||
|
||
* simplify-rtx.c (simplify_relational_operation): Sign extend
|
||
low words before sign extending to high words.
|
||
|
||
2000-10-25 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/mcore/mcore.c: Include config.h before system.h.
|
||
|
||
2000-10-25 Ray Essick <essick@ddna.labs.mot.com>
|
||
|
||
* config/mcore/mcore.md (return): Force function epilogue to
|
||
always be generated to work around epilogue suppression bug in
|
||
M*Core backend.
|
||
|
||
2000-10-25 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-decl.c (grokdeclarator): Move warning for qualified void
|
||
return types with -pedantic to when the function type is
|
||
constructed. At -W, warn in general for qualified function return
|
||
types, except for volatile void.
|
||
* invoke.texi: Document this new warning at -W.
|
||
|
||
2000-10-25 Neil Booth <neilb@earthling.net>
|
||
|
||
* cpp.texi: Update with implementation-defined behavior and
|
||
internal limits.
|
||
|
||
2000-10-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* stor-layout.c (layout_type): If TYPE_ALIAS_SET was already set on the
|
||
incomplete type force it into alias set 0.
|
||
|
||
Wed Oct 25 01:02:44 EDT 2000 John Wehle (john@feith.com)
|
||
|
||
* alias.c: Include basic-block.h.
|
||
(loop_p): New function.
|
||
(mark_constant_function): Use it.
|
||
* Makefile.in (alias.o): Update dependencies.
|
||
|
||
2000-10-24 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* config/mn10300/mn10300.c (secondary_reload_class): Treat pseudos
|
||
like memory.
|
||
|
||
2000-10-24 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* expmed.c (store_bit_field): Move integer pun code down after
|
||
code that calls emit_move_insn for entire register move.
|
||
* stor-layout.c (compute_record_mode): Revert Mar 25, Aug 18, and
|
||
Oct 20 changes. Only store mode in TYPE_MODE if RECORD_TYPE.
|
||
|
||
2000-10-24 Richard Henderson <rth@cygnus.com>
|
||
|
||
* rtlanal.c (rtx_unstable_p, rtx_varies_p): Don't consider pic
|
||
register stable if PIC_OFFSET_TABLE_REG_CALL_CLOBBERED.
|
||
|
||
2000-10-24 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* gcse.c (cprop_insn): do not propagate constants into jump_insn
|
||
for machines with CC0 more than once.
|
||
|
||
2000-10-24 Richard Henderson <rth@cygnus.com>, Aldy <aldyh@cygnus.com>
|
||
|
||
* config/mn10300/mn10300.h (PREFERRED_RELOAD_CLASS): Treat
|
||
pseudos just like memory.
|
||
|
||
2000-10-24 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* combine.c (distribute_notes): Discard REG_LIBCALL and REG_RETVAL
|
||
when deleting libcall sequence collapsed to a single instruction.
|
||
|
||
2000-10-24 Andrew Haley <aph@cygnus.co.uk>
|
||
|
||
* expr.c (do_store_flag): Don't crash if either side of a
|
||
comparison is error_mark_node.
|
||
|
||
2000-10-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* sibcall.c (purge_mem_unchanging_flag): New function.
|
||
(optimize_sibling_and_tail_recursive_calls): Call it.
|
||
|
||
2000-10-24 Philipp Thomas <pthomas@suse.de>
|
||
|
||
* Makefile.in (check-po): New target for doing checks in the po
|
||
subdir if all languages configured.
|
||
(CHECK_TARGETS): Add @CHECK_PO@, replaced with check-po via
|
||
configure if NLS is enabled.
|
||
* configure.in: If NLS is enabled, substitute CHECK_PO by check-po,
|
||
otherwise leave empty.
|
||
* configure: Regenerate.
|
||
|
||
2000-10-23 Diego Novillo <dnovillo@cygnus.com>
|
||
|
||
* i386.c (print_operand): Handle new 'A' formatting code.
|
||
387 opcodes need suffixes even with -mintel-syntax.
|
||
Check for explicit size override (codes 'b', 'w' and 'k').
|
||
(print_operand_address): Check if register prefix is needed when
|
||
emitting `ds' segment override.
|
||
* i386.h: Add comment about new 'A' formatting code.
|
||
* i386.md (jump and call patterns): Emit absolute references using %A.
|
||
|
||
2000-10-23 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/ia64/ia64.c (ia64_expand_prologue): Mark extra
|
||
output registers as fixed.
|
||
(ia64_function_epilogue): Undo output fixation.
|
||
|
||
2000-10-23 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/alpha/alpha.md: Add names for all unnamed insns; use
|
||
define_insn_and_split in some obvious places.
|
||
(lda): Remove.
|
||
(zero_extendqihi2): Use an expander w/ nonimmediate_operand for BWX.
|
||
(zero_extendqisi2, zero_extendqidi2): Likewise.
|
||
(zero_extendhisi2, zero_extendhidi2): Likewise.
|
||
(abs splitters): Fix match_scratch operand number.
|
||
(bcc_reverse): Swap pc & label instead of non-canonical compare.
|
||
|
||
2000-10-23 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* ia64.c (ia64_print_operand, case 'r'): Correct comment. Handle
|
||
CONST_INT.
|
||
* ia64.md (cmpsi_adjusted): Use %r3.
|
||
(cmpdi_adjusted): Likewise.
|
||
|
||
2000-10-23 Diego Novillo <dnovillo@cygnus.com>
|
||
|
||
* config/i386/att.h (ASM_FILE_START): Define.
|
||
|
||
2000-10-23 Diego Novillo <dnovillo@cygnus.com>
|
||
|
||
* config/i386/linux.h (ASM_FILE_START): Define.
|
||
|
||
Wed Oct 18 11:16:40 2000 Donald Lindsay <dlindsay@cygnus.com>
|
||
|
||
* gcc/configure.in: m68k-coff tm_file should not have libgloss.h,
|
||
since this (only) drags in a crt0.o reference that the .ld files
|
||
also introduce.
|
||
|
||
2000-10-23 Geoff Keating <geoffk@cygnus.com>
|
||
|
||
* reload1.c (reload_reg_reaches_end_p): A RELOAD_OTHER can
|
||
overwrite the value in a RELOAD_FOR_INPUT and other kinds of
|
||
reloads just like an RELOAD_FOR_OUTPUT would.
|
||
|
||
* local-alloc.c (update_equiv_regs): Add an abort(). When
|
||
deleting or moving insns, update reg_equiv[regno].init_insns.
|
||
|
||
2000-10-23 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* c-tree.texi: Improve documentation for IF_STMTs and related
|
||
conditional statements.
|
||
|
||
2000-10-22 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* expr.c (do_preexpand_calls): Remove.
|
||
(same_from_p): Don't use CALL_EXPR_RTL.
|
||
(expand_expr): Don't call preexpand_calls, or use CALL_EXPR_RTL.
|
||
(preexpand_calls): Remove.
|
||
* tree.c (first_rtl_op): Remove CALL_EXPR case.
|
||
(unsave_expr_1): Likewise.
|
||
* tree.def (CALL_EXPR): Give it only two slots.
|
||
* tree.h (CALL_EXPR_RTL): Remove.
|
||
|
||
2000-10-21 Chandrakala Chavva <cchavva@redhat.com>
|
||
|
||
* libgcc-std.ver (__addvsi3, __addvdi3, __subvsi3, __subvdi3,
|
||
__mulvsi3, __negvsi2, __negvdi2, __absvsi2, __absvdi2, __mulvdi3):
|
||
New functions.
|
||
|
||
2000-10-22 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* calls.c (combine_pending_stack_adjustment_and_call): Don't
|
||
adjust stack when unadjusted_alignment ends up as zero.
|
||
|
||
2000-10-22 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* fixinc/genfixes: Remove EGCS reference.
|
||
* install.texi: Remove EGCS reference.
|
||
* INSTALL: Regenerate.
|
||
|
||
2000-10-22 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* tree.h (TYPE_IS_SIZETYPE): Add more documentation.
|
||
|
||
2000-10-21 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* diagnostic.c: Remove EGCS reference in comment.
|
||
|
||
Sat Oct 21 08:24:25 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* loop.c (strength_reduce): Fix error in last change.
|
||
|
||
2000-10-20 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* Makefile.in (SHLIB_NM_FLAGS): New.
|
||
(libgcc.mk): Pass it.
|
||
* mklibgcc.in (libgcc.map): Use it.
|
||
|
||
* rs6000/t-aix43 (SHLIB_EXT, SHLIB_LINK, SHLIB_LIBS,
|
||
SHLIB_MKMAP, SHLIB_MAPFILES, SHLIB_NM_FLAGS): New.
|
||
|
||
2000-10-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* mips.h (REG_CLASS_FROM_LETTER): Cast array arg to unsigned char.
|
||
|
||
* sparc.c (load_pic_register): Delete unused varaible.
|
||
|
||
* libgcc2.c (__addvsi3): Delete unused variable.
|
||
|
||
* libgcc2.h (__absvsi2, __absvdi2, __addvsi3, __addvdi3,
|
||
__subvsi3, __subvdi3, __mulvsi3, __mulvdi3, __negvsi2,
|
||
__negvdi2): Prototype.
|
||
|
||
* ssa.c (apply_delayed_renames): Avoid undefined operation.
|
||
|
||
* toplev.c (display_target_options): Make static to match
|
||
prototype. Delete empty declaration.
|
||
|
||
2000-10-20 Tom Tromey <tromey@cygnus.com>
|
||
|
||
* cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Added -MF and -MT.
|
||
* gcc.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Added -MF and -MT.
|
||
|
||
Fri Oct 20 17:05:49 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* expr.c (expand_expr, case SAVE_EXPR): Set RTX_UNCHANGING_P on
|
||
returned MEM.
|
||
(expand_expr_unaligned, case ARRAY_REF): Check that index is
|
||
a constant before comparing it; use tree_low_cst.
|
||
* tree.c (save_expr): Set TREE_READONLY.
|
||
(substitute_expr): Return inside of NON_LVALUE_EXPR.
|
||
(build, build1): Set TREE_READONLY if all operands are.
|
||
(build_index_type): If upper bound is a negative number, lower
|
||
bound is zero and sizetype is unsigned, use upper bound of one and
|
||
lower of zero.
|
||
|
||
2000-10-20 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* gcc.c (process_command, main): Use "because" instead of
|
||
"since" in error messages.
|
||
|
||
Fri Oct 20 13:33:16 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* stor-layout.c (compute_record_mode): Use tree_low_cst.
|
||
Don't use mode of field for record unless sizes are the same.
|
||
(layout_type, case ARRAY_TYPE): Remove special bounds handling
|
||
previously added for Ada; also change to using host_integerp
|
||
and tree_low_cst.
|
||
|
||
* loop.c (strength_reduce): Show when new register made for
|
||
giv is known to be a pointer and its aligment if so and known.
|
||
(loop_dump_aux): Show VERBOSE parameter unused.
|
||
|
||
* gcse.c (set_hash_table_size): Now unsigned.
|
||
* sdbout.c (template_name_p): Add "const" to avoid warnings.
|
||
(sdbout_record_type_name, plain_type_1, sdbout_symbol): Likewise.
|
||
(sdbout_one_type, sdbout_parms, sdbout_reg_parms): Likewise.
|
||
(sdbout_end_epilogue): Remove variable NAME.
|
||
* system.h (getopt): Add default definition.
|
||
* config/alpha/alpha.c (print_operand): Don't continue processing
|
||
after issuing error.
|
||
(summarize_insn): Avoid use of UL in constant.
|
||
|
||
* function.c (locate_and_pad_parm): Use host_integerp and tree_low_cst.
|
||
|
||
* fold-const.c (force_fit_type): Unsigned values can overflow
|
||
if they are sizetype.
|
||
(int_const_binop): Don't use cache if overflows.
|
||
|
||
2000-10-20 Richard Henderson <rth@cygnus.com>
|
||
|
||
* function.c (locate_and_pad_parm): Zero alignment_pad.
|
||
|
||
* regrename.c (rr_replace_reg): Rewrite to use recog_data to
|
||
perform substitutions, and apply_change_group to see if it worked.
|
||
|
||
Fri Oct 20 13:33:16 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* dwarf2out.c (add_bound_info): Also ignore COND_EXPR.
|
||
|
||
* combine.c (struct undo): Change int to unsigned int.
|
||
(do_SUBST_INT): Args are unsigned int.
|
||
(make_extraction, force_to_mode): Use proper type when forming mask.
|
||
(make_field_assignment): Likewise.
|
||
|
||
2000-10-20 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (check_format_info_recurse): Extract string constant
|
||
initializers from non-volatile constant arrays and check them as
|
||
formats.
|
||
* c-typeck.c (decl_constant_value): Don't check pedantic or check
|
||
for DECL_MODE (decl) != BLKmode.
|
||
(decl_constant_value_for_broken_optimization): New function which
|
||
includes these checks.
|
||
(default_conversion, convert_for_assignment, digest_init): Use
|
||
decl_constant_value_for_broken_optimization instead of
|
||
decl_constant_value.
|
||
|
||
2000-10-20 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* tree.h (DECL_ALIGN_UNIT): New macro.
|
||
|
||
2000-10-14 Marek Michalkiewicz <marekm@linux.org.pl>
|
||
|
||
* config/avr/avr-protos.h (avr_output_bld): New.
|
||
(out_shift_with_cnt): Add t_len argument.
|
||
* config/avr/avr.c (avr_num_arg_regs): Remove -mpack-args.
|
||
(output_movqi, output_movhi, output_movsisf): Optimize loading
|
||
any constant with exactly one bit set to NO_LD_REGS.
|
||
(out_shift_with_cnt): Optimize output code for size or speed,
|
||
depending on optimize_size. Handle small shift counts as well
|
||
(if not hand-optimized in ?sh??i3_out). Shifts can be done
|
||
with or without a scratch register, with help of __tmp_reg__
|
||
or __zero_reg__ if necessary. Add T_LEN argument to pass the
|
||
length of TEMPLATE in words, return total insn length in *LEN.
|
||
(ashlqi3_out, ashrqi3_out, lshrqi3_out): Change all calls to
|
||
out_shift_with_cnt to work with the above change.
|
||
(ashlhi3_out, ashlsi3_out, ashrhi3_out, ashrsi3_out, lshrhi3_out,
|
||
lshrsi3_out): Likewise. Optimize more known shift count cases.
|
||
Remove cases already well optimized in out_shift_with_cnt.
|
||
(avr_output_bld): New function.
|
||
* config/avr/avr.h (MASK_PACK_ARGS, TARGET_PACK_ARGS): Remove.
|
||
(TARGET_SWITCHES): Remove -mpack-args backward compatibility.
|
||
* config/avr/avr.md (*reload_inqi, *reload_inhi, *reload_insi):
|
||
Add reload_completed to insn condition - only for peepholes.
|
||
(ashlqi3, ashrqi3, lshrqi3): Correct insn length for shift counts
|
||
in a register or memory.
|
||
(ashlhi3, ashlsi3, ashrhi3, ashrsi3, lshrhi3, lshrsi3): Likewise.
|
||
Do not require a scratch register.
|
||
(*ashlhi3_const, *ashlsi3_const, *ashrhi3_const, *ashrsi3_const,
|
||
*lshrhi3_const, *lshrsi3_const): New insns and matching peepholes.
|
||
Optimize shifts by known count using a scratch register, but only
|
||
if one is still available after register allocation.
|
||
|
||
2000-10-20 J. David Anglin <dave@hiauly1.hia.nrc.ca>
|
||
|
||
* t-vax: New file. Don't build modules from libgcc1.c.
|
||
|
||
Fri Oct 20 00:57:00 EDT 2000 John Wehle (john@feith.com)
|
||
|
||
* alias.c: (mark_constant_function): Don't check pure functions.
|
||
Initialize and end alias analysis.
|
||
(nonlocal_mentioned_p): Rename from nonlocal_reference_p.
|
||
Don't make a special exception for recursion. Handle
|
||
UNSPEC_VOLATILE. Don't assume ASM_OPERANDS is non-local
|
||
unless it's volatile.
|
||
|
||
* local-alloc.c (equivalence): New structure.
|
||
(reg_equiv): Define.
|
||
(contains_replace_regs): Remove array and use
|
||
field in reg_equiv.
|
||
(memref_referenced_p): Likewise.
|
||
(no_equiv): Likewise.
|
||
(update_equiv_regs): Likewise.
|
||
|
||
(equiv_init_varies_p,
|
||
equiv_init_movable_p): New functions.
|
||
(update_equiv_regs): Use them. Use rtx_varies_p
|
||
instead of function_invariant_p. Process insns
|
||
from end to beginning. Allow a REG_EQUIV insn
|
||
within the same loop as a use to be moved, also
|
||
allow it to be moved out of a loop. Update
|
||
REG_DEAD notes when substituting into an insn.
|
||
|
||
2000-10-19 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* c-decl.c (start_decl): Check for error_mark_node type before using
|
||
COMPLETE_TYPE_P.
|
||
(finish_decl): Likewise. Don't give an error if decl type is
|
||
already error_mark_node.
|
||
|
||
* haifa-sched.c (compute_trg_info): Add explanatory comments.
|
||
New local update_blocks. Use update_blocks to remove duplicates
|
||
when computing update blocks. Check for bblst_table overflow.
|
||
(schedule_block): Add explanatory comment. Reduce bblst_size by
|
||
factor of 2.
|
||
* config/ia64/ia64.md (movdi_symbolic): Document loss of REG_LABEL
|
||
notes.
|
||
|
||
2000-10-19 Chandrakala Chavva <cchavva@redhat.com>
|
||
|
||
* libgcc2.c (_mulvsi3): Change variables u and v to a and b.
|
||
|
||
2000-10-19 Chandrakala Chavva <cchavva@redhat.com>
|
||
|
||
* expmed.c: Minor corrections in comments.
|
||
* invoke.texi: Added desciption for the new option -ftrapv.
|
||
|
||
2000-10-19 Chandrakala Chavva <cchavva@redhat.com>
|
||
|
||
* libgcc2.c: Added the missing #endif.
|
||
|
||
Thu Oct 19 14:25:11 MET DST 2000 Jan Hubicka <jh@suse.cz>
|
||
|
||
* i386.h (CONST_OK_FOR_LETTER): Re-add 'N'; document.
|
||
|
||
2000-10-18 Chandrakala Chavva <cchavva@redhat.com>
|
||
|
||
* expmed.c (expand_mult): Don't do synth_mult optimization for -ftrapv.
|
||
Use smulv_optab for -ftrapv.
|
||
(expand_mult_highpart): Use unsigned multiply.
|
||
(expand_divmod): Special-case division by -1.
|
||
For EXACT_DIV_EXPR, do right shift first, then the multiply.
|
||
For complex divide, use abs with unsigned result.
|
||
* expr.c (force_operand): Use unsigned multiply.
|
||
(expand_expr): Use overflow-trapping optabs for signed types if
|
||
flag_trapv.
|
||
If flag_trapv, don't generate a recursive call with EXPAND_SUM
|
||
if the type is signed and the original call wasn't EXPAND_SUM or
|
||
EXPAND_INITIALIZER.
|
||
* expr.h (addv_optab, subv_optab, smulv_optab, sdivv_optab): Declare.
|
||
(negv_optab, absv_optab): Declare.
|
||
* flags.h (flag_trapv): Declare.
|
||
* genopinit.c (optabs): Add entries for addv_optab, subv_optab,
|
||
smulv_optab, sdivv_optab, negv_optab and absv_optab.
|
||
(gen_insn): Interpret '$P' as requiring an integer mode,
|
||
including partial integer modes.
|
||
* loop.c (emit_iv_add_mult): Use unsigned expand_mult_add.
|
||
(product_cheap_p): Use unsigned expand_mult.
|
||
* optabs.c (addv_optab, subv_optab, smulv_optab, sdivv_optab): Define.
|
||
(negv_optab, absv_optab): Define.
|
||
(expand_binop): Use overflow-trapping optabs for signed types if
|
||
flag_trapv.
|
||
Handle negv_optab libe neg_optab.
|
||
(expand_abs): Take result_unsignedp argument instead of unsignedp one.
|
||
Use overflow-trapping optabs for signed result if flag_trapv.
|
||
(expand_complex_abs): Use overflow-trapping optabs for signed types if
|
||
flag_trapv.
|
||
Don't open-code complex absolute-value operation for flag_trapv.
|
||
(init_optabs): Initialize addv_optab, subv_optab, smulv_optab,
|
||
sdivv_optab, negv_optab and absv_optab.
|
||
* toplev.c (flag_trapv): Define.
|
||
(lang_independent_options f_options): Include flag_trapv.
|
||
* tree.h (TYPE_TRAP_SIGNED): Define.
|
||
* libgcc2.c (__addvsi3, __addvdi3, __subvsi3,__subvsi3, __subvdi3,
|
||
__mulvsi3, __negvsi2, __negvdi2, __absvsi2, __absvdi2, __mulvdi3):
|
||
New functions.
|
||
* Makefile.in: add _absvsi2 _absvdi2 _addvsi3 _addvdi3 _subvsi3
|
||
_subvdi3 _mulvsi3 _mulvdi3 _negvsi2 _negvdi2.
|
||
|
||
2000-10-18 Geoffrey Keating <geoffk@cygnus.com>
|
||
David V. Henkel-Wallace <gumby@cygnus.com>
|
||
|
||
* config/i386/t-netware: Bring in from the Red Hat tree.
|
||
* config/i386/netware.h: Likewise.
|
||
* config/netware.h: Likewise.
|
||
* config/rs6000/netware.h: Delete.
|
||
* configure.in: Add i[34567]86-*-netware.
|
||
* configure: Hand-edit to match configure.in change.
|
||
|
||
2000-10-18 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* c-common.h (flag_no_builtin): Declare.
|
||
(flag_no_nonansi_builtin): Likewise.
|
||
(c_common_nodes_and_builtins): Change prototype.
|
||
* c-common.c (flag_no_builtin): New variable.
|
||
(flag_no_nonansi_builtin): Likewise.
|
||
(c_common_nodes_and_builtins): Remove parameters. Adjust
|
||
accordingly.
|
||
* c-decl.c (flag_no_builtin): Remove.
|
||
(flag_no_nonansi_builtin): Likewise.
|
||
(init_decl_processing): Adjust call to
|
||
c_common_nodes_and_builtins.
|
||
|
||
2000-10-18 Marc Espie <espie@openbsd.org>
|
||
|
||
* tm.texi (LIBGCC_SPEC): Synch with reality.
|
||
|
||
2000-10-18 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (check_format_types): Check for writing through a
|
||
NULL pointer argument.
|
||
|
||
2000-10-18 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* tm.texi (Exception Region Output): Document
|
||
DWARF_CIE_DATA_ALIGNMENT.
|
||
* dwarf2out.c (DWARF_CIE_DATA_ALIGNMENT): Wrap definition in
|
||
#ifndef.
|
||
[ENABLE_CHECKING] (reg_save): Abort if offset is not a multiple of
|
||
DWARF_CIE_DATA_ALIGNMENT.
|
||
|
||
2000-10-18 Michael Hayes <mhayes@cygnus.com>
|
||
|
||
* basic-block.h (struct loop): Delete fields pre_header_root
|
||
and pre_header_trace and replace with pre_header_edges
|
||
and num_pre_header_edges.
|
||
* flow.c (flow_loop_dump): Dump pre_header_edges.
|
||
(flow_loops_free): Free pre_header_edges.
|
||
(flow_loop_pre_header_scan): Calculate pre_header_edges.
|
||
|
||
2000-10-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
|
||
|
||
* contrib.texi: Update references to steering committee members
|
||
and Jeff Law's entry.
|
||
|
||
2000-10-18 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (CPLUSPLUS_STD_VER, C_STD_VER, C_STD_NAME): Define.
|
||
(maybe_read_dollar_number, check_format_info_main): Use them for
|
||
pedantic warning messages.
|
||
|
||
2000-10-18 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (check_format_info_main): Minor cleanup: move
|
||
variables into inner scopes; initialize declarations where
|
||
appropriate; don't hardcode "scanf" name on warning for zero
|
||
width.
|
||
|
||
2000-10-17 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* c-common.c (back_end_hook): New variable.
|
||
* c-common.h (back_end_hook): Declare it.
|
||
* c-lang.c (finish_file): Use it.
|
||
|
||
* emit-rtl.c (init_emit_once): Initialize the const_int_htab
|
||
earlier.
|
||
|
||
2000-10-18 Jan Hubicka <jh@suse.cz>
|
||
|
||
* i386.c (ix86_comparison_operator, put_condition_code,
|
||
ix86_match_ccmode, ix86_cc_mode): Handle CCRCmode.
|
||
(ix86_expand_strlensi_unroll_1): Use CCRCmode.
|
||
* i386.h (EXTRA_CC_MODES): Add CCRCmode.
|
||
* i386.md (adddi and negdi splitter): Use CCRCmode.
|
||
(add?i_3, add?i_4, add?i_5): Use CCRCmode; swap operands
|
||
(subsi3_carry): add '*'
|
||
(addsi3_carry_rc, subsi3_carry_rc, x86_movsicc_0_m1_rc): New.
|
||
(cmp to add peep2): Use CCRCmode; swap operands.
|
||
|
||
2000-10-18 Kazu Hirata <kazu@hxi.com>
|
||
|
||
* h8300.c: Fix a comment typo.
|
||
(round_frame_size): New.
|
||
(compute_saved_regs): Likewise.
|
||
(push): Likewise.
|
||
(pop): Likewise.
|
||
(push_order): Remove.
|
||
(pop_order): Likewise.
|
||
(function_prologue): Rearrange code for readability.
|
||
(function_epilogue): Likewise.
|
||
|
||
* config/h8300/h8300.md: Remove an unnecessary sign_extend
|
||
expander that is used when not optimizing. Output a tab after
|
||
each assembly insns.
|
||
|
||
* reorg.c: Fix formatting.
|
||
|
||
2000-10-17 Joern Rennecke <amylaar@redhat.co.uk>
|
||
|
||
* reload1.c (move2add_note_store): Check for simple
|
||
auto-inc in destination.
|
||
|
||
2000-10-17 Michael Chastain <chastain@redhat.com>
|
||
|
||
* config/i386/i386-aout.h: define INT_ASM_OP.
|
||
|
||
Tue Oct 17 20:11:08 2000 Alan Modra <alan@linuxcare.com.au>
|
||
|
||
* pa.c (print_operand): Handle case 'c' for .vtable_inherit
|
||
|
||
Tue Oct 17 20:05:51 2000 Martin Buchholz <martin@xemacs.org>
|
||
|
||
* i370.md: Fix spelling typo.
|
||
|
||
2000-10-17 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
|
||
|
||
* function.c (locate_and_pad_parm): Don't align stack unconditionally.
|
||
Fixes execute/20001017-1.c on powerpc-linux-gnu.
|
||
|
||
* expr.c (store_constructor): Apply MEM_ALIAS_SET to MEMs only.
|
||
* rs6000/rs6000.c (rs6000_hash_constant): Use X0INT to access a
|
||
LABEL_REF.
|
||
|
||
* rs6000/rs6000.h (NO_DOLLAR_IN_LABEL, DOLLARS_IN_IDENTIFIERS,
|
||
ENCODE_SECTION_INFO, ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Move from
|
||
here...
|
||
* rs6000/aix.h: ...to here.
|
||
* rs6000/linux.h (ASM_APP_ON, ASM_APP_OFF): Define to Linux-style.
|
||
|
||
2000-10-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Reload gp if needed.
|
||
|
||
* config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Always use call, make
|
||
sure linker can relax even the delay slot mov %g1,%o7, fix output
|
||
formating.
|
||
|
||
2000-10-17 Kazu Hirata <kazu@hxi.com>
|
||
|
||
* config/h8300/h8300.md: Remove an unnecessary zero_extend
|
||
expander that is used when not optimizing. Output a tab after
|
||
each assembly insns.
|
||
|
||
2000-10-17 Chandrakala Chavva <cchavva@redhat.com>
|
||
|
||
* gcc.c: New options --target-help.
|
||
(process_command): Added code to parse this new option.
|
||
* toplev.c (display_target_options): New function to support the
|
||
above new option.
|
||
* cppinit.c (new_pending_directive) : New option OPT_target__help.
|
||
(cpp_handle_option): Support this new option.
|
||
* invoke.texi: Added notes about --target-help option.
|
||
|
||
2000-10-17 Graham Stott <grahams@redhat.com>
|
||
|
||
* config/i386/i386.md (testqi_1): Add missing operand prefix
|
||
for operand 0.
|
||
* config/i386/i386-protos.h: Add missing prototype.
|
||
|
||
2000-10-17 Diego Novillo <dnovillo@cygnus.com>
|
||
|
||
* config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Symbol
|
||
_GLOBAL_OFFSET_TABLE should not have a $ prefix when
|
||
using -mintel-syntax.
|
||
|
||
2000-10-17 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (FMT_FLAG_DOLLAR_MULTIPLE): Define.
|
||
(format_types): Use it for printf.
|
||
(maybe_read_dollar_number): Add parameter for the kind of format
|
||
involved. Warn for multiple use for arguments if this is
|
||
inappropriate for the kind of format involved.
|
||
(check_format_info_main): Update calls to maybe_read_dollar_number.
|
||
|
||
2000-10-17 J. David Anglin <dave@hiauly1.hia.nrc.ca>
|
||
|
||
* inclhack.def (hpux_maxint): Also apply fix to values.h.
|
||
* fixincl.x: Rebuilt.
|
||
|
||
2000-10-17 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* genrecog.c (write_switch): Return the first condition that needs a
|
||
label.
|
||
|
||
2000-10-17 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* c-tree.h (warn_sequence_point): Move declaration to...
|
||
* c-common.h (warn_sequence_point): ... here.
|
||
* c-decl.c (warn_sequence_point): Move definition to...
|
||
* c-common.c (warn_sequence_point): ... here.
|
||
(struct reverse_tree): New.
|
||
(reverse_list, reverse_max_depth): New static variables.
|
||
(build_reverse_tree, common_ancestor, modify_ok
|
||
verify_sequence_points): New functions.
|
||
(c_expand_expr_stmt): Call verify_sequence_points if -Wsequence-point.
|
||
* c-typeck.c (check_modify_expr): Delete.
|
||
(build_modify_expr): Don't call it.
|
||
|
||
2000-10-17 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.h (warn_missing_format_attribute): New variable.
|
||
* c-decl.c (warn_missing_format_attribute): New variable.
|
||
(c_decode_option): Decode -Wmissing-format-attribute and
|
||
-Wno-missing-format-attribute.
|
||
* c-common.c (check_function_format): If
|
||
-Wmissing-format-attribute, give a warning where a vprintf or
|
||
vscanf function is called by a function without its own printf or
|
||
scanf attribute.
|
||
* toplev.c (documented_lang_options): Add
|
||
-Wmissing-format-attribute.
|
||
* invoke.texi: Document -Wmissing-format-attribute.
|
||
|
||
2000-10-17 Marc Espie <espie@openbsd.org>
|
||
|
||
* invoke.texi (-shared): Insist on requiring code generation flags
|
||
to be used along with -shared, and document the subtle failure that
|
||
may occur otherwise.
|
||
|
||
2000-10-16 J. David Anglin <dave@hiauly1.hia.nrc.ca>
|
||
|
||
* pa.md (return_internal): Move `use' after `return'.
|
||
|
||
2000-10-16 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
|
||
|
||
* machmode.def: Correct comment.
|
||
|
||
2000-10-16 Rodney Brown <RodneyBrown@mynd.com>
|
||
|
||
* print-rtl.c (print_rtx_head): Constify.
|
||
* rtl.h (print_rtx_head): Similarly.
|
||
|
||
* config/pa/pa/pa-protos.h (output_64bit_and, output_64bit_ior):
|
||
Constify char * return value.
|
||
* config/pa/pa/pa.c
|
||
(output_64bit_and, output_64bit_ior): Constify char * return value.
|
||
(pa_can_combine_p): Make static.
|
||
(function_arg): Decorate unused `named' argument. Fix comment typo.
|
||
(function_arg_partial_nregs): Decorate unused `named' argument.
|
||
|
||
2000-10-16 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (format_check_results): New structure.
|
||
(finish_dollar_format_checking): Adjust to take a
|
||
format_check_results * parameter.
|
||
(check_format_info, check_format_info_recurse,
|
||
check_format_info_main): Split check_format_info into three
|
||
functions, the main checking going in check_format_info_main.
|
||
Recurse when any reduction of the format string argument towards a
|
||
string literal is done; go down both branches of a conditional
|
||
expression. Don't warn for extra format arguments or empty format
|
||
strings if they only occur in some branches of a conditional
|
||
expression.
|
||
|
||
2000-10-16 Kazu Hirata <kazu@hxi.com>
|
||
|
||
* config/h8300/h8300.c: Remove obstack. Include ggc.h.
|
||
|
||
2000-10-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* rtlanal.c (may_trap_p): Check operand modes of COMPARE.
|
||
|
||
2000-10-15 Diego Novillo <dnovillo@cygnus.com>
|
||
|
||
* i386.md (*movsi_or): Switch operand order for intel syntax.
|
||
|
||
2000-10-14 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* PROBLEMS: Remove.
|
||
|
||
* gcc.texi (Contributing): Update.
|
||
|
||
2000-10-13 Diego Novillo <dnovillo@cygnus.com>
|
||
|
||
* config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Output final jump using
|
||
appropriate assembler dialect.
|
||
|
||
2000-10-13 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* c-common.c (c_expand_builtin): PARAMS-ize prototype.
|
||
|
||
2000-10-12 Marek Michalkiewicz <marekm@linux.org.pl>
|
||
|
||
* config/avr/avr.c (output_movhi, output_movsisf): Fix loading
|
||
constants 1 and 2 to NO_LD_REGS.
|
||
|
||
2000-10-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* Makefile.in (c-parse.c, tradcif.c): Create atomically.
|
||
|
||
* objc/Make-lang.in (objc-parse.c): Likewise.
|
||
|
||
2000-10-13 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* arm.c: Include obstack.h
|
||
(minipool_obstack, minipool_startobj): Define.
|
||
(arm_add_gc_roots): Initialize them.
|
||
(create_fix_barrier): Use our new obstack.
|
||
(push_minipool_barrier, push_minipool_fix): Likewise.
|
||
(arm_reorg): Release obstack memory.
|
||
|
||
2000-10-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/sparc/sparc.md (nonlocal_goto_receiver): Remove.
|
||
(prologue, exception_receiver, builtin_setjmp_receiver): New
|
||
patterns.
|
||
* config/sparc/sparc.h (FINALIZE_PIC): Remove.
|
||
* config/sparc/sparc-protos.h (finalize_pic): Remove.
|
||
(load_pic_register): New prototype.
|
||
* config/sparc/sparc.c (pic_setup_code): Remove.
|
||
(finalize_pic): Rename to...
|
||
(load_pic_register): ...this function.
|
||
Don't look for nonlocal_goto_receivers and emit pic setup code
|
||
directly. Don't check current_function_uses_pic_offset_table.
|
||
|
||
2000-10-13 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* tree.h (struct obstack): Declare.
|
||
|
||
2000-10-12 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
Remove obstacks.
|
||
* Makefile.in (ggc-callbacks.o): Remove target.
|
||
(flow.o): Depend on GGC_H.
|
||
* alias.c (init_alias_analysis):
|
||
Remove ggc_p conditionals.
|
||
(end_alias_analysis): Likewise.
|
||
* basic-block.h (init_flow): New function.
|
||
(allocate_reg_life_data): Declare.
|
||
* bb-reorder.c (function_obstack): Replace with ...
|
||
(flow_obstack): ... new variable.
|
||
(fixup_reorder_chain): Use it.
|
||
* c-decl.c (ggc_p): Remove.
|
||
(caller-save.c): Don't call oballoc/obfree.
|
||
* combine.c (struct
|
||
undobuf): Remove storage.
|
||
(try_combine): Don't call oballoc.
|
||
(undo_all): Don't call obfree.
|
||
* cse.c (insert): Use xmalloc, not
|
||
oballoc.
|
||
(cse_main): Adjust accordingly.
|
||
* dwarf2out.c (save_rtx): Remove
|
||
obstack code.
|
||
(dwarf2out_init): Remove ggc_p conditionals.
|
||
* emit-rtl.c (rtl_obstack): Remove.
|
||
(gen_rtx_CONST_INT): Remove ggc_p conditionals.
|
||
(make_insn_raw): Likewise.
|
||
(emit_insn_before): Likewise.
|
||
(emit_insn_after): Likewise.
|
||
(emit_insn): Likewise.
|
||
(gen_sequence): Likewise.
|
||
(copy_insn_1): Remove handling of `b' RTL components.
|
||
(init_emit_once): Remove ggc_p conditionals.
|
||
* except.c (create_rethrow_ref): Don't fool with obstacks.
|
||
(add_partial_entry): Likewise.
|
||
(call_get_eh_context): Likewise.
|
||
(begin_protect_partials): Likewise.
|
||
(protect_with_terminate): Likewise.
|
||
* explow.c
|
||
(plus_constant_wide): Likewise.
|
||
* expr.c (init_expr_once):
|
||
Likewise.
|
||
(emit_block_move): Likewise.
|
||
(clear_storage): Likewise.
|
||
(expand_expr): Likewise.
|
||
* flow.c (function_obstack): Remove.
|
||
(flow_obstack): New variable.
|
||
(flow_firstobj): Likewise.
|
||
(create_base_block): Use the flow_obstack.
|
||
(split_block): Likewise.
|
||
(split_edge): Likewise.
|
||
(calculate_global_regs_live): Likewise.
|
||
(allocate_bb_life_data): Make it static. Likewiwse.
|
||
(init_flow): New function.
|
||
(size_int_type_wide): Remove ggc_p conditionals.
|
||
* function.c
|
||
(push_function_context_to): Don't call save_tree_status.
|
||
(pop_function_context_from): Or restore_tree_status.
|
||
(assign_stack_local_1): Don't call push_obstacks.
|
||
(find_fixup_replacement): Use xmalloc.
|
||
(fixup_var_refs_insns): Free the storage.
|
||
(insns_for_mem_walk): Don't mess with obstacks.
|
||
(instantiate_decls): Likewise.
|
||
(trampoline_address): Likewise.
|
||
(expand_function_end): Likewise.
|
||
* function.h (sturct function):
|
||
Remove obstack-related variables.
|
||
(save_tree_status): Don't declare.
|
||
(restore_tree_status): Likewise.
|
||
* gcse.c (compute_can_copy):
|
||
Don't call oballoc/obfree.
|
||
* genattrtab.c (operate_exp): Remove
|
||
ggc_p conditionals.
|
||
(simplify_cond): Likewise.
|
||
(simplify_test_exp): Don't mess with obstacks.
|
||
(optimize_attrs): Likewise.
|
||
* gengenrtl.c (gendef): Don't include
|
||
ggc_p conditionals.
|
||
* ggc-callbacks.c (ggc_p): Remove.
|
||
* ggc-none.c (ggc_p): Remove.
|
||
* ggc.h (ggc_p): Don't declare.
|
||
* integrate.c (save_for_inline): Don't mess with obstacks.
|
||
(integrate_decl_tree): Likewise.
|
||
(output_inline_function): Likewise.
|
||
* lists.c
|
||
(init_EXPR_INSN_LIST_cache): Likewise.
|
||
* loop.c (temp_obstack):
|
||
Remove.
|
||
(rtl_obstack): Likewise.
|
||
(init_loop): Don't mess with obstacks.
|
||
(reg_address_cost): Free BIVs and GIVs.
|
||
(check_insns_for_bivs): Use xmalloc, not oballoc.
|
||
(find_mem_givs): Likewise.
|
||
(record_biv): Likewise.
|
||
(general_induction_var): Likewise.
|
||
(product_cheap_p): Likewse.
|
||
* optabs.c (init_one_libfunc): Remove
|
||
ggc_p conditional.
|
||
* print-tree.c (debug_tree): Don't use
|
||
oballoc/obfree.
|
||
(print_node): Likewise.
|
||
* profile.c (output_func_start_profiler):
|
||
Remove call to temporary_allocation.
|
||
* reload1.c
|
||
(eliminate_regs_in_insn): Don't mess with obstacks.
|
||
* resource.c
|
||
(mark_target_live_regs): Use xmalloc.
|
||
(free_resource_info): Free the memory.
|
||
* rtl.c (rtl_obstack):
|
||
Remove.
|
||
(rtvec_alloc): Don't mess with obstacks.
|
||
(rtx_alloc): Likewise.
|
||
(rtx_free): Remove.
|
||
(copy_rtx): Don't handle `b' cases.
|
||
(read_rtx): Use a local rtl_obstack.
|
||
* rtl.h (oballoc): Remove.
|
||
(obfree): Likewise.
|
||
(pop_obstacks): Likewise.
|
||
(push_obstacks): Likewise.
|
||
(allocate_bb_life_data): Likewise.
|
||
(allocate_reg_life_data): Likewise.
|
||
(rtx_free): Likewise.
|
||
* sdbout.c (sdbout_queue_anonymous_type):
|
||
Use tree_cons, not saveable_tree_cons.
|
||
* simplify-rtx.c
|
||
(cselib_init): Don't mess with obstacks.
|
||
* stmt.c
|
||
(mark_block_nesting): Mark the label_chain.
|
||
(epxand_label): Use ggc_alloc, not oballoc.
|
||
(clear_last_expr): Don't mess with obstacks.
|
||
(expand_decl_cleanup): Likewise.
|
||
(expand_dcc_cleanup): Likewise.
|
||
(expand_dhc_cleanup): Likewise.
|
||
(expand_anon_union_decl): Likewise.
|
||
(add_case_node): Use xmalloc, not oballoc.
|
||
(free_case_nodes): New function.
|
||
(expand_end_case): Call it.
|
||
* stor-layout.c (layout_type): Don't
|
||
mess with obstacks.
|
||
(layout_type): Likewise.
|
||
* toplev.c (wrapup_global_declarations):
|
||
Likewise.
|
||
(compile_file): Remove ggc_p conditionals.
|
||
(rest_of_compilation): Call init_flow. Remove ggc_p conditionals.
|
||
(decode_f_option): Remove ggc_p conditionals.
|
||
* tree.c
|
||
(function_maybepermanent_obstack): Remove.
|
||
(maybepermanent_obstack): Likewise.
|
||
(function_obstack): Likewise.
|
||
(tmeporary_obstack): Likewise.
|
||
(momentary_obstack): Likewise.
|
||
(temp_decl_obstack): Likewise.
|
||
(saveable_obstack): Likewise.
|
||
(rtl_obstack): Likewise.
|
||
(current_obstack): Likewise.
|
||
(expression_obstack): Likewise.
|
||
(struct obstack_stack): Likewise.
|
||
(obstack_stack): Likewise.
|
||
(obstack_stack_obstack): Likewise.
|
||
(maybepermanent_firstobj): Likewise.
|
||
(temporary_firstobj): Likewise.
|
||
(momentary_firstobj): Likewise.
|
||
(temp_decl_firstobj): Likewise.
|
||
(momentary_function_firstobj): Likewise.
|
||
(all_types_permanent): Likewise.
|
||
(struct momentary_level): Likewise.
|
||
(momentary_stack): Likewise.
|
||
(init_obstacks): Remove initialization of removed obstacks.
|
||
(save_tree_status): Remove.
|
||
(restore_tree_status): Likewise.
|
||
(temporary_allocation): Liekwise.
|
||
(end_temporary_allocation): Liekwise.
|
||
(resume_temporary_allocation): Likewise.
|
||
(saveable_allocation): Likewise.
|
||
(push_obstacks): Likewise.
|
||
(push_obstacks_nochange): Likewise.
|
||
(pop_obstacks): Likewise.
|
||
(allocation_temporary_p): Likewise.
|
||
(permanent_allocation): Likewise.
|
||
(preserve_data): Likewise.
|
||
(preserve_initializer): Likewise.
|
||
(rtl_in_current_obstack): Likewise.
|
||
(rtl_in_saveable_obstack): Likewise.
|
||
(oballoc): Likewise.
|
||
(obfree): Likewise.
|
||
(savealloc): Likewise.
|
||
(expralloc): Likewise.
|
||
(print_obstack_name): Likewise.
|
||
(debug_obstack): Likewise.
|
||
(object_permanent_p): Likewise.
|
||
(push_momentary): Likewise.
|
||
(perserve_momentary): Likewise.
|
||
(clear_momentary): Likewise.
|
||
(pop_momentary): Likewise.
|
||
(pop_momentary_nofree): Likewise.
|
||
(suspend_momentary): Likewise.
|
||
(resume_momentary): Likewise.
|
||
(make_node): Don't set TREE_PERMANENT.
|
||
(copy_node): Remove ggc_p conditionals. Don't set TYPE_OBSTACK.
|
||
Don't set TREE_PERMANENT.
|
||
(get_identifier): Remove ggc_p conditionals.
|
||
(build_string): Likewise.
|
||
(make_tree_vec): Likewise.
|
||
(build_decl_list): Remove.
|
||
(build_expr_list): Likewise.
|
||
(tree_cons): Remove ggc_p conditionals.
|
||
(decl_tree_cons): Remove.
|
||
(expr_tree_cons): Likewise.
|
||
(perm_tree_cons): Likewise.
|
||
(temp_tree_cons): Likewise.
|
||
(saveable_tree_cons): Likewise.
|
||
(build1): Remove ggc_p conditionals.
|
||
(build_parse_node): Likewise.
|
||
(build_type_attribute_variant): Don't mess with obstacks.
|
||
(build_type_copy): Likewise.
|
||
(type_hash_canon): Likewise.
|
||
(build_pointer_type): Likewise.
|
||
(build_reference_type): Likewise.
|
||
(build_index_type): Likewise.
|
||
(build_range_type): Likewise.
|
||
(dump_tree_statistics): Don't print obstack information.
|
||
* tree.h
|
||
(struct tree_common): Remove permanent_flag.
|
||
(TREE_PERMANENT): Remove.
|
||
(TREE_SET_PERMANENT): Likewise.
|
||
(TYPE_OBSTACK): Likewise.
|
||
(struct tree_type): Remove obstack.
|
||
(oballoc): Remove.
|
||
(savealloc): Likewise.
|
||
(build_decl_list): Likewise.
|
||
(build_expr_list): Likewise.
|
||
(perm_tree_cons): Likewise.
|
||
(temp_tree_cons): Likewise.
|
||
(saveable_tree_cons): Likewise.
|
||
(decl_tree_cons): Likewise.
|
||
(expr_tree_cons): Likewise.
|
||
(suspend_momentary): Likewise.
|
||
(allocation_temporary_p): Likewise.
|
||
(resume_momentary): Likewise.
|
||
(push_obstacks_nochange): Likewise.
|
||
(permanent_allocation): Likewise.
|
||
(push_momentary): Likewise.
|
||
(clear_momentary): Likewise.
|
||
(pop_momentary): Likewise.
|
||
(end_temporary_allocation): Likewise.
|
||
(pop_obstacks): Likewise.
|
||
(push_obstacks): Likewise.
|
||
(pop_momentary_nofree): LIkewise.
|
||
(preserve_momentary): Likewise.
|
||
(saveable_allocation): Likewise.
|
||
(temporary_allocation): Likewise.
|
||
(resume_temporary_allocation): Likewise.
|
||
(perserve_initializer): Likewise.
|
||
(debug_obstack): Likewise.
|
||
(rtl_in_current_obstack): Likewise.
|
||
(rtl_in_saveable_obstack): Likewise.
|
||
(obfree): Likewise.
|
||
* varasm.c (current_obstack): Remove.
|
||
(saveable_obstack): Remove.
|
||
(rtl_obstack): Remove.
|
||
(immed_double_const): Don't mess with obstacks.
|
||
(immed_real_cons): Likewise.
|
||
(output_constant_def): Likewise.
|
||
(init_varasm_status): Use xcalloc.
|
||
(mark_pool_constant): Mark the pool constant itself.
|
||
(free_varasm_status): Free memory.
|
||
(decode_rtx_const): Call bzero directly, rather than expanding it
|
||
inline.
|
||
(record_rtx_const): Don't mess with obstacks.
|
||
(force_const_mem): Likewise.
|
||
* config/arm/arm.c (arm_encode_call_attribute): Remove ggc_p
|
||
conditionals.
|
||
(aof_pic_entry): Likewise.
|
||
* config/ia64/ia64.c (ia64_encode_section_info): Likewise.
|
||
* config/m32r/m32r.c (m32r_encode_section_info): Likewise.
|
||
* config/pa/pa.c (saveable_obstack): Remove.
|
||
(rtl_obstack): Likewise.
|
||
(current_obstack): Likewise.
|
||
(output_call): Don't mess with obstacks.
|
||
(hppa_encode_label): Remove ggc_p conditionals.
|
||
* config/romp/romp.c (get_symref): Don't mess with obstacks.
|
||
* config/rs6000/rs6000.c (output_toc): Remove ggc_p conditional.
|
||
(rs6000_encode_section_info): Likewise.
|
||
* config/sh/sh.c (get_fpscr_rtx): Likewise.
|
||
|
||
Thu Oct 12 16:02:31 MET DST 2000 Jan Hubicka <jh@suse.cz>
|
||
|
||
* i386.md (adddi3, subdi3 splitters): Update for new pattern.
|
||
(addsi3_cc, addqi3_cc, subsi3_cc): Remove
|
||
(addsi3_carry): Canonicalize.
|
||
(addqi_5): Remove '*'.
|
||
(sbb pattern): Canonicalize.
|
||
|
||
* i386.md (cmp to inc/add peep2): New.
|
||
|
||
2000-10-12 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* bb-reorder.c (reorder_basic_blocks): Allocate an aux block for
|
||
the exit block.
|
||
|
||
2000-10-12 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* gcc.texi: Merge in contents of README.TRAD and TESTS.FLUNK.
|
||
* README.TRAD, TESTS.FLUNK: Remove.
|
||
|
||
2000-10-12 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (decl_attributes): Don't allow strftime formats with
|
||
first_arg_num nonzero.
|
||
(check_format_info): Set wanted_type and wanted_type_name to zero
|
||
before they are possibly assigned and used.
|
||
|
||
2000-10-12 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (scanf_flag_specs): Add flags ' and I.
|
||
(strftime_flag_pairs): Disallow any pair of the _, - and 0 flags,
|
||
or the ^ and # flags together.
|
||
(scan_char_table): Handle the ' and I flags.
|
||
(format_types): Add ' and I flags for scanf.
|
||
|
||
2000-10-12 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (print_char_table): Use the unpromoted type for
|
||
lengths "h" and "hh" with conversions dioxXu.
|
||
(check_format_types): Apply the default argument promotions where
|
||
the wanted type is not a pointer target.
|
||
|
||
2000-10-11 Michael Meeks <mmeeks@gnu.org>
|
||
Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-typeck.c (check_modify_expr): New function.
|
||
(build_modify_expr): Call it if warn_sequence_point.
|
||
* c-decl.c (warn_sequence_point): New variable.
|
||
(c_decode_option): Handle -Wsequence-point and
|
||
-Wno-sequence-point. Enable -Wsequence-point as part of -Wall.
|
||
* c-tree.h (warn_sequence_point): Declare.
|
||
* invoke.texi (-Wsequence-point): Document.
|
||
* toplev.c (documented_lang_options): Add -Wsequence-point and
|
||
-Wno-sequence-point.
|
||
Original work by Michael Meeks, 16 Jun 1998.
|
||
|
||
Wed Oct 11 06:15:41 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* tree.c (get_narrower): Don't look at precision of field if
|
||
not laid out yet.
|
||
|
||
Tue Oct 10 23:14:33 2000 Denis Chertykov <denisc@overta.ru>
|
||
|
||
* config/avr/avr.c (valid_machine_decl_attribute): Allow `extern'
|
||
declaration for data with "progmem" attribute.
|
||
|
||
2000-10-09 Marek Michalkiewicz <marekm@linux.org.pl>
|
||
|
||
* config/avr/avr.c (out_shift_with_cnt): Use AS2 macro.
|
||
Correct insn length if shift count is a memory operand.
|
||
* config/avr/avr.md: New define_peephole2 to use *reload_inqi.
|
||
(*iorhi3_clobber): Change lo8 to hi8.
|
||
(zero_extendhisi2): Change %B0 to %A1.
|
||
(ashlhi3, ashrhi3): Correct insn length.
|
||
(andhi3, abssf2, extendqisi2, extendhisi2): Change "cc"
|
||
from "clobber" to "set_n" in some alternatives.
|
||
|
||
2000-10-10 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* reload1.c (calculate_needs_all_insns): If deleting an instruction,
|
||
remove its insn_chain structure as well.
|
||
|
||
2000-10-09 J. David Anglin <dave@hiauly1.hia.nrc.ca>
|
||
|
||
* dbxout.c (dbxout_source_line): Remove extra tab.
|
||
|
||
2000-10-09 Hans-Peter Nilsson <hp@bitrange.com>
|
||
|
||
* config/elfos.h (UNIQUE_SECTION): Apply STRIP_NAME_ENCODING on name.
|
||
|
||
2000-10-09 Richard Henderson <rth@cygnus.com>
|
||
|
||
* Makefile.in (LANG_LIB2FUNCS): Remove.
|
||
(LIB2FUNCS): Remove _pure.
|
||
(LIB2ADD): Remove LANG_LIB2FUNCS.
|
||
(stage_a): Don't set LANG_LIB2FUNCS.
|
||
* libgcc2.c (__terminate): Mark noreturn.
|
||
(__pure_virtual): Remove.
|
||
* mklibgcc.in: Remove LIB2ADD .txt processing.
|
||
|
||
2000-10-09 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* arm.md (push_multi): Revert unintended change.
|
||
|
||
2000-10-09 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* arm.c: Miscellaneous white space and comment clean-ups. No
|
||
functional change.
|
||
* arm.md: Likewise.
|
||
|
||
2000-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* c-common.c (c_expand_builtin_printf): Set the TREE_TYPE of a new
|
||
STRING_CST by calling combine_strings.
|
||
|
||
2000-10-09 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* arm.c (thumb_expand_movstrqi): Rewrite to support SSA form.
|
||
(thumb_output_move_mem_multiple): Support new insn format.
|
||
* arm.md (movmem12b): Use SSA compatible format.
|
||
(movmem8b): Likewise.
|
||
|
||
2000-10-09 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* arm.md (predicable): New attribute, default to "no".
|
||
(all patterns): Mark as predicable if appropriate.
|
||
(conditional execution splits): Split using predication format.
|
||
(define_cond_exec): Define.
|
||
* arm.c (arm_print_operand): handle insn predicate.
|
||
|
||
2000-10-09 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
|
||
|
||
* README.NS32K: Remove file.
|
||
|
||
2000-10-09 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
|
||
|
||
* README-bugs: Remove file.
|
||
|
||
2000-10-08 Philipp Thomas <pthomas@suse.de>
|
||
* aclocal.m4 (AM_GNU_GETTEXT): Fix non portable use of == operator
|
||
for test.
|
||
* configure: Rebuilt.
|
||
|
||
2000-10-08 Philipp Thomas <pthomas@suse.de>
|
||
* aclocal.m4 (AM_WITH_NLS): When not using included gettext,
|
||
disable catalog building if no suitable program was found.
|
||
Move warning message from here
|
||
(AM_GNU_GETTEXT): To here.
|
||
* configure: Rebuilt.
|
||
|
||
2000-10-08 Philipp Thomas <pthomas@suse.de>
|
||
* aclocal.m4 (GCC_PATH_PROG): New. Like AC_PATH_PROG but uses
|
||
different cache variables.
|
||
(GCC_PATH_PROG_WITH_TEST): New. Like AM_PATH_PROG_WITH_TEST but
|
||
uses different cache variables.
|
||
(AM_WITH_NLS): Use GCC_PATH_PROG and GCC_PATH_PROG_WITH_TEST.
|
||
* configure: Regenerated.
|
||
|
||
2000-10-08 Richard Henderson <rth@cygnus.com>
|
||
|
||
* Makefile.in (libgcc.mk): Pass SHLIB_EXT, not SHLIB_LIBS.
|
||
* configure.in (sparc*-*-solaris*): Use t-slibgcc{,-sld}.
|
||
* mklibgcc.in: Consider SHLIB_LINK the entire shlib build command.
|
||
Use SHLIB_EXT.
|
||
|
||
* config/t-linux (SHLIB_EXT): New.
|
||
(SHLIB_LINK): Use the entire build command, with substitutions.
|
||
(SHLIB_LIBS): Remove.
|
||
* config/alpha/t-osf4: Likewise.
|
||
* config/mips/t-iris6: Likewise.
|
||
* config/sparc/t-sol2: Likewise, but move shlib stuff...
|
||
* config/sparc/t-slibgcc-sld: ...here.
|
||
* config/sparc/t-slibgcc: New file.
|
||
|
||
2000-10-08 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* tm.texi (INTMAX_TYPE, UINTMAX_TYPE): Define.
|
||
* c-common.h (enum c_tree_index): Add CTI_INTMAX_TYPE and
|
||
CTI_UINTMAX_TYPE.
|
||
(intmax_type_node, uintmax_type_node): Define.
|
||
* c-common.c (decl_attributes): If pedantic, warn if `mode'
|
||
attributes create a type wider than intmax_t.
|
||
(T_IM, T_UIM): Define properly.
|
||
* c-decl.c (INTMAX_TYPE, UINTMAX_TYPE): Define if not already
|
||
defined.
|
||
(init_decl_processing): Initialize intmax_type_node and
|
||
uintmax_type_node.
|
||
* c-lex.c (lex_number): When pedantic and warning for integer
|
||
constants that are too large, in C99 mode warn for those that have
|
||
a type wider than long long.
|
||
|
||
2000-10-08 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (FMT_FLAG_ARG_CONVERT, FMT_FLAG_SCANF_A_KLUDGE,
|
||
FMT_FLAG_FANCY_PERCENT_OK): Define.
|
||
(format_char_info): Add flag "4" to comment.
|
||
(format_flag_spec, format_flag_pair): New structures.
|
||
(format_kind_info): Add additional fields to control format
|
||
checking.
|
||
(printf_flag_specs, printf_flag_pairs, scanf_flag_specs,
|
||
scanf_flag_pairs, strftime_flag_specs, strftime_flag_pairs): New
|
||
arrays.
|
||
(time_char_table): Use "4" flag to handle %Ey.
|
||
(format_types): Add entries for new fields.
|
||
(get_flag_spec): New function.
|
||
(check_format_info): Increase size of flag_chars[] to 256.
|
||
Control format checking using the new fields of a format_kind_info
|
||
and the new tables; remove all conditionals on printf_format_type,
|
||
scanf_format_type or strftime_format_type. Handle all details of
|
||
bad combinations of flags (including width, precision and strftime
|
||
modifiers) through data rather than ad hoc code. Handle all
|
||
details of standard versions in which flags appeared through
|
||
data. Use the "4" flag.
|
||
|
||
2000-10-07 Will Cohen <wcohen@redhat.com>, Kazu Hirata <kazu@hxi.com>
|
||
|
||
* config/h8300/h8300.md: Remove the memory alternative and correct
|
||
the insn lengths in the templates for sign extension and zero
|
||
extension.
|
||
|
||
2000-10-07 Richard Henderson <rth@cygnus.com>
|
||
|
||
* calls.c (expand_call): Disallow sibcalls to noreturn functions.
|
||
* flow.c (make_edges): Revert last change.
|
||
|
||
* config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Don't test
|
||
TREE_THIS_VOLATILE.
|
||
* config/pa/pa.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
|
||
|
||
2000-10-06 David O'Brien <obrien@dragon.nuxi.com>
|
||
|
||
* config/alpha/elf.h: Standardize the formatting.
|
||
|
||
2000-10-06 David O'Brien <obrien@FreeBSD.org>
|
||
|
||
* config/alpha/elf.h: Protect the ASM_OUTPUT_IDENT definition with an
|
||
#undef.
|
||
|
||
2000-10-06 Richard Henderson <rth@cygnus.com>
|
||
|
||
* function.c (diddle_return_value): Examine
|
||
current_function_return_rtx instead of the DECL_RESULT.
|
||
(expand_function_end): Handle reloading DECL_RESULT from memory
|
||
into a hard register. Query promote_mode for sign of mismatched
|
||
modes.
|
||
|
||
2000-10-06 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
|
||
|
||
* haifa-sched.c (schedule_insns): Fix typo in freeing
|
||
forward_dependency_cache.
|
||
|
||
2000-10-06 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* config/sh/sh.md (calli_pcrel, call_valuei_pcrel): Add
|
||
`TARGET_SH2' as a condition.
|
||
|
||
2000-10-06 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
|
||
|
||
* haifa-sched.c (anti_dependency_cache, output_dependency_cache,
|
||
forward_dependency_cache): New variables.
|
||
(add_dependence, remove_dependence): Use anti_dependency_cache and
|
||
output_dependency_cache.
|
||
(compute_block_forward_dependences): Use forward_dependency_cache.
|
||
(schedule_insns): Allocate and free memory for anti/output/forward
|
||
dependencies caches.
|
||
|
||
2000-10-06 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* config/sh/sh.md (call, call_value): Use `TARGET_SH2' instead of
|
||
`! TARGET_SH1'. Reindent.
|
||
|
||
2000-10-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* builtins.c (is_valid_printf_arglist, expand_builtin_printf):
|
||
Move functions from here ...
|
||
|
||
* c-common.c (is_valid_printf_arglist, c_expand_builtin_printf):
|
||
... to here.
|
||
(c_expand_builtin): New function.
|
||
(init_function_format_info): Don't set `check_function_format_ptr'.
|
||
(c_common_nodes_and_builtins): Set built_in_class type for
|
||
printf/__builtin_printf to BUILT_IN_FRONTEND.
|
||
(c_expand_expr): Handle CALL_EXPRs that are front-end builtins.
|
||
|
||
* c-common.h (build_function_call): Declare.
|
||
|
||
* expr.c (expand_expr): Pass builtins with class BUILT_IN_FRONTEND
|
||
to `lang_expand_expr' rather than `expand_builtin'.
|
||
|
||
* tree.c (check_function_format_ptr): Delete.
|
||
|
||
* tree.h (check_function_format_ptr): Likewise.
|
||
|
||
2000-10-06 Hans-Peter Nilsson <hp@bitrange.com>
|
||
|
||
* dwarf2out.c (build_cfa_loc): Correct to use DW_OP_regx or
|
||
DW_OP_bregx when cfa->reg > 31.
|
||
|
||
* frame-dwarf2.c (decode_stack_op) [case DW_OP_regx]: Add missing
|
||
break.
|
||
|
||
2000-10-05 Richard Henderson <rth@cygnus.com>
|
||
|
||
* c-decl.c (warn_missing_noreturn): Remove.
|
||
(c_expand_body): Don't set or check can_reach_end.
|
||
* c-tree.h (warn_missing_noreturn): Move ...
|
||
* flags.h: ... here.
|
||
(can_reach_end): Remove.
|
||
* flow.c (check_function_return_warnings): New.
|
||
(make_edges): No edge to exit for noreturn sibcalls.
|
||
* function.c (expand_function_end): Save the return value
|
||
clobber instruction.
|
||
(mark_function_status): Mark it.
|
||
* function.h (struct function): Add x_clobber_return_insn.
|
||
* jump.c (can_reach_end): Remove.
|
||
(calculate_can_reach_end): Remove.
|
||
(jump_optimize_1): Don't call it.
|
||
* output.h (check_function_return_warnings): Declare.
|
||
* toplev.c (warn_missing_noreturn): Move from c-decl.c
|
||
(rest_of_compilation): Call check_function_return_warnings.
|
||
|
||
2000-10-05 Richard Henderson <rth@cygnus.com>
|
||
|
||
* Makefile.in (NM_FOR_TARGET): New.
|
||
(libgcc.mk): Pass SHLIB_MKMAP, SHLIB_MAPFILES.
|
||
(libgcc.a, stmp-multilib): Pass NM_FOR_TARGET.
|
||
* mklibgcc.in: If SHLIB_MKMAP, build libgcc.map. Depend the
|
||
shared library build on that and EXTRA_MULTILIB_PARTS.
|
||
* mkmap-flat.awk: New file.
|
||
* mkmap-symver.awk: New file.
|
||
* libgcc-std.ver: New file.
|
||
* config/libgcc-glibc.ver: New file.
|
||
* config/ia64/libgcc-ia64.ver: New file.
|
||
* config/t-linux (SHLIB_MKMAP, SHLIB_MAPFILES): New.
|
||
(SHLIB_LINK): Add --version-script.
|
||
* config/ia64/t-ia64 (SHLIB_MAPFILES): Add libgcc-ia64.ver.
|
||
* config/mips/t-iris6 (SHLIB_MKMAP, SHLIB_MAPFILES): New.
|
||
* config/sparc/t-sol2 (SHLIB_MKMAP, SHLIB_MAPFILES): New.
|
||
(SHLIB_LINK): Add -M.
|
||
|
||
2000-10-05 Richard Henderson <rth@cygnus.com>
|
||
|
||
* Makefile.in (LIB2FUNCS): Add _clz.
|
||
* libgcc2.c (__ffsdi2): Use count_trailing_zeros.
|
||
(__clz_tab): Put in its own unit, non-static.
|
||
* libgcc2.h: Always include longlong.h.
|
||
|
||
* longlong.h [alpha] (count_leading_zeros): Use cmpbge with
|
||
a zero instead of -1.
|
||
(count_trailing_zeros): Likewise.
|
||
|
||
2000-10-05 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/alpha/alpha.c (alpha_emit_setcc): Don't swap GT tests
|
||
when second op1 is const0_rtx. Validate op0 as a register.
|
||
* config/alpha/alpha.md (setcc_internal): Don't allow constants
|
||
in the first argument of the compare.
|
||
(setcc_swapped_internal): Likewise.
|
||
(setne_internal): Likewise.
|
||
|
||
2000-10-05 Geoff Keating <geoffk@cygnus.com>
|
||
|
||
* tree.c (tree_size): New function split out of copy_node.
|
||
(make_node): Remove obstack handling. Use tree_size.
|
||
(copy_node): Use tree_size.
|
||
* tree.h: Prototype tree_size.
|
||
|
||
2000-10-05 Richard Henderson <rth@cygnus.com>
|
||
|
||
* diagnostic.c (output_format): Add missing break.
|
||
|
||
2000-10-05 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* function.c (fixup_var_refs_1, case SET): When gen_move_insn returns a
|
||
SEQUENCE, call emit_insn_before, copy PATTERN and REG_NOTES of last
|
||
sequence insn to INSN, and delete last sequence insn.
|
||
|
||
2000-10-05 Phil Edwards <pme@gcc.gnu.org>
|
||
|
||
* gcc.c (main): Include generated configargs.h header
|
||
and use arguments in '-v' output.
|
||
|
||
Thu Oct 5 16:16:57 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* gcc.c: Move data on prefixes forward in file and reorganize.
|
||
(md_exec_prefix, md_startfile_prefix, md_startfile_prefix_1):
|
||
Always define, but make null if no value.
|
||
(static_specs): Add "md_exec_prefix", "md_startfile_prefix",
|
||
and "md_startfile_prefix_1".
|
||
(main): Check whether md_exec_prefix and the others are the
|
||
null string rather than whether the macro is defined.
|
||
|
||
Thu Oct 5 19:04:18 2000 J"orn Rennecke <amylaar@redhat.co.uk>
|
||
|
||
* (convert_move): Use zero_extendpsisi2 to do an unsigned extension
|
||
from PSImode to SImode.
|
||
|
||
2000-10-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* emit-rtl.c (gen_lowpart_common) [REAL_ARITHMETICS]: Fix conversion
|
||
from float to integral mode with HOST_BITS_PER_WIDE_INT 64.
|
||
* dwarf2out.c (add_const_value_attribute): Divide by 4, not
|
||
sizeof(long).
|
||
|
||
Thu Oct 5 09:31:31 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* fold-const.c (fold, case MINUS_EXPR, case EQ_EXPR): Perform
|
||
negation in proper type.a
|
||
|
||
2000-10-04 Richard Henderson <rth@cygnus.com>
|
||
|
||
* configure.in (enable-shared): New.
|
||
* Makefile.in (LIBGCC_DEPS): Depend on EXTRA_PARTS as well.
|
||
(libgcc.mk): Pass SHLIB_LINK, SHLIB_LIBS, SHLIB_MULTILIB to mklibgcc.
|
||
* mklibgcc.in: Use them to link shared a libgcc.
|
||
* config/t-linux (SHLIB_LINK, SHLIB_LIBS): New.
|
||
* config/alpha/t-ieee (SHLIB_MULTILIB): New.
|
||
* config/mips/t-iris6 (SHLIB_LINK, SHLIB_LIBS): New.
|
||
* config/sparc/t-sol2 (SHLIB_LINK, SHLIB_LIBS): New.
|
||
|
||
* configure.in (alpha-osf*): Use t-osf and x-osf.
|
||
* config/alpha/t-osf: New file.
|
||
* config/alpha/t-osf4: New file.
|
||
* config/alpha/x-osf: New file.
|
||
* config/alpha/x-alpha: Remove file.
|
||
|
||
2000-10-04 Will Cohen <wcohen@redhat.com>
|
||
|
||
* c-typeck.c (process_init_element): Added warning for zero-length
|
||
array.
|
||
|
||
* extend.texi (Zero Length): State that static initializers for
|
||
zero-length arrays are not allowed.
|
||
|
||
Mon Oct 2 14:50:14 MET DST 2000 Jan Hubicka <jh@suse.cz>
|
||
|
||
* rtlanal.c (single_set_1): Do not require USE and CLOBBERs
|
||
to come last.
|
||
|
||
2000-10-03 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/float-c4x.h: New.
|
||
* configure.in (c4x-*): Set float_format to c4x.
|
||
* configure: Regenerate.
|
||
|
||
2000-10-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* configure.in (sparc-*-solaris2*): Disable 32-to-64 cross
|
||
compilation for solaris versions 2.7 and greater.
|
||
|
||
2000-10-02 Marc Espie <espie@openbsd.org>
|
||
|
||
* config/alpha.h (WORD_SWITCH_TAKES_ARG): add -rpath to default,
|
||
instead of redefining from scratch.
|
||
|
||
2000-10-02 David O'Brien <obrien@dragon.nuxi.com>
|
||
|
||
* config/i386/freebsd.h (NO_PROFILE_COUNTERS): Define.
|
||
|
||
2000-10-01 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* config/ns32k/genix.h: Remove.
|
||
* config/ns32k/x-genix: Likewise.
|
||
* config/ns32k/xm-genix.h: Likewise.
|
||
* config/fx80: Remove all filee in directory.
|
||
* config/pyr: Likewise.
|
||
* config/tahoe: Likewise.
|
||
* config/gmicro: Likewise.
|
||
* config/spur: Likewise.
|
||
* configure.in: Remove configury bits for above targets.
|
||
* configure: Regenerated.
|
||
|
||
* configure.in: Don't configure chill by default.
|
||
* configure: Regenerated.
|
||
|
||
* c-decl.c (c_expand_body): Don't generate RTL if flag_syntax_only.
|
||
(lang_mark_false_label_stack): Remove.
|
||
* c-lex.c (init_c_lex): Add file_info_tree as GC root. Allocate
|
||
<top level> string in GC area.
|
||
(mark_splay_tree_node): New function.
|
||
(mark_splay_tree): Likewise.
|
||
* except.c (mark_eh_status): Only call lang_mark_false_label_stack
|
||
if it exists.
|
||
* ggc-callbacks.c (lang_mark_false_label_stack): Remove.
|
||
* ggc-common.c (lang_mark_false_label_stack): Change type.
|
||
* ggc.h (ggc_alloc_string): Add comment.
|
||
(ggc_strdup): New function.
|
||
|
||
Sat Sep 23 19:10:20 2000 Denis Chertykov <denisc@overta.ru>
|
||
|
||
* config/avr/avr.h (BRANCH_COST): Define as 0.
|
||
|
||
* config/pdp11/pdp11.c: #include "tree.h" added.
|
||
|
||
2000-09-30 Marek Michalkiewicz <marekm@linux.org.pl>
|
||
|
||
* config/avr/avr.c (ashlhi3_out, ashlsi3_out, ashrhi3_out,
|
||
ashrsi3_out, lshrhi3_out, lshrsi3_out): Optimize more cases
|
||
with known shift count.
|
||
* config/avr/avr.md (ashlsi3, ashrsi3, lshrsi3):
|
||
New alternative for shift count 2 with no scratch register.
|
||
(ashlhi3, ashlsi3): Change "cc" attribute from "clobber" to
|
||
"set_n" for shift counts 1 and 2.
|
||
|
||
2000-09-30 Geoff Keating <geoffk@cygnus.com>
|
||
|
||
* config/rs6000/rs6000.md (movsi_to_cr): Remove the USE. Calculate
|
||
the mask value from the individual SET operations.
|
||
(return_internal_si): Move the USE after the RETURN.
|
||
(return_internal_di): Likewise.
|
||
(return_and_restore_fpregs_si): Likewise.
|
||
(return_and_restore_fpregs_di): Likewise.
|
||
(return_eh_si): Likewise.
|
||
(return_eh_di): Likewise.
|
||
* config/rs6000/rs6000.c (mtcrf_operation): Don't look for,
|
||
or check, the USE.
|
||
(rs6000_emit_prologue): Don't emit the USE for movsi_to_cr.
|
||
Don't generate a PARALLEL around a single operation movsi_to_cr.
|
||
Generate the RETURN first in any PARALLELs.
|
||
|
||
* rtlanal.c (single_set_1): Use fatal_insn to display the
|
||
invalid insn. Check for more cases when a USE or CLOBBER occurs
|
||
before a SET.
|
||
* Makefile.in: Update dependencies for rtlanal.o.
|
||
|
||
2000-09-30 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* i386.c: Move include of "config.h" to before that of <setjmp.h>.
|
||
|
||
2000-09-30 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-tree.texi, contrib.texi, gcc.texi, install.texi, invoke.texi:
|
||
Consistently use @email for formatting email addresses.
|
||
|
||
2000-09-29 Richard Henderson <rth@cygnus.com>
|
||
|
||
* cse.c (notreg_cost): New argument outer.
|
||
(COST): Pass in SET to notreg_cost
|
||
(COST_IN): New.
|
||
(fold_rtx): Use COST_IN. Prefer constants when costs
|
||
are the same.
|
||
|
||
2000-09-29 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* fixinc/inclhack.def (broken_cabs): Generalize regex.
|
||
* fixinc/fixincl.x: Regenerate.
|
||
|
||
2000-09-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
|
||
|
||
* loop.c (check_final_value): A GIV is not replaceable if used
|
||
before set.
|
||
|
||
Fri Sep 29 10:04:12 2000 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* version.c: Bump to gcc-2.97.
|
||
|
||
Frs Sep 29 13:37:59 MET DST 2000 Jan Hubicka <jh@suse.cz>
|
||
|
||
* final.c (final_scan_insn): Remove extra extract_insn call;
|
||
Use caching for constrain_operands.
|
||
(cleanup_subreg_operands): Use caching for extract_insn.
|
||
* recog.c (constrain_operands_cached): New.
|
||
* recog.h (constrain_operands_cached): Declare.
|
||
* i386.c (ix86_attr_length_immediate_default,
|
||
ix86_attr_length_address_default, ix86_agi_dependant): Cache
|
||
extract_insn call.
|
||
|
||
* recog.c (asm_noperands): Tweak.
|
||
(extract_insn): Do not call asm_noperads for non-asm instructions.
|
||
|
||
Fri Sep 29 13:20:42 MET DST 2000 Jan Hubicka <jh@suse.cz>
|
||
|
||
* recog.c (recog_memoized): Rename to recog_memoized_1.
|
||
* recog.h (recog_memoized): Rename to recog_memoized_1.
|
||
(recog_memoized): New macro.
|
||
* rtl.h (single_set): Rename to single_set_1
|
||
(single_set): New macro.
|
||
* rtlanal.c (single_set): Rename to single_set_1; expect clobbers
|
||
to be last.
|
||
|
||
* i386.md (strmovsi_1, strmovhi_1 strmovqi_1):
|
||
Do not use match_dup of input operands at outputs.
|
||
Use register_operand for memory expression.
|
||
(rep_movsi): Put use last, canonicalize.
|
||
Use register_operand for memory expression.
|
||
(rep_movqi): Put use last.
|
||
Use register_operand for memory expression.
|
||
(strsetsi_1, strset_hi_1, strsetqi_1): Do not use match_dup
|
||
of input operands at outputs. Use register_operand for memory
|
||
expression.
|
||
(rep_stossi): Put use last; canonicalize; fix match_dup in
|
||
the address expression
|
||
(rep_stosqi): Likewise.
|
||
(memcmp expander): Update calls.
|
||
(cmpstrsi_nz_1, cmpstrsi_1, strlensi_1): Avoid match_dups in
|
||
the clobbers.
|
||
|
||
* i386.md (fp_jcc_3, fp_jcc_4, jp_fcc_5): if_then_else operand is
|
||
VOIDmode.
|
||
(fp_jcc_4, fp_jcc_3): Refuse unordered comparisons.
|
||
|
||
2000-09-28 David O'Brien <obrien@FreeBSD.org>
|
||
|
||
* config/i386/freebsd-aout.h: New, FreeBSD a.out config file.
|
||
Contains the old contents of config/i386/freebsd.h
|
||
* config/i386/freebsd.h: Now the ELF rather than a.out config file.
|
||
Contains the old contents of config/i386/freebsd-elf.h
|
||
* config/i386/freebsd-elf.h: Retire this file -- contents moved to
|
||
config/i386/freebsd.h.
|
||
* configure.in: Adjust for above changes.
|
||
* po/POTFILES.in: Likewise.
|
||
* po/en_GB.po: Likewise.
|
||
* po/gcc.pot: Likewise.
|
||
* configure: Rebuilt.
|
||
|
||
2000-09-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
|
||
|
||
* doloop.c (doloop_modify): Prevent delete_insn() from
|
||
deleting too much. Prefer loop->top over loop->start as
|
||
target for the new JUMP insn.
|
||
(doloop_valid_p): Ignore loop with exit_count != 0.
|
||
|
||
2000-09-28 Philipp Thomas <pthomas@suse.de>
|
||
|
||
* invoke.texi (i386 Options): Add athlon to table of possible
|
||
choices for -mcpu=.
|
||
|
||
2000-09-28 Gabriel Dos Reis <gdr@codesourcery.com>
|
||
|
||
* diagnostic.h (output_clear_message_text): New function.
|
||
(output_message_text): New macro.
|
||
|
||
* diagnostic.c (clear_text_info): Rename to
|
||
output_clear_message_text.
|
||
(output_clear): Adjust.
|
||
(output_finish): Rename to output_finalize_message. Tweek.
|
||
(output_to_stream): Adjust.
|
||
|
||
2000-09-28 Neil Booth <neilb@earthling.net>
|
||
|
||
* cpperror.c (_cpp_begin_message): Do the test for suppression
|
||
of warnings and pedantic warnings before the "is a warning an
|
||
error" tests.
|
||
* cppinit.c (cpp_handle_option): Remove surplus \n.
|
||
* cpplex.c (ON_REST_ARG): Delete.
|
||
(skip_block_comment): Initialise prevc.
|
||
(parse_args): Improve error messages.
|
||
(maybe_paste_with_next): Use CONTEXT_VARARGS rather
|
||
than ON_REST_ARG.
|
||
* cpplib.c (cpp_push_buffer): Fix grammar in message.
|
||
* cppmain.c (main): Set callbacks for #ident and #pragma
|
||
only if no_output option is false.
|
||
(do_pragma_implementation): Only call the #pragma handler
|
||
if it is set in the cpp_reader structure.
|
||
|
||
Wed Sep 27 14:00:07 2000 Donald Lindsay <dlindsay@cygnus.com>
|
||
|
||
* integrate.c (copy_insn_list): if an ignored return value
|
||
is being clobbered, skip cloning that into the inline copy.
|
||
|
||
2000-09-27 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* extend.texi, invoke.texi, gcc.texi, install.texi: Consistently
|
||
use @uref for formatting URLs.
|
||
|
||
2000-09-27 Mark Elbrecht <snowball3@bigfoot.com>
|
||
|
||
* config/i386/djgpp.h (UNIQUE_SECTION): Constify the variables
|
||
name and prefix.
|
||
|
||
Tue 26-Sep-2000 18:25:38 BST Neil Booth <neilb@earthling.net>
|
||
|
||
* gcc.c (cpp_options): Add spec for -ftabstop=.
|
||
(invoke_as): New spec that handles invoking as.
|
||
Update specs to handle -save-temps and -traditional.
|
||
* ch/lang-specs.h, f/lang-specs.h, java/lang-specs.h:
|
||
Use invoke_as.
|
||
* cp/lang-specs.h, objc/lang-specs.h: Update to use
|
||
invoke_as, and handle -save-temps and -traditional (if
|
||
appropriate).
|
||
|
||
2000-09-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/sparc/sparc.c (sparc_emit_set_const64): Don't abort when
|
||
op0 is a SUBREG.
|
||
(function_arg_slotno): Accept TImode/CTImode.
|
||
* config/sparc/sparc.h (MIN_UNITS_PER_WORD): If IN_LIBGCC2 define
|
||
to UNITS_PER_WORD.
|
||
|
||
2000-09-26 Michael Hayes <mhayes@cygnus.com>
|
||
|
||
* flow.c (flow_loop_pre_header_scan): Punt if loop enters
|
||
from entry block.
|
||
|
||
2000-09-25 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* config/ia64/ia64.h (INDEX_REG_CLASS): Define to GENERAL_REGS.
|
||
(REGNO_OK_FOR_INDEX_P): Define to REGNO_OK_FOR_BASE_P.
|
||
(LEGITIMATE_ADDRESS_DISP): Use LEGITIMATE_ADDRESS_REG.
|
||
(REG_OK_FOR_INDEX): Define to REG_OK_FOR_BASE_P.
|
||
|
||
Tue 26-Sep-2000 00:16:22 BST Neil Booth <neilb@earthling.net>
|
||
|
||
* cpplex.c (parse_args): Don't set VOID_REST flag.
|
||
(CONTEXT_VARARGS): New flag.
|
||
(maybe_paste_with_next): Set context earlier in loop. Use
|
||
it. Do varargs test with CONTEXT_VARARGS flag.
|
||
(push_arg_context): Set CONTEXT_VARARGS flag if we're
|
||
pushing an argument context for a varargs argument.
|
||
* cpplib.h (VOID_REST): Delete.
|
||
* gcc.dg/cpp/vararg1.c: Add test case.
|
||
|
||
2000-09-25 Branko Cibej <branko.cibej@hermes.si>
|
||
|
||
* flags.h: Declare warning flag warn_system_headers.
|
||
* toplev.c: Define it.
|
||
(W_options): Add option -Wsystem-headers.
|
||
* diagnostic.c (count_error): Test warn_system_headers.
|
||
* invoke.texi: Add description for -Wsystem-headers.
|
||
* cpplib.h (cpp_options): New member warn_system_headers.
|
||
* cpphash.h (CPP_PEDANTIC, CPP_WTRADITIONAL): Don't test
|
||
CPP_IN_SYSTEM_HEADER.
|
||
* cpplib.c (do_import, do_pragma_once): Likewise.
|
||
* cpperror.c (_cpp_begin_message): Test warn_system_headers
|
||
and CPP_IN_SYSTEM_HEADER.
|
||
* cppinit.c (handle_option): Recognize -Wsystem_headers.
|
||
(print_help): Describe -Wsystem_headers.
|
||
* cpplex.c (lex_line): Reorganize condition so that warnings
|
||
about C++ comments in system headers can be enabled. Remove
|
||
label do_line_comment.
|
||
|
||
Mon 25-Sep-2000 23:38:27 BST Neil Booth <neilb@earthling.net>
|
||
|
||
* cpplex.c (save_comment): Only store the initial '/'
|
||
now.
|
||
(lex_token): Combine handling of the two comment types.
|
||
Pass everything but the initial '/' to save_comment.
|
||
|
||
Mon 25-Sep-2000 23:31:45 BST Neil Booth <neilb@earthling.net>
|
||
|
||
* cpphash.h (_cpp_digraph_spellings, _cpp_process_directive,
|
||
_cpp_can_paste): New library-internal prototypes.
|
||
* cpplex.c (dump_param_spelling, output_line_command,
|
||
output_token, cpp_scan_buffer, cpp_scan_buffer_nooutput,
|
||
cpp_printf, cpp_output_list): Move to cppoutput.c.
|
||
(process_directive, can_paste, digraph_spellings): Add _cpp_ prefix.
|
||
* cppmacro.c (dump_macro_args, cpp_dump_definition) Move to
|
||
cppoutput.c.
|
||
* cppoutput.c (dump_macro_args, cpp_dump_definition, output_token,
|
||
dump_param_spelling, output_line_command, cpp_scan_buffer,
|
||
cpp_scan_buffer_nooutput, cpp_printf, cpp_output_list): Moved
|
||
from elsewhere.
|
||
* Makefile.in: Add cppoutput.c.
|
||
* po/POTFILES.in: Add cppoutput.c.
|
||
|
||
2000-09-25 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/ia64/ia64.c (ia64_print_operand): Define 'e' as 64-n.
|
||
* config/ia64/ia64.md (rotrsi3): Allow variable rotates; don't
|
||
split until after reload.
|
||
(rotlsi3, rotldi3): New.
|
||
|
||
2000-09-25 Gabriel Dos Reis <gdr@codesourcery.com>
|
||
|
||
* diagnostic.c (output_last_position): Define.
|
||
(set_real_maximum_length): Tweek.
|
||
* diagnostic.h (output_last_position): Declare.
|
||
|
||
2000-09-25 Kazu Hirata <kazu@hxi.com>
|
||
|
||
* config/i386/i386.c: Fix formatting.
|
||
|
||
2000-09-24 Alan Lehotsky <alehotsky@cygnus.com>
|
||
|
||
* emit-rtl-c (gen_lowpart_common): Accept non-paradoxical SUBREG when
|
||
UNITS_PER_WORD is small.
|
||
|
||
2000-09-25 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (format_char_info): Add flags2; update comments.
|
||
(print_char_table, scan_char_table, time_char_table): Split some
|
||
flags out into flags2.
|
||
(check_format_info): Use flags2 for those flags, for identifying
|
||
the initial character of a scanf scanset, and for identifying
|
||
printf formats where the '0' flag is ignored with precision.
|
||
|
||
2000-09-25 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
Changes below marked "here" add TABs on either or both sides,
|
||
covering start of line, up to any operand for all noted .*ASM.*_OP
|
||
definitions. All callers changed.
|
||
* tm.texi: Make documented *_ASM.*_OP:s include spacing
|
||
(TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, SHARED_SECTION_ASM_OP,
|
||
BSS_SECTION_ASM_OP, SHARED_BSS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
|
||
ASM_BYTE_OP, FINI_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP,
|
||
ASM_STABS_OP, ASM_STABD_OP, ASM_STABN_OP).
|
||
Fix typos in description for LONG_LONG_TYPE_SIZE and
|
||
FINI_SECTION_ASM_OP.
|
||
* crtstuff.c (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Explain
|
||
why these defaults don't have leading spacing.
|
||
* dbxout.c (ASM_STABS_OP, ASM_STABN_OP): Here.
|
||
* dwarf2out.c (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
|
||
UNALIGNED_DOUBLE_INT_ASM_OP, SECTION_ASM_OP, ASM_BYTE_OP): Here.
|
||
* dwarfout.c (FILE_ASM_OP, VERSION_ASM_OP,
|
||
UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, ASM_BYTE_OP,
|
||
PUSHSECTION_ASM_OP, POPSECTION_ASM_OP): Here.
|
||
* defaults.h (ASM_STABD_OP, EH_FRAME_SECTION_ASM_OP): Here.
|
||
* varasm.c (ASM_STABS_OP): Here.
|
||
* xcoffout.h (ASM_STABS_OP): Here.
|
||
* config/elfos.h (IDENT_ASM_OP, ASM_BYTE_OP, SET_ASM_OP,
|
||
SKIP_ASM_OP, ALIGN_ASM_OP, COMMON_ASM_OP, LOCAL_ASM_OP,
|
||
INT_ASM_OP, ASCII_DATA_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP,
|
||
STRING_ASM_OP): Here.
|
||
* config/freebsd.h (IDENT_ASM_OP): Here.
|
||
* config/linux-aout.h (SET_ASM_OP): Here.
|
||
* config/linux.h (SET_ASM_OP): Here.
|
||
* config/lynx.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
|
||
INT_ASM_OP): Here.
|
||
* config/netbsd.h (TYPE_ASM_OP, SIZE_ASM_OP, SET_ASM_OP): Here.
|
||
* config/nextstep.h (EH_FRAME_SECTION_ASM_OP, ALIGN_ASM_OP): Here.
|
||
* config/openbsd.h (TYPE_ASM_OP, SIZE_ASM_OP, SET_ASM_OP): Here.
|
||
* config/psos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
|
||
INT_ASM_OP): Here.
|
||
* config/ptx4.h (IDENT_ASM_OP, ASM_BYTE_OP, SET_ASM_OP,
|
||
SKIP_ASM_OP, ALIGN_ASM_OP, COMMON_ASM_OP, LOCAL_ASM_OP,
|
||
INT_ASM_OP, ASCII_DATA_ASM_OP, CONST_SECTION_ASM_OP,
|
||
CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
|
||
FINI_SECTION_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP STRING_ASM_OP): Here.
|
||
* config/svr3.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
|
||
CONST_SECTION_ASM_OP, ASM_BYTE_OP): Here.
|
||
* config/a29k/udi.h (INT_ASM_OP): Here.
|
||
* config/alpha/alpha-interix.h (CONST_SECTION_ASM_OP,
|
||
CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INT_ASM_OP,
|
||
SET_ASM_OP): Here.
|
||
* config/alpha/alpha.h (TEXT_SECTION_ASM_OP,
|
||
READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
|
||
UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
|
||
UNALIGNED_DOUBLE_INT_ASM_OP, ASM_STABS_OP, ASM_STABN_OP,
|
||
ASM_STABD_OP): Here.
|
||
* config/alpha/elf.h (IDENT_ASM_OP, SKIP_ASM_OP, ALIGN_ASM_OP,
|
||
COMMON_ASM_OP, INT_ASM_OP, ASCII_DATA_ASM_OP,
|
||
CONST_SECTION_ASM_OP, CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
|
||
BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP,
|
||
INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, TYPE_ASM_OP,
|
||
SIZE_ASM_OP, STRING_ASM_OP): Here.
|
||
* config/alpha/vms.h (LINK_SECTION_ASM_OP,
|
||
READONLY_SECTION_ASM_OP, LITERALS_SECTION_ASM_OP,
|
||
CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, COMMON_ASM_OP): Here.
|
||
* config/arc/arc.h (ASM_BYTE_OP, SET_ASM_OP): Here.
|
||
(PUSHSECTION_ASM_OP): Define this, not PUSHSECTION_FORMAT.
|
||
* config/arm/aof.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP):
|
||
Here.
|
||
* config/arm/aout.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
|
||
BSS_SECTION_ASM_OP, SET_ASM_OP): Here.
|
||
* config/arm/coff.h (INT_ASM_OP): Here.
|
||
* config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Here.
|
||
* config/arm/elf.h (TYPE_ASM_OP, SIZE_ASM_OP, INT_ASM_OP): Here.
|
||
* config/arm/linux-elf.h (IDENT_ASM_OP, CONST_SECTION_ASM_OP,
|
||
INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Here.
|
||
* config/arm/unknown-elf.h (UNALIGNED_WORD_ASM_OP): Here.
|
||
* config/avr/avr.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
|
||
ASM_BYTE_OP, TYPE_ASM_OP, SIZE_ASM_OP, WEAK_ASM_OP,
|
||
STRING_ASM_OP): Here. Update documentation copy in comments.
|
||
* config/c4x/c4x.h (ASM_STABS_OP, BSS_SECTION_ASM_OP): Here.
|
||
* config/clipper/clipper.h (TEXT_SECTION_ASM_OP,
|
||
DATA_SECTION_ASM_OP): Here.
|
||
* config/clipper/clix.h (BSS_SECTION_ASM_OP, INIT_SECTION_ASM_OP):
|
||
Here.
|
||
* config/convex/convex.h (TEXT_SECTION_ASM_OP,
|
||
DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP): Here.
|
||
* config/d30v/d30v.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
|
||
BSS_SECTION_ASM_OP): Here.
|
||
* config/fr30/fr30.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
|
||
BSS_SECTION_ASM_OP): Here.
|
||
* config/fx80/fx80.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
|
||
Here.
|
||
* config/gmicro/gmicro.h (TEXT_SECTION_ASM_OP,
|
||
DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP): Here.
|
||
* config/h8300/h8300.h (ASM_WORD_OP): Here.
|
||
* config/i370/i370.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
|
||
BSS_SECTION_ASM_OP): Here.
|
||
* config/i386/aix386.h (INIT_SECTION_ASM_OP): Here.
|
||
* config/i386/bsd.h (ASM_BYTE_OP): Here.
|
||
* config/i386/cygwin.h (SET_ASM_OP, INT_ASM_OP): Here.
|
||
* config/i386/dgux.h (CONST_SECTION_ASM_OP): Here.
|
||
* config/i386/djgpp.h (IDENT_ASM_OP, INT_ASM_OP, SET_ASM_OP):
|
||
Here.
|
||
* config/i386/freebsd-elf.h (SET_ASM_OP): Here.
|
||
* config/i386/freebsd.h (TYPE_ASM_OP, SIZE_ASM_OP, INT_ASM_OP):
|
||
Here.
|
||
* config/i386/i386-coff.h (CTORS_SECTION_ASM_OP,
|
||
DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
|
||
* config/i386/i386-interix.h (STRING_ASM_OP, CONST_SECTION_ASM_OP,
|
||
CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INT_ASM_OP,
|
||
SET_ASM_OP): Here.
|
||
* config/i386/i386elf.h (BSS_SECTION_ASM_OP): Here.
|
||
* config/i386/netbsd.h (INT_ASM_OP): Here.
|
||
* config/i386/openbsd.h (INT_ASM_OP): Here.
|
||
* config/i386/osfrose.h (TYPE_ASM_OP, SIZE_ASM_OP, SET_ASM_OP,
|
||
IDENT_ASM_OP): Here.
|
||
* config/i386/sco5.h (ALIGN_ASM_OP, ASCII_DATA_ASM_OP,
|
||
ASM_BYTE_OP, IDENT_ASM_OP, COMMON_ASM_OP, SET_ASM_OP,
|
||
LOCAL_ASM_OP, INT_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP, STRING_ASM_OP,
|
||
SKIP_ASM_OP, GLOBAL_ASM_OP): Here.
|
||
* config/i386/seq-sysv3.h (SHARED_SECTION_ASM_OP,
|
||
SHARED_BSS_SECTION_ASM_OP): Here.
|
||
* config/i386/sequent.h (SHARED_SECTION_ASM_OP): Here.
|
||
* config/i386/sun386.h (ASM_BYTE_OP, TEXT_SECTION_ASM_OP,
|
||
DATA_SECTION_ASM_OP): Here.
|
||
* config/i386/svr3gas.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
|
||
CONST_SECTION_ASM_OP): Here.
|
||
* config/i386/sysv3.h (INIT_SECTION_ASM_OP): Here.
|
||
* config/i386/unix.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
|
||
BSS_SECTION_ASM_OP): Here.
|
||
* config/i860/bsd-gas.h (ASCII_DATA_ASM_OP): Here.
|
||
* config/i860/bsd.h (ASCII_DATA_ASM_OP): Here.
|
||
* config/i860/fx2800.h (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP,
|
||
BSS_ASM_OP): Here, but use trailing spaces.
|
||
* config/i860/i860.h (ASM_BYTE_OP, TEXT_SECTION_ASM_OP,
|
||
DATA_SECTION_ASM_OP): Here.
|
||
* config/i860/paragon.h (ASCII_DATA_ASM_OP, BSS_SECTION_ASM_OP):
|
||
Here.
|
||
* config/i860/sysv3.h (ASCII_DATA_ASM_OP, CTORS_SECTION_ASM_OP,
|
||
DTORS_SECTION_ASM_OP, TDESC_SECTION_ASM_OP): Here.
|
||
* config/i860/sysv4.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
|
||
TDESC_SECTION_ASM_OP): Here.
|
||
* config/i960/i960-coff.h (CTORS_SECTION_ASM_OP,
|
||
DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
|
||
* config/i960/i960.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
|
||
Here.
|
||
* config/ia64/ia64.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
|
||
BSS_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP,
|
||
UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
|
||
UNALIGNED_DOUBLE_INT_ASM_OP): Here.
|
||
* config/ia64/sysv4.h (ASM_BYTE_OP, STRING_ASM_OP, SKIP_ASM_OP,
|
||
COMMON_ASM_OP, ASCII_DATA_ASM_OP, INIT_SECTION_ASM_OP,
|
||
FINI_SECTION_ASM_OP, CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
|
||
SDATA_SECTION_ASM_OP, SBSS_SECTION_ASM_OP): Here.
|
||
* config/m32r/m32r.h (SCOMMON_ASM_OP): Here.
|
||
* config/m68hc11/m68hc11.h (GLOBAL_ASM_OP): Here.
|
||
* config/m68k/auxas.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP,
|
||
SPACE_ASM_OP, ALIGN_ASM_OP, GLOBAL_ASM_OP, SWBEG_ASM_OP,
|
||
SET_ASM_OP): Here.
|
||
* config/m68k/coff.h (BSS_SECTION_ASM_OP, CTORS_SECTION_ASM_OP,
|
||
DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
|
||
* config/m68k/crds.h (BSS_SECTION_ASM_OP): Here.
|
||
* config/m68k/dpx2.h (ASM_BYTE_OP, GLOBAL_ASM_OP): Here.
|
||
* config/m68k/hp320.h (ASCII_DATA_ASM_OP, GLOBAL_ASM_OP): Here.
|
||
* config/m68k/linux.h (BSS_SECTION_ASM_OP): Here.
|
||
* config/m68k/lynx.h (BSS_SECTION_ASM_OP): Here.
|
||
* config/m68k/m68k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
|
||
GLOBAL_ASM_OP): Here.
|
||
* config/m68k/m68kelf.h (SWBEG_ASM_OP, BSS_ASM_OP,
|
||
BSS_SECTION_ASM_OP): Here.
|
||
* config/m68k/m68kv4.h (BSS_ASM_OP): Here.
|
||
* config/m68k/mot3300.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
|
||
ASCII_DATA_ASM_OP, SET_ASM_OP, CTORS_SECTION_ASM_OP,
|
||
DTORS_SECTION_ASM_OP, GLOBAL_ASM_OP, ASM_BYTE_OP, ALIGN_ASM_OP,
|
||
SKIP_ASM_OP): Here.
|
||
* config/m68k/newsgas.h (SET_ASM_OP): Here.
|
||
* config/m68k/rtemself.h (INIT_SECTION_ASM_OP,
|
||
FINI_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP): Here.
|
||
* config/m68k/sgs.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP,
|
||
SPACE_ASM_OP, ALIGN_ASM_OP, GLOBAL_ASM_OP, SWBEG_ASM_OP,
|
||
SET_ASM_OP, UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Here,
|
||
but use trailing spaces.
|
||
* config/m68k/tower-as.h (TEXT_SECTION_ASM_OP,
|
||
DATA_SECTION_ASM_OP, GLOBAL_ASM_OP, INIT_SECTION_ASM_OP,
|
||
FINI_SECTION_ASM_OP, CONST_SECTION_ASM_OP, BSS_SECTION_ASM_OP):
|
||
Here.
|
||
* config/m88k/dgux.h (FINI_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
|
||
CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Here.
|
||
* config/m88k/m88k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
|
||
CONST_SECTION_ASM_OP, TDESC_SECTION_ASM_OP, CTORS_SECTION_ASM_OP,
|
||
DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
|
||
IDENT_ASM_OP, FILE_ASM_OP, SECTION_ASM_OP, SET_ASM_OP,
|
||
GLOBAL_ASM_OP, ALIGN_ASM_OP, SKIP_ASM_OP, COMMON_ASM_OP,
|
||
BSS_ASM_OP, FLOAT_ASM_OP, DOUBLE_ASM_OP, INT_ASM_OP, SHORT_ASM_OP,
|
||
CHAR_ASM_OP, ASCII_DATA_ASM_OP, SBSS_ASM_OP, SCOMM_ASM_OP,
|
||
SDATA_SECTION_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP, INTERNAL_ASM_OP,
|
||
VERSION_ASM_OP, UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
|
||
PUSHSECTION_ASM_OP, POPSECTION_ASM_OP, REQUIRES_88110_ASM_OP,
|
||
ASM_BYTE_OP): Here.
|
||
* config/m88k/openbsd.h (SET_ASM_OP): Here.
|
||
* config/m88k/sysv4.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
|
||
CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Here.
|
||
* config/mcore/mcore-elf.h (UNALIGNED_INT_ASM_OP,
|
||
UNALIGNED_SHORT_ASM_OP, CTORS_SECTION_ASM_OP,
|
||
DTORS_SECTION_ASM_OP): Here.
|
||
* config/mcore/mcore-pe.h (CTORS_SECTION_ASM_OP,
|
||
DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
|
||
* config/mips/elf.h (TYPE_ASM_OP, SIZE_ASM_OP,
|
||
BSS_SECTION_ASM_OP): Here.
|
||
* config/mips/elf64.h (TYPE_ASM_OP, SIZE_ASM_OP): Here.
|
||
* config/mips/iris5.h (ABICALLS_ASM_OP): Here.
|
||
* config/mips/iris6.h (TYPE_ASM_OP, SIZE_ASM_OP,
|
||
POPSECTION_ASM_OP, BSS_SECTION_ASM_OP, CONST_SECTION_ASM_OP_32,
|
||
CONST_SECTION_ASM_OP_64, CTORS_SECTION_ASM_OP,
|
||
DTORS_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP): Here.
|
||
* config/mips/mips.c (ABICALLS_ASM_OP): Here.
|
||
* config/mips/mips.h (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP):
|
||
Here.
|
||
* config/mips/netbsd.h (TYPE_ASM_OP, SIZE_ASM_OP, WEAK_ASM_OP):
|
||
Here.
|
||
* config/mips/osfrose.h (SET_ASM_OP): Here.
|
||
* config/mips/sni-svr4.h (ABICALLS_ASM_OP): Here.
|
||
* config/ns32k/encore.h (SHARED_SECTION_ASM_OP): Here.
|
||
* config/ns32k/merlin.h (SHARED_SECTION_ASM_OP): Here.
|
||
* config/ns32k/ns32k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
|
||
Here.
|
||
* config/ns32k/sequent.h (SHARED_SECTION_ASM_OP): Here.
|
||
* config/ns32k/tek6000.h (SHARED_SECTION_ASM_OP): Here.
|
||
* config/pa/pa-64.h (INT_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP): Here.
|
||
* config/pa/pa.h (ASM_STABS_OP, ASM_STABN_OP): Here.
|
||
* config/pj/pj.h (SET_ASM_OP, BSS_SECTION_ASM_OP): Here.
|
||
* config/pyr/pyr.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
|
||
Here.
|
||
* config/romp/romp.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
|
||
Here.
|
||
* config/rs6000/rs6000.h (SET_ASM_OP): Here.
|
||
* config/rs6000/sol2.h (ASM_STABN_OP): Here.
|
||
* config/rs6000/sysv4.h (SKIP_ASM_OP, LOCAL_ASM_OP, LCOMM_ASM_OP):
|
||
Here.
|
||
* config/sh/sh.h (SET_ASM_OP, BSS_SECTION_ASM_OP,
|
||
UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Here.
|
||
* config/sparc/linux.h (COMMON_ASM_OP): Here.
|
||
* config/sparc/linux64.h (COMMON_ASM_OP,
|
||
UNALIGNED_DOUBLE_INT_ASM_OP): Here.
|
||
* config/sparc/litecoff.h (BSS_SECTION_ASM_OP,
|
||
CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
|
||
* config/sparc/lynx.h (BSS_SECTION_ASM_OP): Here.
|
||
* config/sparc/pbd.h (ASM_INT_OP): Here.
|
||
* config/sparc/sp64-elf.h (UNALIGNED_LONGLONG_ASM_OP): Here.
|
||
* config/sparc/sparc.h (ASM_BYTE_OP, TEXT_SECTION_ASM_OP,
|
||
DATA_SECTION_ASM_OP, IDENT_ASM_OP): Here.
|
||
* config/sparc/sun4gas.h (UNALIGNED_DOUBLE_INT_ASM_OP,
|
||
UNALIGNED_INT_ASM_OP, UNALIGNED_SHORT_ASM_OP): Here.
|
||
* config/sparc/sysv4.h (STRING_ASM_OP, COMMON_ASM_OP, SKIP_ASM_OP,
|
||
UNALIGNED_DOUBLE_INT_ASM_OP, UNALIGNED_INT_ASM_OP,
|
||
UNALIGNED_SHORT_ASM_OP, PUSHSECTION_ASM_OP, POPSECTION_ASM_OP,
|
||
TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
|
||
CONST_SECTION_ASM_OP, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
|
||
CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
|
||
EH_FRAME_SECTION_ASM_OP): Here.
|
||
* config/sparc/vxsim.h (COMMON_ASM_OP): Here.
|
||
* config/spur/spur.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
|
||
Here.
|
||
* config/tahoe/tahoe.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
|
||
Here.
|
||
* config/v850/v850.h (SCOMMON_ASM_OP, ZCOMMON_ASM_OP,
|
||
TCOMMON_ASM_OP): Here.
|
||
* config/vax/vax.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
|
||
Here.
|
||
* config/we32k/we32k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
|
||
ASM_BYTE_OP): Here.
|
||
|
||
2000-09-25 Richard Henderson <rth@cygnus.com>
|
||
|
||
* expmed.c (store_bit_field): Adjust last change to not consider
|
||
any word-sized field naturally aligned.
|
||
|
||
2000-09-24 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/alpha/alpha.c (alpha_emit_conditional_branch): Handle
|
||
TFmode unordered compares properly. Revalidate integer compare
|
||
operands.
|
||
(alpha_emit_setcc): New.
|
||
(alpha_emit_conditional_move): Revalidate integer compare operands.
|
||
* config/alpha/alpha-protos.h: Update.
|
||
* config/alpha/alpha.md (cmpdi): Allow general operands.
|
||
(sne): Use alpha_emit_setcc.
|
||
(seq, slt, sle, sgt, sge, sltu, sleu, sgtu, sgeu): Likewise.
|
||
(sunordered, sordered): New.
|
||
|
||
2000-09-24 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/ia64/ia64-protos.h: Update.
|
||
* config/ia64/ia64.c (call_multiple_values_operation): Remove.
|
||
(ia64_expand_call): New.
|
||
(ia64_expand_prologue): Emit an alloc if we need extra input
|
||
registers.
|
||
(ia64_expand_epilogue): New arg sibcall_p; don't emit the return
|
||
instruction if true.
|
||
(struct reg_flags): Add is_sibcall.
|
||
(rtx_needs_barrier): A sibcall does not use CFM et al. Ignore USEs.
|
||
(emit_insn_group_barriers): Set flags.is_sibcall. Remove hacks
|
||
for CODE_FOR_gr_spill_internal/CODE_FOR_gr_restore_internal.
|
||
* config/ia64/ia64.h (PREDICATE_CODES): Update.
|
||
* config/ia64/ia64.md (call): Use ia64_expand_call.
|
||
(call_value): Likewise.
|
||
(sibcall, sibcall_value): New.
|
||
(call patterns): Remove extra expanders; tidy.
|
||
(sibcall_epilogue): New.
|
||
(set_bsp): Remove the extra USE. Put the operand inside the UNSPEC.
|
||
|
||
2000-09-24 Richard Henderson <rth@cygnus.com>
|
||
|
||
* emit-rtl.c (gen_lowpart_common): Use trunc_int_for_mode.
|
||
|
||
* sibcall.c (skip_pic_restore): New.
|
||
(identify_call_return_value): Use it.
|
||
|
||
2000-09-24 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* c-tree.texi: Moved here from cp/ir.texi. Documented nested
|
||
functions. Generalize to handle both C and C++.
|
||
* Makefile.in (c-tree.info): New target.
|
||
(info): Add c-tree.info.
|
||
|
||
Sun Sep 24 09:15:48 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* expr.c (store_field): If BITSIZE is negative, use size of type.
|
||
(expand_expr, case COMPONENT_EXPR): Likewise.
|
||
|
||
Sun 24-Sep-2000 11:40:23 BST Neil Booth <NeilB@earthling.net>
|
||
|
||
* cpplex.c: Update TODO comment.
|
||
* cpplib.c (do_error, do_warning): Merge common code of
|
||
do_error and do_warning into do_diagnostic. Use it.
|
||
(do_diagnostic): New function.
|
||
* cpplib.h: Fix comment typo.
|
||
|
||
2000-09-24 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (check_format_info): Warn for a wide character string
|
||
used as a non-wide format argument.
|
||
|
||
2000-09-24 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* builtins.def (BUILT_IN_LLABS): Add.
|
||
* builtins.c (expand_builtin): Also abort on BUILT_IN_LLABS.
|
||
* c-common.c (c_common_nodes_builtins): Create builtin functions
|
||
__builtin_llabs, and plain llabs unless no_nonansi_builtins
|
||
outside of C99 mode.
|
||
(expand_tree_builtin): Handle BUILT_IN_LLABS.
|
||
|
||
Sat 23-Sep-2000 22:39:18 BST Neil Booth <NeilB@earthling.net>
|
||
|
||
* cpphash.h (CPP_RESERVE, CPP_PUTS_Q, CPP_PUTS, CPP_PUTC_Q,
|
||
CPP_PUTC, DUMMY_TOKEN, NO_DUMMY_TOKEN): Delete.
|
||
* cpplex.c (_cpp_expand_token_space, _cpp_init_toklist,
|
||
_cpp_free_toklist): No need to worry about extra dummy token
|
||
at the start of token lists any more.
|
||
(trigraph_ok): Only warn outside comments.
|
||
(skip_block_comment): Set and clear lexing_comment.
|
||
(skip_line_comment): Take a cpp_reader not cpp_buffer.
|
||
Set and clear lexing_comment.
|
||
(parse_number): Handle leading '.' indicated by pfile->seen_dot.
|
||
(check_long_token): Delete.
|
||
(lex_percent, lex_dot): New subroutines of lex_token to
|
||
handle lexing of '.' and '%' without lookback.
|
||
(lex_token): Use lex_dot and lex_percent.
|
||
(lex_line): Don't check for LIST_OFFSET.
|
||
(_cpp_init_input_buffer): Update for new _cpp_init_toklist.
|
||
* cpplib.c (_cpp_parse_assertion): Similarly.
|
||
(cpp_push_buffer): Initialize extra_char.
|
||
* cpplib.h (LIST_OFFSET): Delete.
|
||
(struct cpp_buffer): New member extra_char.
|
||
(struct lexer_state): New members lexing_comment and seen_dot.
|
||
|
||
2000-09-23 Jason Merrill <jason@redhat.com>
|
||
|
||
* config/rs6000/x-aix41 (CLIB): Define here.
|
||
* config/rs6000/t-aix43: Not here.
|
||
* config/rs6000/t-aix41: Or here. Remove.
|
||
* configure.in: Don't use it.
|
||
|
||
2000-09-22 Jason Merrill <jason@redhat.com>
|
||
|
||
* configure.in: Add test for HAVE_LD_DWARF_LINKONCE.
|
||
* toplev.c: Use it to initialize flag_eliminate_dwarf2dups.
|
||
* config.in: Regenerate.
|
||
|
||
* configure.in: Fix checks for assembler features when using a
|
||
one-tree assembler that has not yet been built.
|
||
Fix --disable-threads.
|
||
|
||
2000-09-19 Geoff Keating <geoffk@cygnus.com>
|
||
|
||
* stmt.c (expand_asm_operands): Allow # in constraints.
|
||
|
||
2000-09-22 Jason Merrill <jason@redhat.com>
|
||
|
||
* c-lex.c (skip_white_space): Just treat CRs as horizontal whitespace.
|
||
|
||
* dbxout.c (dbxout_symbol_name): Just use DECL_NAME for
|
||
function-local names.
|
||
|
||
2000-09-22 Brad Lucier <lucier@math.purdue.edu>
|
||
Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* toplev.c (warn_disabled_optimization): Declare new warning flag.
|
||
* flags.h (warn_disabled_optimization): Add it here.
|
||
* gcse.c (gcse_main): Add warning when disabled.
|
||
* invoke.texi: Document -Wdisabled-optimization.
|
||
|
||
2000-09-21 Jason Merrill <jason@redhat.com>
|
||
|
||
* dwarf2out.c (add_const_value_attribute): Multiply by length, not 4.
|
||
|
||
* dwarf2out.c (tree_add_const_value_attribute): New fn.
|
||
(gen_variable_die): Call it for non-definitions.
|
||
|
||
* dwarf2out.c (die_struct): Add die_mark field.
|
||
(mark_dies, unmark_dies): New fns.
|
||
(clear_die_sizes): Remove.
|
||
(print_die): Check die_symbol rather than die_offset.
|
||
(build_abbrev_table, output_pubnames, output_aranges): Check
|
||
die_mark rather than die_offset.
|
||
(output_comp_unit): Move calc_die_sizes after build_abbrev_table.
|
||
Call mark_dies.
|
||
|
||
Thu 21-Sep-2000 18:19:05 BST Neil Booth <NeilB@earthling.net>
|
||
|
||
* cppfiles.c (lookup_include_file): Rename to open_file.
|
||
Always create a splay tree value, even on syscall failures.
|
||
Negative entries indicated by fd == -2.
|
||
Re-open files closed in the meantime.
|
||
(_cpp_fake_include): Create a negative splay tree entry.
|
||
(find_include_file, cpp_read_file): Update for function name
|
||
change.
|
||
* gcc.gd/cpp/mi4.c: Testcase.
|
||
|
||
2000-09-21 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/arm/t-arm-elf (MULTILIB_DIRNAMES): Enable multilibs for
|
||
ARM and THUMB modes.
|
||
|
||
* config/mcore/mcore.c: Fix compile time warnings.
|
||
* config/mcore/mcore-protos.h: Fix compile time warnings.
|
||
|
||
2000-09-20 J. David Anglin <dave@hiauly1.hia.nrc.ca>
|
||
|
||
* configure.in: Correct test of gcc_cv_glibc.
|
||
* configure: Rebuilt.
|
||
* config.in: Rebuilt.
|
||
|
||
2000-09-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* builtins.c (expand_builtin_fputs): Also expand when length!=1.
|
||
(expand_builtin): Handle BUILT_IN_FWRITE.
|
||
|
||
* builtins.def (BUILT_IN_FWRITE): New entry.
|
||
|
||
* c-common.c (c_common_nodes_and_builtins): Declare __builtin_fwrite.
|
||
|
||
Wed Sep 20 15:39:14 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* gcc.c (modify_target): New variable and struct.
|
||
(process_command): Handle MODIFY_TARGET_NAME.
|
||
* tm.texi (MODIFY_TARGET_NAME): Add documentation for new macro.
|
||
* config/pa/pa.h (MODIFY_TARGET_NAME): New macro.
|
||
|
||
* c-decl.c (finish_decl): Add else's to avoid referencing
|
||
TYPE_DOMAIN of an ERROR_MARK.
|
||
|
||
Wed Sep 20 21:44:31 2000 Denis Chertykov <denisc@overta.ru>
|
||
|
||
* config/avr/avr.c (adjust_insn_length): Adjust lengths of
|
||
`reload_in*' insns.
|
||
|
||
2000-09-19 Marek Michalkiewicz <marekm@linux.org.pl>
|
||
|
||
* config/avr/avr.md (neghi2): Add alternative for input and output
|
||
operands in different registers, as in negsi2.
|
||
(*negsi2): Remove '*' from the name. Use "movw" if available.
|
||
|
||
2000-09-19 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* config/ia64/crtbegin.asm (__dso_handle): Delete use of
|
||
HAVE_GAS_HIDDEN macro.
|
||
|
||
Tue 19-Sep-2000 22:38:57 BST Neil Booth <NeilB@earthling.net>
|
||
|
||
* cpplex.c (lex_line): Drop the EOF token for unknown
|
||
directives in assembler.
|
||
|
||
2000-09-19 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* configure.in: Allow enable_threads_flag value of "aix". Define
|
||
thread_file as "aix" for AIX 4.3 and above.
|
||
* configure: Regenerated.
|
||
|
||
* gthr-aix.h: New file.
|
||
|
||
* rs6000/t-aix43: Replace soft-float multilib with pthread.
|
||
Remove 403 processor multilib match. Fix rios2 processor multilib
|
||
match.
|
||
|
||
* rs6000/aix.h (ASM_DECLARE_FUNCTION_NAME): Use function_section
|
||
to return to appropriate csect.
|
||
|
||
2000-09-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* builtins.c (is_valid_printf_arglist, expand_builtin_printf): New
|
||
functions.
|
||
(expand_builtin_fputs): Set `target' parameter for `expand_expr'.
|
||
(expand_builtin): Handle BUILT_IN_PUTCHAR, BUILT_IN_PUTS and
|
||
BUILT_IN_PRINTF.
|
||
|
||
* builtins.def (BUILT_IN_PUTCHAR, BUILT_IN_PUTS, BUILT_IN_PRINTF):
|
||
New entries.
|
||
|
||
* c-common.c (init_function_format_info): Handle __builtin_printf.
|
||
Set `check_function_format_ptr'.
|
||
(c_common_nodes_and_builtins): Set `puts_ftype' and
|
||
`printf_ftype'. Declare __builtin_putchar, __builtin_puts,
|
||
__builtin_printf and printf.
|
||
|
||
* tree.c, tree.h (check_function_format_ptr): Declare.
|
||
|
||
Tue 19-Sep-2000 18:26:57 BST Neil Booth <NeilB@earthling.net>
|
||
|
||
* cppfiles.c (read_include_file): Take no special action for
|
||
zero-length files.
|
||
|
||
2000-09-19 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* final.c (insn_current_reference_address): Use INSN_SHUID of seq
|
||
rather than that of branch.
|
||
(shorten_branches): Don't increment insn_current_address twice.
|
||
|
||
Undo most of the Wed Jan 27 23:39:53 1999 patch:
|
||
* loop.h (struct induction): Delete members derived, ix and last_use.
|
||
(struct loop_ivs): Delete members first_increment_giv and
|
||
last_increment_giv.
|
||
* loop.c (verify_dominator, find_life_end, cmp_recombine_givs_stats,
|
||
recombine_givs): Delete functions.
|
||
(find_and_verify_loops): Don't initialize cont_dominator.
|
||
(strength_reduce): Lose code to try to find bivs that can be
|
||
expressed as givs of another biv, and to convert biv increments
|
||
into givs.
|
||
Lose loop_scan_start variable, always use loop->scan_start.
|
||
Don't call recombine_givs. Don't handle derived givs.
|
||
(record_giv): Don't initialize derived and last_use fields.
|
||
(biv_eliminiation_giv_has_0_offset): Lose code to handle derived
|
||
givs.
|
||
* unroll.c (derived_regs): Delete static variable.
|
||
(unroll_loop): Don't initialize it.
|
||
(copy_loop_body): Lose code to handle derived givs.
|
||
(find_splittable_givs): Don't check for givs made from biv
|
||
increments.
|
||
Don't set derived_regs.
|
||
|
||
Fix misapplied earlier patch:
|
||
* config/sh/sh.md (floatsisf_ie): Reenable. Remove explicit reference
|
||
to fpul.
|
||
(floatsisf2): Generate floatsisf_ie by default.
|
||
(floatsisf_i4): Conditional on TARGET_SH4.
|
||
|
||
(floatsisf2, floatsidf2, extendsfdf2): Also use reg_no_subreg_operand
|
||
predicate for the expanders.
|
||
|
||
2000-09-19 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/i386/i386.h (CPP_CPU_SPEC): Define i586 and i686 symbols
|
||
in addition to pentium and pentiumpro symbols.
|
||
(CPP_CPU_DEFAULT_SPEC): Likewise.
|
||
|
||
* c-typeck.c (c_expand_asm_operands): Restore the output tree
|
||
after expanding.
|
||
|
||
* stmt.c (expand_expr_stmt): Only call warn_if_unused_value
|
||
if the tree has side effects.
|
||
(warn_if_unused_value): Do not warn about void constructs.
|
||
|
||
* c-decl.c (poplevel): Invoke warn_about_unused_variables.
|
||
|
||
* unroll.c (copy_loop_body): Update LABEL_NUSES before
|
||
calling invert_jump.
|
||
|
||
2000-09-18 Geoff Keating <geoffk@cygnus.com>
|
||
|
||
* combine.c (can_combine_p): Don't substitute an ASM_OPERANDS
|
||
into anything.
|
||
|
||
2000-09-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* Makefile.in (c-common.o): Depend on diagnostic.h.
|
||
|
||
* c-common.c: Include diagnostic.h.
|
||
(tfaff): Delete.
|
||
(status_warning): New function.
|
||
(check_format_info, maybe_read_dollar_number, check_format_types,
|
||
finish_dollar_format_checking, check_function_format): Accept a
|
||
`status' parameter. All callers changed.
|
||
|
||
* c-common.h (check_function_format): Accept a `status' parameter.
|
||
|
||
* c-typeck.c: Update call to `check_function_format'.
|
||
|
||
2000-09-18 Richard Henderson <rth@cygnus.com>
|
||
|
||
* c-decl.c (c_expand_body): Call mark_varargs before
|
||
expand_function_start.
|
||
|
||
2000-09-18 Geoff Keating <geoffk@cygnus.com>
|
||
|
||
* config/rs6000/eabi-cn.asm: Use /**/ to delimit comments, not #.
|
||
* config/rs6000/eabi-ci.asm: Likewise.
|
||
|
||
2000-09-18 Richard Henderson <rth@cygnus.com>
|
||
|
||
* emit-rtl.c (init_emit_once): Initialize const_tiny_rtx
|
||
for BImode.
|
||
|
||
2000-09-18 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* unroll.c (loop_iterations): Pass increment to extend_for_giv_value
|
||
before passing it to fold_rtx_mult_add.
|
||
|
||
* unroll.c (final_giv_value): Pass increment through
|
||
extend_value_for_giv before passing it to emit_iv_add_mult.
|
||
|
||
* function.c (fixup_var_refs_1, case ZERO_EXTRACT): If we have a
|
||
paradoxical subreg, then directly substitute the replacement and
|
||
return.
|
||
|
||
Mon 18-Sep-2000 22:12:44 BST Neil Booth <NeilB@earthling.net>
|
||
|
||
* cpp.texi: Update documentation, including some clarifications,
|
||
the treatment of various newline combinations, and space between
|
||
backslash and newline.
|
||
|
||
Mon Sep 18 21:00:47 2000 J"orn Rennecke <amylaar@redhat.co.uk>
|
||
|
||
* sdbout.c (PUT_SDB_DEF, PUT_SDB_TAG, PUT_SDB_EPILOGUE_END):
|
||
Replace ASM_OUTPUT_LABELREF with assemble_name.
|
||
|
||
Mon Sep 18 20:26:50 2000 J"orn Rennecke <amylaar@redhat.co.uk>
|
||
|
||
* sh.c (addsubcosts): CONST is not cheap.
|
||
(find_barrier): For Sh1, take alignment after jumps into account.
|
||
|
||
2000-09-15 Andrew Haley <aph@redhat.com>
|
||
|
||
* toplev.c (rest_of_compilation): Call purge_hard_subreg_sets to
|
||
remove all SETs of SUBREGs of hard registers.
|
||
* function.c (purge_hard_subreg_sets): New function.
|
||
(purge_single_hard_subreg_set): New function.
|
||
* rtl.h: (purge_hard_subreg_sets): New function.
|
||
|
||
2000-09-18 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/ia64/ia64-protos.h: Update.
|
||
* config/ia64/ia64.c (signed_inequality_operator): New.
|
||
(ia64_expand_compare): New.
|
||
(ia64_register_move_cost): Handle PR_REGS moves.
|
||
(ia64_secondary_reload_class): Require a GR when moving to a PR.
|
||
(struct reg_write_state): Add written_by_and/or.
|
||
(struct reg_flags): Add is_and/or.
|
||
(rws_update): Set them.
|
||
(rws_access_regno): Test them to allow parallel comparisons.
|
||
(rtx_needs_barrier): Recognize parallel comparisons.
|
||
(emit_insn_group_barriers): Set prev_insn after a call stop bit.
|
||
Call recog_memoized; ignore pred_rel_mutex.
|
||
(emit_predicate_relation_info): Don't call find_basic_blocks here.
|
||
(ia64_reorg): Do it here instead.
|
||
* config/ia64/ia64.h: s/CCmode/BImode/g
|
||
(MODES_TIEABLE_P): Don't tie BImode.
|
||
(PREFERRED_RELOAD_CLASS): Do not reload operations into AR regs.
|
||
(CONST_COSTS): Pick sensible values for CONST_INT based on context.
|
||
(RTX_COSTS): Make multiply 4 insns.
|
||
(MEMORY_MOVE_COST): New.
|
||
(PREDICATE_CODES): Update.
|
||
* config/ia64/ia64.md: s/CCmode/BImode/g
|
||
(movcci, movbi): New.
|
||
(andbi3, andcmbi3, iorbi3, iorcmbi3, one_cmplbi2): New.
|
||
(cmpsi_and_0, cmpsi_and_1, cmpsi_andnot_0, cmpsi_andnot_1): New.
|
||
(cmpdi_and_0, cmpdi_and_1, cmpdi_andnot_0, cmpdi_andnot_1): New.
|
||
(tbit_and_0, tbit_and_1, tbit_and_2, tbit_and_3): New.
|
||
(cmpsi_or_0, cmpsi_or_1, cmpsi_orcm_0, cmpsi_orcm_1): New.
|
||
(cmpdi_or_0, cmpdi_or_1, cmpdi_orcm_0, cmpdi_orcm_1): New.
|
||
(tbit_or_0, tbit_or_1, tbit_or_2, tbit_or_3): New.
|
||
(mulsi, muldi): Use xmpy not xma.
|
||
(cmpbi): New.
|
||
(movcc, movcc_internal): Remove.
|
||
(branch expanders): Use ia64_expand_compare.
|
||
(setcc expanders): Likewise.
|
||
(cmov insns): Use move_operand and ia64_move_ok.
|
||
(pred_rel_mutex): Use unspec not unspec_volatile. Prevent the
|
||
scheduler from moving it past a use.
|
||
* config/ia64/build.hacks: Remove.
|
||
|
||
Mon 18-Sep-2000 19:21:35 BST Neil Booth <NeilB@earthling.net>
|
||
|
||
* cpphash.h (HASHSTEP): Take character rather than pointer
|
||
to character.
|
||
(_cpp_check_directive, _cpp_check_linemarker): Update prototypes.
|
||
|
||
* cpphash.c (cpp_loookup): Update for new HASHSTEP.
|
||
|
||
* cpplex.c (auto_expand_name_space, trigraph_replace,
|
||
backslash_start, handle_newline, parse_name, INIT_TOKEN_STR,
|
||
IMMED_TOKEN, PREV_TOKEN_TYPE, PUSH_TOKEN, REVISE_TOKEN,
|
||
BACKUP_TOKEN, BACKUP_TRIGRAPH, MIGHT_BE_DIRECTIVE,
|
||
KNOWN_DIRECTIVE): Delete.
|
||
|
||
(handle_newline, check_long_token, skip_escaped_newlines,
|
||
unterminated): New functions.
|
||
(ACCEPT_CHAR, SAVE_STATE, RESTORE_STATE): New macros.
|
||
|
||
(parse_identifier): Was parse_name, new implementation.
|
||
(skip_line_comment, skip_block_comment, skip_whitespace,
|
||
parse_number, parse_string, trigraph_ok, save_comment,
|
||
adjust_column, _cpp_get_line): New implementations.
|
||
|
||
(lex_token): New function. Lexes a token at a time, looking
|
||
forwards. Contains most of the guts of the old lex_line.
|
||
(lex_line): New implementation, using lex_token to obtain
|
||
individual tokens.
|
||
(cpp_scan_buffer): Use the token's line, not the list's line.
|
||
|
||
* cpplib.c (_cpp_check_directive, _cpp_check_linemarker):
|
||
New implementations.
|
||
(do_assert): Don't bother setting the answer's list's line.
|
||
(cpp_push_buffer): Initialise new pfile and read_ahead members
|
||
of struct cpp_buffer.
|
||
|
||
* cpplib.h (cppchar_t): New typedef.
|
||
(struct cpp_buffer): read_ahead, pfile and col_adjust are
|
||
new members.
|
||
(struct lexer_state): New structure that determines the state
|
||
and behaviour of the lexer.
|
||
(IN_DIRECTIVE, KNOWN_DIRECTIVE): New macros.
|
||
(struct cpp_reader): New member "state". Rename
|
||
multiline_string_line and multiline_string_column. Delete
|
||
col_adjust, in_lex_line members.
|
||
(CPP_BUF_COLUMN): Update.
|
||
|
||
2000-09-18 Richard Henderson <rth@cygnus.com>
|
||
|
||
* combine.c (simplify_comparison): Shift a NOT out of a single
|
||
bit test.
|
||
|
||
* combine.c (if_then_else_cond): Canonicalize BImode true to
|
||
STORE_FLAG_VALUE.
|
||
* explow.c (trunc_int_for_mode): Likewise.
|
||
|
||
* combine.c (combine_simplify_rtx): Use gen_unary to distribute
|
||
the NOT for De Morgan's rule.
|
||
* simplify-rtx.c (simplify_unary_operation): Simplify a BImode NOT
|
||
of a comparison to the reverse comparison.
|
||
|
||
* combine.c (try_combine): Allow split to create a single insn.
|
||
|
||
* machmode.def: Add BImode. Add a column for bitsize.
|
||
* machmode.h (DEF_MACHMODE): Adjust for extra column.
|
||
(GET_MODE_BITSIZE): Use it.
|
||
* rtl.c (DEF_MACHMODE): Adjust for extra column.
|
||
(mode_bitsize): New.
|
||
(mode_mask_array): Use bitsize.
|
||
* combine.c (combine_simplify_rtx): Require inner and outer
|
||
modes to match on nonzero_bits optimizations.
|
||
|
||
2000-09-18 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* reload1.c (forget_old_reloads_1): If a hard reg is stored, clear
|
||
its entry in spill_reg_store.
|
||
* config/sh/lib1funcs.ams (movstr_i4 functions): Always compile in.
|
||
* sh.c (reg_no_subreg_operand): New function.
|
||
* sh-protos.h (reg_no_subreg_operand): Declare it.
|
||
* sh.h (PREDICATE_CODES): Add it.
|
||
* sh.md (floatsisf2_i4, floatsidf2_i, extendsfdf2_i4): Use it for
|
||
input operand that needs to be in fpul.
|
||
(fix_truncsfsi2, fix_truncsfsi2_i4): Use register_operand for output.
|
||
* sh.c (find_barrier): Take into account that machine_dependent_reorg
|
||
might add new insns.
|
||
|
||
2000-09-18 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* config/sh/sh.c (sh_expand_prologue): Mark GOTaddr2picreg as
|
||
MAYBE_DEAD.
|
||
(sh_expand_epilogue): Take the PIC register into account when
|
||
computing the frame size.
|
||
|
||
* config/sh/sh.c (nonpic_symbol_mentioned_p): Check LABEL_REFs.
|
||
* config/sh/sh.md (sym_label2reg, symPLT_label2reg): Protect
|
||
LABEL_REFs with a PIC-safe unspec.
|
||
|
||
2000-09-18 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (check_format_info): Properly save the argument
|
||
number and parameter for $ operand number formats in case width
|
||
and precision arguments are also used. Allow printf width and
|
||
precision arguments to have operand numbers even if none was
|
||
specified for the main format, since this is OK for %*.*m. Only
|
||
object to missing $ operand number if the format used requires an
|
||
argument.
|
||
|
||
2000-09-18 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (format_char_info): Add 'W' flag to comment.
|
||
(print_char_table, scan_char_table): Use it.
|
||
(check_format_info): Use the 'W' flag to determine whether a
|
||
format argument is written into.
|
||
|
||
2000-09-18 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (check_format_types): Reorganise and clean up,
|
||
checking earlier for ERROR_MARKs and making cur_type into its
|
||
TYPE_MAIN_VARIANT where convenient.
|
||
|
||
2000-09-18 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* gcc.c (cpp_options): Add specs for __STDC_HOSTED__.
|
||
|
||
2000-09-18 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* optabs.c (emit_libcall_block): Set CONST_CALL_P for the call.
|
||
|
||
* i386-protos.h (ix86_init_builtins, ix86_expand_builtin): Declare.
|
||
* i386.c (struct builtin_description): New.
|
||
(bdesc_comi, bdesc_2arg, bdesc_1arg): New arrays.
|
||
(mmx_reg_operand): Declare MODE arg as unused.
|
||
(ix86_expand_sse_comi, ix86_expand_sse_compare, safe_vector_operand,
|
||
ix86_expand_unop1_builtin, ix86_expand_unop_builtin,
|
||
ix86_expand_binop_builtin, ix86_expand_store_builtin,
|
||
ix86_init_builtins, ix86_expand_builtin): New functions.
|
||
* i386.h (ix86_builtins): New enumeration.
|
||
(MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): New macros.
|
||
* i386.md (attr length_immediate): 0 for mmx/sse types.
|
||
(attr prefix_0f): 1 for mmx/sse types.
|
||
(setcc_2): Remove "*" so we get gen_setcc_2.
|
||
(emms): Account for changed register numbering. Set "memory" attr
|
||
to unknown.
|
||
(sfence): Set "memory" attr to unknown.
|
||
|
||
2000-09-18 Andreas Jaeger <aj@suse.de>
|
||
|
||
* configure.in: Define _GNU_SOURCE only when using the GNU C
|
||
Library.
|
||
* configure: Regenerated.
|
||
* config.in: Regenerated.
|
||
|
||
2000-09-17 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* cppinit.c (cpp_init): Don't use ANSI prototypes.
|
||
* flow.c (flow_dump_loop): Likewise.
|
||
(flow_loops_dump): Likewise.
|
||
|
||
* c-typeck.c (c_start_case): Fix typo.
|
||
|
||
2000-09-17 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-decl.c (grokdeclarator): Don't give a warning about defaulting
|
||
to int for plain complex which defaults to complex double. Do
|
||
warn about defaulting to complex double if pedantic. Warn about
|
||
complex integer types if pedantic. Warn about complex types if
|
||
pedantic and not in C99 mode.
|
||
* c-typeck.c (build_unary_op): If pedantic, warn about use of ~
|
||
for complex conjugation.
|
||
|
||
2000-09-17 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* contrib.texi: Update my entry.
|
||
|
||
Sun Sep 17 18:48:32 2000 Denis Chertykov <denisc@overta.ru>
|
||
|
||
* config/avr/avr.md (mcu_enhanced): New attribute.
|
||
(mcu_mega): Likewise.
|
||
(extendhisi2): Use mcu_enhanced.
|
||
(zero_extendhisi2): Likewise.
|
||
(call_insn): Use mcu_enhanced and mcu_mega.
|
||
(call_value_insn): Likewise.
|
||
(*sbrx_branch): Use mcu_mega.
|
||
(*sbrx_and_branchsi): Likewise.
|
||
(*sbrx_and_branchhi): Likewise.
|
||
(*tablejump_lib): Likewise.
|
||
|
||
Sun Sep 17 10:46:17 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* alias.c (true_dependence): Allow non-unchanging read to conflict
|
||
with unchanging write.
|
||
|
||
* expr.c (store_constructor_field): Accept ALIAS_SET arg.
|
||
(store_constructor): Pass alias_set to it.
|
||
|
||
* c-decl.c (grokdeclarator): Reorder tests to avoid looking at
|
||
TYPE_MAIN_VARIANT of ERROR_MARK.
|
||
* c-lex.c (readescape): Avoid using printf syntax we don't recognize.
|
||
|
||
* simplify-rtx.c (simplify_unary_operation): Add cases
|
||
FLOAT_EXTEND and FLOAT_TRUNCATE to ones that return 0.
|
||
|
||
2000-09-17 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* expr.h (emit_library_call, emit_library_call_value): Delete
|
||
declarations.
|
||
* rtl.h (enum libcall_type): New.
|
||
(emit_library_call, emit_library_call_value): Change fn_type arg to
|
||
be of type enum libcall_type.
|
||
* calls.c: Likewise for the function definitions. Several callers
|
||
throughout changed to use the new enumeration appropriately.
|
||
(emit_library_call_value_1): Likewise. Put back code to make libcall
|
||
blocks of equal form, but only use it for the two new higher
|
||
enumeration values.
|
||
|
||
2000-09-16 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
Convert the C front-end to use function-at-a-time mode.
|
||
* c-common.h: Include splay-tree.h.
|
||
(C_DECLARED_LABEL_FLAG): New macro.
|
||
(struct language_function): Add x_scope_stmt_stack and
|
||
x_function_name_declared_p.
|
||
(RECHAIN_STMTS): Move definition.
|
||
(lang_statement_code_p): Likewise.
|
||
(lang_expand_stmt): Likewise.
|
||
(lang_expand_decl_stmt): New variable.
|
||
(lang_expand_function_end): Likewise.
|
||
(current_scope_stmt_stack): New function.
|
||
(add_decl_stmt): Likewise.
|
||
(add_scope_stmt): Likewise.
|
||
(mark_stmt_tree): Likewise.
|
||
(struct c_lang_decl): New structure.
|
||
(DECL_SAVED_TREE): Define.
|
||
(c_mark_lang_decl): New function.
|
||
(c_expand_start_cond): Change prototype.
|
||
(c_finish_then): New function.
|
||
(c_finish_else): Likewise.
|
||
(current_function_name_declared): Remove.
|
||
(set_current_function_name_declared): Likewise.
|
||
(mark_c_language_function): Declare.
|
||
(case_compare): Likewise.
|
||
(c_add_case_label): Likewise.
|
||
(c_expand_expr): Likewise.
|
||
(c_safe_from_p): Likewise.
|
||
* c-common.c (lang_expand_function_end): New variable.
|
||
(struct if_elt): Add if_stmt.
|
||
(c_expand_start_cond): Add the if-statement to the statement-tree,
|
||
rather than generating RTL.
|
||
(c_finish_then): New function.
|
||
(c_expand_start_else): Don't generate RTL.
|
||
(c_finish_else): New function.
|
||
(c_expand_expr_stmt): Don't generate RTL.
|
||
(statement_code_p): Add SCOPE_STMT.
|
||
(case_compare): New function.
|
||
(c_add_case_label): Likewise.
|
||
(mark_stmt_tree): Likewise.
|
||
(c_mark_lang_decl): Likewise.
|
||
(mark_c_language_function): Likewise.
|
||
(c_expand_expr): Likewise.
|
||
(c_safe_from_p): Likewise.
|
||
* c-decl.c (c_stmt_tree): New variable
|
||
(c_scope_stmt_stack): Likewise.
|
||
(c_function_name_declared_p): Likewise.
|
||
(lang_expand_expr_stmt): Remove.
|
||
(poplevel): Don't call output_inline_function for nested
|
||
functions.
|
||
(pushdecl): Don't set DECL_CONTEXT for a local declaration of an
|
||
`extern' function.
|
||
(redeclaration_error_message): Change means of computing whether
|
||
or not a function is nested.
|
||
(lookup_label): Don't call label_rtx.
|
||
(init_decl_processing): Add more GC roots.
|
||
(start_decl): Add DECL_STMTs to the statement-tree, rather than
|
||
calling rest_of_decl_compilation.
|
||
(finish_decl): Don't call expand_decl.
|
||
(store_parm_decls): Begin the statement-tree, but don't generate
|
||
RTL.
|
||
(finish_function): Tie off the statement-tree. Call c_expand_body
|
||
if appropriate.
|
||
(c_expand_body): New function.
|
||
(push_c_function_context): Save more information.
|
||
(pop_c_function_contxt): Likewise.
|
||
(copy_lang_decl): Now that we use DECL_LANG_SPECIFIC, copy it.
|
||
(lang_mark_tree): Mark it.
|
||
(current_stmt_tree): Adjust.
|
||
(current_scope_stmt_stack): New function.
|
||
(do_case): Remove.
|
||
(set_current_name_declared): Likewise.
|
||
(c_begin_compound_stmt): Define.
|
||
(c_expand_decl_stmt): Likewise.
|
||
* c-lang.c: Include rtl.h and expr.h.
|
||
(lang_init): Set more language-specific hooks.
|
||
* c-lex.c: Include expr.h.
|
||
* c-parse.in: Changes throughout to add statements to the
|
||
statement-tree, rather than generating RTL after every statement.
|
||
* c-semantics.c (lang_expand_decl_stmt): Define.
|
||
(add_decl_stmt): New function.
|
||
(add_scope_stmt): Likewise.
|
||
(finish_stmt_tree): Tweak.
|
||
(genrtl_expr_stmt): Likewise.
|
||
(genrtl_decl_stmt): Handle local labels, and call
|
||
lang_expand_decl_stmt if required.
|
||
(genrtl_for_stmt): Fix line-number handling.
|
||
(genrtl_case_label): Handle cleanups.
|
||
(genrtl_asm_stmt): Don't call combine_strings.
|
||
(genrtl_compound_stmt): Simplify.
|
||
(expand_stmt): Handle SCOPE_STMTs.
|
||
* c-tree.h (struct lang_decl): New structure.
|
||
(C_DECLARED_LABEL_FLAG): Remove.
|
||
(c_begin_compound_stmt): Declare.
|
||
(c_expand_decl_stmt): Likewise.
|
||
(c_expand_start_case): Rename to c_start_case.
|
||
(c_finish_case): New function.
|
||
* c-typeck.c (start_init): Tweak setting of
|
||
constructor_incremental.
|
||
(c_expand_asm_operands): Tweak error-handling. Add to the
|
||
statement-tree.
|
||
(c_expand_return): Add to the statement-tree.
|
||
(c_expand_start_case): Rename to ...
|
||
(c_start_case): ... this.
|
||
(struct c_switch): New type.
|
||
(switch_stack): New variable.
|
||
(do_case): Simplify.
|
||
(c_finish_case): New function.
|
||
* dependence.c: Include expr.h.
|
||
(enum dependence_type): Change spelling of enumerals.
|
||
(check_node_dependence): Adjust.
|
||
* expr.h (lang_safe_from_p): Declare.
|
||
(safe_from_p): Likewise.
|
||
* expr.c (lang_safe_from_p): New variable.
|
||
(safe_from_p): Give it external linkage. Use lang_safe_from_p.
|
||
* stmt.c (expand_expr_stmt): Avoid clobberring of last_expr_type.
|
||
* toplev.c (rest_of_decl_compilation): Robustify.
|
||
* tree.c (contains_placeholder_p): Likewise.
|
||
* Makefile.in: Update dependencies.
|
||
* objc/objc-act.h: Adjust calculation of value for dummy_tree_code.
|
||
* objc/objc-act.c: Include rtl.h, expr.h, and c-common.h.
|
||
(objc_expand_function_end): New function.
|
||
(finish_method_def): Use it.
|
||
(init_objc): Initialize more language-specific hooks.
|
||
* objc/Make-lang.in: Update dependencies.
|
||
|
||
2000-09-16 Geoffrey Keating <geoffk@cygnus.com>
|
||
|
||
* configure.in: Define macros that affect features before
|
||
testing for features. Don't define _XOPEN_SOURCE.
|
||
* configure: Regenerated.
|
||
* config.in: Regenerated.
|
||
|
||
Sat Sep 16 19:42:50 EDT 2000 John Wehle (john@feith.com)
|
||
|
||
* rtlanal.c (rtx_varies_p): Volatile asms vary.
|
||
(rtx_unstable_p): Restructure code. Volatile asms
|
||
are unstable.
|
||
|
||
Sat Sep 16 14:35:55 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* function.h (no_debugging_symbols): New field.
|
||
* integrate.c (save_for_inline): Renamed from save_for_inline_nocopy.
|
||
Initialize no_debugging_symbols.
|
||
(output_inline_function): Save and restore write_symbols and set from
|
||
no_debugging_symbols.
|
||
* toplev.c (rest_of_compilation): Call save_for_inline.
|
||
* tree.h: Update comment.
|
||
|
||
* stor-layout.c (place_field): Don't do anything if field or
|
||
its type are ERROR_MARK.
|
||
|
||
Sat Sep 16 19:14:00 2000 Laurynas Biveinis <lauras@softhome.net>
|
||
|
||
* cppfiles.c (purge_cache): Use munmap only if MMAP_THRESHOLD defined.
|
||
(read_include_file): Ensure inc->mmaped is initialized.
|
||
|
||
2000-09-16 Richard Henderson <rth@cygnus.com>
|
||
|
||
* cppiles.c (purge_cache): Use PTR not caddr_t.
|
||
|
||
2000-09-16 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* gcc.c: In description for %{<S}, say the option removed is -S.
|
||
* invoke.texi (Spec Files): Ditto.
|
||
|
||
2000-09-16 Andreas Jaeger <aj@suse.de>
|
||
|
||
* configure.in: Always define _GNU_SOURCE to make interfaces
|
||
visible that were hidden by only defining _GNU_SOURCE.
|
||
* configure: Regenerated.
|
||
|
||
Sat 16-Sep-2000 08:13:45 BST Neil Booth <NeilB@earthling.net>
|
||
|
||
* cpplex.c (push_macro_context): Set an argument's level after
|
||
calling parse_args. We could loop infinitely otherwise.
|
||
|
||
2000-09-15 Tom Tromey <tromey@cygnus.com>
|
||
|
||
* configure, config.in: Rebuilt.
|
||
* configure.in: Check for iconv.h. Define _XOPEN_SOURCE.
|
||
|
||
2000-09-15 Greg McGary <greg@mcgary.org>
|
||
|
||
* cppmacro.c (check_trad_stringification): Check token
|
||
text pointers against limit before dereferencing.
|
||
|
||
2000-09-15 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (format_wanted_type): New structure.
|
||
(check_format_types): New function.
|
||
(check_format_info): Pass all checking of types of format
|
||
arguments, including width and precision arguments, to this new
|
||
function.
|
||
|
||
2000-09-15 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
|
||
|
||
* BUGS: Remove file.
|
||
|
||
2000-09-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/alpha/alpha.c (override_options): ev6 cache latencies
|
||
from Richard Henderson. Don't allow -mmemory-latency=L0.
|
||
|
||
* config/alpha/alpha.h (TARGET_CPU_EV5, TARGET_CPU_EV6): Define.
|
||
(TARGET_OPTIONS): Add tune=.
|
||
(alpha_tune_string): Declare.
|
||
* config/alpha/alpha.c (override_options): Add cpu_table.
|
||
Use alpha_cpu_string first to set both alpha_cpu and target_flags
|
||
and then alpha_tune_string to set alpha_cpu only.
|
||
Replace tests for PROCESSOR_EV* with TARGET_CPU_EV* tests.
|
||
* config/alpha/elf.h (ASM_FILE_START): Likewise.
|
||
* config/alpha/osf.h (ASM_FILE_START): Likewise.
|
||
* config/alpha/openbsd.h (ASM_FILE_START): Likewise.
|
||
|
||
Fri Sep 15 19:45:55 MET DST 2000 Jan Hubicka <jh@suse.cz>
|
||
|
||
* i386-protos.h (no_comparison_operator, uno_comparison_operator):
|
||
Remove.
|
||
(ix86_comparison_operator, ix86_cc_mode): Declare
|
||
* i386.h (CCGC, CCGCO): New modes.
|
||
(SELECT_CC_MODE): Move offline to ....
|
||
* i386.c (ix86_cc_mode): .... here; use new modes.
|
||
(ix86_comparison_operator): New.
|
||
(fcmov_comparison_operator): Ensure proper mode.
|
||
(put_condition_mode): More sanity checking.
|
||
(ix86_match_ccmode): Handle new modes.
|
||
(ix86_expand_fp_compare): GEU requires CCmode.
|
||
(ix86_expand_strlensi_unroll_1): Use emit_cmp_and_jump_insn instead of
|
||
doing it by hand.
|
||
* i386.md (cmp?i_ccz_1): Remove
|
||
(cmp?i_ccno_1): Use ix86_match_ccmode.
|
||
(cmp?i_minus_1): New.
|
||
(cmpsi_1): New expander.
|
||
(cmpqi_ext_1): Use match_ccmode
|
||
(cmpqi_ext_3): New expander.
|
||
(cmpqi_ext_3_insn): Rename from cmpqi_ext_3.
|
||
(cmpqi_ext_4): Use match_ccmode.
|
||
(add?i_?): Use match_ccmode.
|
||
(add?i_6): New.
|
||
(test?i_ccz_1): Remove
|
||
(test?i_1): New.
|
||
(testsi_ccno_1, testqi_ccz_1, testqi_ext_ccno_0): New expander.
|
||
(testqi_ext_0): Use ix86_match_ccmode.
|
||
(*xorqi_cc_ext_1): Use ix86_match_ccmode.
|
||
(xorqi_cc_ext_1): New expander.
|
||
(shift patterns): Use CCGOCmode for all shifts except for sar.
|
||
(setcc_?, jcc_?, miv?icc_nic): Use ix86_comparison_operator.
|
||
(setcc_3, jcc_3, miv?icc_c): Remove.
|
||
|
||
2000-09-15 Will Cohen <wcohen@redhat.com>
|
||
|
||
* dwarf2out.c (add_const_value_attribute): Changed array into a
|
||
xmalloced object, so it exists after function exit.
|
||
(free_AT): Added case for dw_val_class_float to free allocated
|
||
memory.
|
||
|
||
2000-09-15 Kazu Hirata <kazu@hxi.com>
|
||
|
||
* config/i386/i386.md: Fix a comment typo.
|
||
* gcc.c: Fix formatting.
|
||
|
||
2000-09-15 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* optabs.c (emit_libcall_block): If target is a user variable,
|
||
copy to a temporary first.
|
||
* expr.c (convert_move): When generating a libcall, make a libcall
|
||
block.
|
||
* calls.c (emit_library_call_value_1): Don't create a libcall
|
||
sequence here; our caller will in most cases do it.
|
||
|
||
* sh.h (SECONDARY_INPUT_RELOAD_CLASS): Handle moving T, MACL or
|
||
MACH into FPUL.
|
||
(SECONDARY_OUTPUT_RELOAD_CLASS): Similar case.
|
||
* sh.md (reload_outsf): Generate recognizable patterns for
|
||
TARGET_SH3E.
|
||
(floatsisf2, floatsisf2_ie, floatsisf2_i4, fix_truncsfsi2,
|
||
fix_truncsfsi2_i4, fixsfsi, floatsidf2, floatsidf2_i, fix_truncdfsi2,
|
||
fix_truncdfsi2_i, extendsfdf2, extendsfdf2_i4, truncdfsf2,
|
||
truncdfsf2_i4): Change not to use explicit references to fpul.
|
||
(floatsisf2_ie): Remove USE of fpscr.
|
||
(floatsisf2): Change default expansion to match this.
|
||
(fix_truncsfsi2_i4_2, fix_truncdfsi2_i4 & splitters): Comment out
|
||
unused patterns.
|
||
|
||
2000-09-15 Richard Henderson <rth@cygnus.com>
|
||
|
||
* expmed.c (store_bit_field): Consider naturally aligned
|
||
memory for direct reference.
|
||
|
||
2000-09-15 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/alpha/alpha.c (alpha_expand_unaligned_load): Force all
|
||
AND addresses into alias set 0.
|
||
(alpha_expand_unaligned_store): Likewise.
|
||
(alpha_expand_unaligned_load_words): Likewise.
|
||
(alpha_expand_unaligned_store_words): Likewise.
|
||
|
||
2000-09-15 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* config/sh/sh.h (CPP_SPEC): For -m4-nofpu, define __SH4_NOFPU__.
|
||
* config/sh/lib1funcs.asm (movstr_i4): Also compile if __SH4_NOFPU__
|
||
is defined.
|
||
* config/mips/mips.c (mips_va_arg): Args passed by reference have a
|
||
rsize of UNITS_PER_WORD.
|
||
|
||
Fri 15-Sep-2000 06:49:07 BST Neil Booth <NeilB@earthling.net>
|
||
|
||
* cpplex.c (ON_REST_ARG): Correct the test.
|
||
(maybe_paste_with_next): Duplicate a token that fail pasting,
|
||
and clear its PASTE_LEFT flag, so that nested pasting attempts
|
||
do not occur.
|
||
|
||
2000-09-14 Richard Henderson <rth@cygnus.com>
|
||
|
||
* calls.c (precompute_register_parameters): Use COSTS_N_INSNS, not 2.
|
||
* cse.c (rtx_cost): Likewise.
|
||
* optabls.c (expand_binop): Likewise.
|
||
(expand_twoval_binop, prepare_cmp_insn): Likewise.
|
||
* regclass.c (copy_cost): Likewise.
|
||
* reload1.c (reload_cse_move2add): Likewise.
|
||
|
||
2000-09-14 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-parse.in (reswords): Add _Complex.
|
||
|
||
2000-09-14 J. David Anglin <dave@hiauly1.hia.nrc.ca>
|
||
|
||
* gcc.1: Delete documentation for -undef preprocessor option.
|
||
|
||
2000-09-14 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* config/sh/sh.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
|
||
STARTFILE_SPEC, ENDFILE_SPEC): Remove define.
|
||
* config/sh/elf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP):
|
||
Remove undefine before config/elfos.h.
|
||
* config/sh/t-sh (EXTRA_MULTILIB_PARTS): Comment out.
|
||
|
||
2000-09-14 Kazu Hirata <kazu@hxi.com>
|
||
|
||
* invoke.texi (H8/300 Options): Add -ms2600.
|
||
* config/h8300.c (h8300_init_once): Output an error when -ms2600
|
||
is used without -ms.
|
||
* config/h8300.h (TARGET_MAC): New.
|
||
(TARGET_SWITCHES): Add -ms2600 and -mno-s2600.
|
||
(CONDITIONA_REGISTER_USAGE): Disable the mac register on any
|
||
machine other than H8/S2600.
|
||
* config/h8300.md: Accept mac instructions on the H8/S2600 instead
|
||
of the H8/S2000.
|
||
|
||
2000-09-14 Alexandre Oliva <aoliva@redhat.com>, Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* reload.c (find_reloads_address_1): Generate reloads for auto_inc
|
||
pseudos that refer to the original pseudos, not only to their
|
||
equivalent memory locations.
|
||
|
||
Thu Sep 14 12:10:16 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* expr.c (expand_expr, case COMPONENT_EXPR): Copy memory attributes
|
||
when making new MEM.
|
||
|
||
* Makefile.in (LN): Remove duplicate definition.
|
||
|
||
2000-09-12 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
From Joern Rennecke:
|
||
* local-alloc.c (update_equiv_regs): If there is no REG_EQUAL note
|
||
on an insn and function_invariant_p returns nonzero for the source,
|
||
add a REG_EQUAL note.
|
||
|
||
Thu Sep 14 00:51:57 EDT 2000 John Wehle (john@feith.com)
|
||
|
||
* alias.c (memrefs_conflict_p): An ADDRESSOF doesn't
|
||
conflict with frame_pointer_rtx.
|
||
|
||
2000-09-13 Kazu Hirata <kazu@hxi.com>
|
||
|
||
* loop.c: Fix formatting.
|
||
* loop.h: Likewise.
|
||
|
||
2000-09-13 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/ia64/ia64.md (divsf3): New.
|
||
(divsf3_internal_lat, divsf3_internal_thr): New.
|
||
(divdf3, divdf3_internal_lat, divdf3_internal_thr): New.
|
||
(divtf3, divtf3_internal_lat, divtf3_internal_thr): New.
|
||
(adddf3_trunc, subdf3_trunc, muldf3_trunc): New.
|
||
(madddf4_trunc, msubdf4_trunc, nmuldf3_trunc): New.
|
||
(nmadddf4_alts, nmadddf4_trunc): New.
|
||
(addtf3_truncsf, addtf3_truncdf, subtf3_truncsf): New.
|
||
(subtf3_truncdf, multf3_truncsf, multf3_truncdf): New.
|
||
(multf3_truncsf_alts, multf3_truncdf_alts): New.
|
||
(maddtf4_truncsf, maddtf4_truncdf, maddtf4_alts_truncdf): New.
|
||
(msubtf4_truncsf, msubtf4_truncdf, nmultf3_truncsf): New.
|
||
(nmultf3_truncdf, nmaddtf4_truncsf, nmaddtf4_truncdf): New.
|
||
(nmaddtf4_truncdf_alts): New.
|
||
(recip_approx): Don't predicate.
|
||
|
||
2000-09-13 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/ia64/lib1funcs.asm (__divsf3): Protect fnorm.s with p6.
|
||
|
||
2000-09-13 Stephane Carrez <Stephane.Carrez@worldnet.fr>
|
||
|
||
* flags.h (flag_dump_rtl_in_asm): Declare.
|
||
* toplev.c (flag_dump_rtl_in_asm): Define.
|
||
(decode_d_option): Set flag_dump_rtl_in_asm and flag_print_asm_name
|
||
if -dP is specified.
|
||
* rtl.h (print_rtx_head): Declare.
|
||
* print-rtl.c (print_rtx_head): Define.
|
||
(print_rtx): Print the string pointed to by print_rtx_head
|
||
at beginning of each dump line.
|
||
(print_rtl): Likewise.
|
||
(print_rtl_single): Likewise.
|
||
* final.c (final_scan_insn): Dump the insn in the assembly
|
||
file for debugging.
|
||
* gcc.1: Document -dP option.
|
||
* invoke.texi (Debugging Options): Likewise.
|
||
|
||
2000-09-13 Stephane Carrez <Stephane.Carrez@worldnet.fr>
|
||
|
||
* md.texi (Machine Constraints): Document the 68HC11 constraints.
|
||
* install.texi (Configurations): Document the 68HC11&68HC12 port.
|
||
* invoke.texi (Option Summary, M68hc1x Options): Document the options.
|
||
|
||
Tue Sep 12 13:51:13 2000 Denis Chertykov <denisc@overta.ru>
|
||
|
||
* config/avr/avr.h (ASSEMBLER_DIALECT): New macro declared.
|
||
* config/avr/avr.md (*movstrqi_insn): Cleanup output template.
|
||
(*clrstrqi): Likewise.
|
||
(xorhi3,xorsi3,absqi2): Likewise.
|
||
(one_cmplhi2,one_cmplsi2): Likewise.
|
||
(addsi3): Two stupid constraint alternatives removed.
|
||
(extendhisi2): Use `movw' for enhanced avr cores.
|
||
(zero_extendhisi2): Likewise.
|
||
|
||
Wed Sep 13 02:31:23 EDT 2000 John Wehle (john@feith.com)
|
||
|
||
* alias.c (find_base_term): Use frame_pointer_rtx
|
||
when handling an ADDRESSOF.
|
||
|
||
* cse.c (canon_hash): Handle USE of BLKmode memory.
|
||
(cse_insn): Outgoing arguments for a libcall don't
|
||
affect any recorded expressions.
|
||
|
||
2000-09-12 Tom Tromey <tromey@cygnus.com>
|
||
|
||
* configure, config.in: Rebuilt.
|
||
* configure.in: Check for iconv, nl_langinfo, langinfo.h.
|
||
|
||
2000-09-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-lex.c (lex_string): Use charwidth to compute bytemask.
|
||
* expr.c (expand_expr): Don't optimize constant array references
|
||
initialized with wide string constants.
|
||
|
||
2000-09-13 Michael Hayes <mhayes@cygnus.com>
|
||
|
||
* loop.c (note_set_pseudo_multiple_uses): Correct.
|
||
|
||
2000-09-12 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* ifcvt.c (noce_process_if_block): If A and B are the same, and no
|
||
else block, and X has side-effects, then fail.
|
||
|
||
2000-09-12 Greg McGary <greg@mcgary.org>
|
||
|
||
* config/mips/mips-protos.h
|
||
(trap_cmp_op, mips_gen_conditional_trap): New func decls.
|
||
* config/mips/mips.h (ISA_HAS_COND_TRAP): New macro.
|
||
(PREDICATE_CODES): Add "trap_cmp_op".
|
||
* config/mips/mips.c
|
||
(trap_cmp_op, mips_gen_conditional_trap): New functions.
|
||
* config/mips/mips.md (trap, conditional_trap): New patterns.
|
||
|
||
2000-09-12 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* flow.c (try_pre_increment_1): Don't do anything to sets of the stack
|
||
pointer.
|
||
|
||
2000-09-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* builtins.c (built_in_decls): New array.
|
||
(expand_builtin_fputs): New function.
|
||
(expand_builtin): Handle BUILT_IN_FPUTC and BUILT_IN_FPUTS.
|
||
|
||
* builtins.def (BUILT_IN_FPUTC, BUILT_IN_FPUTS): New members.
|
||
|
||
* c-common.c (c_common_nodes_and_builtins): Handle fputc/fputs.
|
||
|
||
* tree.h (built_in_decls): New array.
|
||
|
||
Tue Sep 12 08:53:57 2000 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* convex.md: Use "+" instead of "=" for outputs wrapped in a
|
||
STRICT_LOW_PART.
|
||
* i370.md, i386.md, ns32k.md, sh.md, vax.md: Likewise.
|
||
|
||
2000-09-12 Kazu Hirata <kazu@hxi.com>
|
||
|
||
* haifa-sched.c: Fix formatting.
|
||
|
||
* genattrtab.c: Fix formatting.
|
||
|
||
* unroll.c: Fix formatting.
|
||
|
||
2000-09-12 Bruce Korb <bkorb@gnu.org>
|
||
|
||
* fixinc/fixfixes.c: make a type for the fix procedure & use it,
|
||
remove obsolete code
|
||
* fixinc/fixincl.c: Use PARAMS, not _P_. Add no-op default to switch.
|
||
* fixinc/fixincl.tpl: make non-exported arrays static scope
|
||
* fixinc/fixincl.x: regenerate
|
||
* fixinc/fixlib.h: Use PARAMS, not _P_
|
||
* fixinc/fixtests.c: make a type for the test proc & use it
|
||
* fixinc/server.h: Use PARAMS, not _P_
|
||
|
||
2000-09-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* c-typeck.c (process_init_element): Avoid union init warnings on
|
||
floating point zero. Don't crash on unions containing structs.
|
||
|
||
2000-09-12 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* config/sh/sh.h (PREDICATE_CODES): Add CONST_DOUBLE to
|
||
general_movsrc_operand, and remove CONST_INT from
|
||
general_movdst_operand.
|
||
|
||
2000-09-12 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* cse.c (approx_reg_cost): If SMALL_REGISTER_CLASSES, return INT_MAX
|
||
if a reference to non-fixed hardreg is seen. Otherwise, count hard
|
||
regs with a higher cost.
|
||
(preferrable): Deal with cases where either cost or regcost is
|
||
MAX_COST.
|
||
(cse_insn): Use MAX_COST rather than 10000. Always initialize
|
||
regcost values.
|
||
(COSTS_N_INSNS): Move definition...
|
||
* rtl.h: ...here.
|
||
(MAX_COST): New macro.
|
||
* loop.c (init_loop): Use COSTS_N_INSNS macro instead of hardcoded
|
||
constant.
|
||
|
||
2000-09-11 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* c-common.h (genrtl_clear_out_block): Remove.
|
||
* c-semantics.c (genrtl_clear_out_block): Remove.
|
||
(genrtl_while_stmt): Don't call it.
|
||
(genrtl_for_stmt): Likewise.
|
||
|
||
2000-09-11 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* cppfiles.c: Move all default-#defines to top of file.
|
||
(open_include_file): Replace by lookup_include_file.
|
||
(read_with_read, read_file): Merged into read_include_file.
|
||
(stack_include_file, purge_cache): New functions.
|
||
(close_cached_fd): Delete.
|
||
(lookup_include_file, read_include_file, _cpp_pop_file_buffer):
|
||
Cache the in-memory buffer, not the file descriptor.
|
||
|
||
* cpphash.h (struct include_file): Add buffer, st, refcnt,
|
||
mapped fields.
|
||
(xcnew): New utility macro.
|
||
(DO_NOT_REREAD, NEVER_REREAD): Move up by struct include_file.
|
||
* cpplib.h (struct cpp_buffer): Remove mapped field.
|
||
|
||
2000-09-11 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* cpplex.c (parse_string): Accept backslash space newline as a
|
||
line continuation.
|
||
(lex_line): Likewise.
|
||
(_cpp_get_token): Remove hard limit on macro nesting.
|
||
|
||
2000-09-12 Philipp Thomas <pthomas@suse.de>
|
||
|
||
* aclocal.m4 (AM_WITH_NLS): Don't force use of included gettext.
|
||
* configure: Rebuilt.
|
||
|
||
2000-09-13 Michael Hayes <mhayes@cygnus.com>
|
||
|
||
* flow.c (split_block): Fix update of registers live at
|
||
end of split block.
|
||
|
||
Tue Sep 12 01:51:38 MET DST 2000 Jan Hubicka <jh@suse.cz>
|
||
|
||
* i386.md (add?i_3, add?i_5): New.
|
||
(add?i_4): Rename from add?i_3; Fix compare pattern.
|
||
(sub?i_3, xor?i_3, ior?i_3): New.
|
||
|
||
* genrecog.c (write_tree): Output code to clear insn_extract cache.
|
||
* genattrtab.c (write_attr_case): Gen call to extract_insn_cache
|
||
instead of extract_insn and extract_constrain_insn_cache instead of
|
||
extract_insn and constrain_operands.
|
||
* recog.c (extract_insn_cached, extract_constrain_insn_cached):
|
||
New functions.
|
||
(extract_insn): Clear which_alternative.
|
||
(constrain_operands): Set which_alternative to -1 when failed.
|
||
* recog.h (extract_constrain_insn_cached, extract_insn_cached):
|
||
Declare.
|
||
|
||
2000-09-11 Matthew Hiller <hiller@redhat.com>
|
||
|
||
* config/h8300/h8300.md (movstrictqi): Changed constraint modifier
|
||
on operand 0 to '+'.
|
||
(movstricthi): Likewise.
|
||
|
||
2000-09-12 Michael Hayes <mhayes@cygnus.com>
|
||
|
||
* loop.h (LOOP_IVS): New macro.
|
||
(REG_IV_TYPE, REG_IV_INFO): Add ivs argument.
|
||
(struct loop_ivs): New.
|
||
(struct loop_info): Add ivs field.
|
||
(reg_iv_type, reg_iv_info): Delete prototype.
|
||
(reg_biv_class, loop_iv_list): Likewise.
|
||
* loop.c (record_biv, find_life_end): Pass loop argument.
|
||
(reg_iv_type): Remove global array and use
|
||
field in loop_regs structure within loop_ivs structure.
|
||
(reg_iv_info, reg_biv_class, loop_iv_list): Likewise.
|
||
(first_increment_giv, last_increment_giv): Use entry in
|
||
loop_ivs structure.
|
||
(record_initial): Pass ivs pointer.
|
||
* unroll.c (copy_loop_body, remap_split_bivs): Add loop argument.
|
||
|
||
2000-09-12 Michael Hayes <mhayes@cygnus.com>
|
||
|
||
* loop.h (LOOP_REGS): New macro.
|
||
(struct loop_regs): New.
|
||
(struct loop_info): Add regs field.
|
||
* loop.c (set_in_loop): Remove global array and store
|
||
in loop_regs structure as part of loop_info structure.
|
||
(n_times_set, may_not_optimize): Likewise.
|
||
(reg_single_usage, moved_once): Likewise.
|
||
(count_one_set): Add regs argument.
|
||
(combine_movables, rtx_equal_for_loop_p, combine_givs): Likewise.
|
||
(set_pseudo_multiple_uses): Pass regs pointer.
|
||
|
||
2000-09-12 Michael Hayes <mhayes@cygnus.com>
|
||
|
||
* unroll.c (iteration_info): Subsume into loop_iterations.
|
||
* loop.h (loop_info): New field iv.
|
||
|
||
2000-09-12 Michael Hayes <mhayes@cygnus.com>
|
||
|
||
* basic-block.h (LOOP_TREE, LOOP_PRE_HEADER, LOOP_EDGES): New.
|
||
(LOOP_EXITS_DOMS, LOOP_ALL): Likewise.
|
||
(flow_loops_update): New prototype.
|
||
(flow_loops_find): Add flags to prototype.
|
||
(struct loop): Add `pre_header_root' and `pre_header_trace' fields.
|
||
* flow.c (flow_loop_pre_header_scan): New.
|
||
(flow_loop_dump): Dump pre-header root and trace and exit dominators.
|
||
(flow_loop_free): Free pre-header root and trace and exit dominators.
|
||
(flow_loops_find): New argument flags.
|
||
(flow_loops_update): New function.
|
||
* toplev.c (rest_of_compilation): Add flag argument to flow_loops_find.
|
||
|
||
2000-09-12 Michael Hayes <mhayes@cygnus.com>
|
||
|
||
* basic-block.h (split_block, update_bb_for_insn): New prototypes.
|
||
* flow.c (split_block, update_bb_for_insn): New functions.
|
||
|
||
2000-09-11 Richard Henderson <rth@cygnus.com>
|
||
|
||
* cse.c (fold_rtx): Honor NO_FUNCTION_CSE.
|
||
|
||
2000-09-11 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/ia64/ia64-protos.h (fr_nonimmediate_operand): Declare.
|
||
* config/ia64/ia64.c (fr_nonimmediate_operand): New.
|
||
(ia64_override_options): Prevent optimizing division for both
|
||
latency and throughput.
|
||
(rtx_needs_barrier): Handle frcpa.
|
||
* config/ia64/ia64.h (MASK_INLINE_DIV_LAT): New.
|
||
(MASK_INLINE_DIV_THR, TARGET_INLINE_DIV_LAT): New.
|
||
(TARGET_INLINE_DIV_THR, TARGET_INLINE_DIV): New.
|
||
(TARGET_SWITCHES): Add -minline-divide-min-latency and
|
||
-minline-divide-max-throughput.
|
||
(PREDICATE_CODES): Update.
|
||
* config/ia64/ia64.md (extendsidi2): Remove * from f case.
|
||
(zero_extendsidi2): Likewise. Fix typo in f case insn.
|
||
(extendsfdf2): Add cases for gr<->fr and fr<->mem.
|
||
(extendsftf2): Likewise.
|
||
(extenddftf2): Likewise.
|
||
(fix_trunctfdi2_alts): New.
|
||
(fixuns_trunctfdi2_alts): New.
|
||
(madd*4): Rename from madd*3.
|
||
(divsi3, modsi3, udivsi3, umodsi3): New.
|
||
(divsi3_internal): New.
|
||
(divdi3, moddi3, udivdi3, umoddi3): New.
|
||
(divdi3_internal_lat, divdi3_internal_thr): New.
|
||
(multf3_alts, maddtf4_alts, nmaddtf4_alts): New.
|
||
(recip_approx): New.
|
||
|
||
2000-09-11 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* print-rtl.c (debug_call_placeholder_verbose): New variable.
|
||
(print_rtx) [CALL_PLACEHOLDER]: Dump all call sequences if it is
|
||
set.
|
||
* integrate.c (copy_rtx_and_substitute): Don't share
|
||
LEAF_REG_REMAPpable registers with the inlined function. Don't
|
||
share the function value with calling sequences.
|
||
|
||
2000-09-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-decl.c (do_case): Fix a typo.
|
||
|
||
* combine.c (simplify_if_then_else): Don't convert a == b ? b : a
|
||
to a if the comparison is floating mode and not -ffast-math.
|
||
* simplify-rtx.c (simplify_ternary_operation): Likewise.
|
||
|
||
Mon Sep 11 20:07:48 2000 J"orn Rennecke <amylaar@redhat.co.uk>
|
||
|
||
* sh.h (INITIALIZE_TRAMPOLINE): Remove stray call to
|
||
gen_ic_invalidate_line.
|
||
|
||
2000-09-11 Philip Blundell <pb@futuretv.com>
|
||
|
||
* config/arm/elf.h (SUBTARGET_CPP_SPEC): Don't define `arm_elf'.
|
||
|
||
Mon Sep 11 10:48:41 2000 Ulrich Drepper <drepper@redhat.com>
|
||
|
||
* install.texi (LANGUAGES): Update to include new languages.
|
||
* INSTALL: Rebuilt.
|
||
|
||
2000-09-11 DJ Delorie <dj@redhat.com>
|
||
|
||
* gcc.c (main): Don't warn about unused -B prefixes
|
||
(unused_prefix_warnings): remove
|
||
|
||
2000-09-11 Kazu Hirata <kazu@hxi.com>
|
||
|
||
* final.c: Fix formatting.
|
||
|
||
* integrate.c: Fix formatting.
|
||
|
||
2000-09-11 Geoff Keating <geoffk@cygnus.com>
|
||
|
||
* alias.c (memrefs_conflict_p): An ADDRESSOF does conflict, sorry.
|
||
|
||
2000-09-11 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* reload.c (regno_clobbered_p): Fix thinko in previous change.
|
||
|
||
2000-09-10 Stephane Carrez <Stephane.Carrez@worldnet.fr>
|
||
|
||
* gcc.1: Document 68hc11 specific options.
|
||
|
||
2000-09-10 Geoff Keating <geoffk@cygnus.com>
|
||
|
||
* config/rs6000/sysv4.h (MASK_LONG_DOUBLE_128): Define.
|
||
(TARGET_LONG_DOUBLE_128): Define.
|
||
(SUBTARGET_SWITCHES): Add -mlong-double-64 and -mlong-double-128.
|
||
(LONG_DOUBLE_TYPE_SIZE): Redefine.
|
||
(MAX_LONG_DOUBLE_TYPE_SIZE): Define.
|
||
(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define depending on definition
|
||
of __LONG_DOUBLE_128__.
|
||
(CPP_SYSV_SPEC): Define __LONG_DOUBLE_128__ if -mlong-double-128
|
||
passed.
|
||
(CPP_LONGDOUBLE_DEFAULT_SPEC): Define.
|
||
(CPP_SYSV_DEFAULT_SPEC): Define.
|
||
(SUBTARGET_EXTRA_SPECS): Add cpp_longdouble_default.
|
||
(INIT_TARGET_OPTABS): Define.
|
||
|
||
* config/rs6000/aix.h (RS6000_ITRUNC): Moved from rs6000.h.
|
||
(RS6000_UITRUNC): Likewise.
|
||
(INIT_TARGET_OPTABS): New macro.
|
||
* config/rs6000/rs6000.c (rs6000_trunc_used): Delete.
|
||
(trunc_defined): Delete.
|
||
(output_prolog): Don't output .extern definitions for fp->int
|
||
conversion routines, ASM_OUTPUT_EXTERNAL_LIBCALL will do it.
|
||
* config/rs6000/rs6000.h (rs6000_trunc_used): Delete.
|
||
(trunc_defined): Delete.
|
||
(RS6000_ITRUNC): Moved to aix.h.
|
||
(RS6000_UITRUNC): Likewise.
|
||
* config/rs6000/rs6000.md (fix_truncdfsi2): Fail if it would
|
||
only emit a libcall.
|
||
(fixuns_truncdfsi2): Delete.
|
||
(trunc_call): Delete.
|
||
(trunc_call_rtl): Delete.
|
||
|
||
2000-09-10 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* varasm.c (make_decl_rtl): Restore leading star on
|
||
DECL_ASSEMBLER_NAME set for decls with an asmspec.
|
||
|
||
2000-09-10 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* c-pragma.c (handle_pragma_pack): Correct parsing logic so it
|
||
won't give a spurious error for '#pragma pack()'. Simplify
|
||
control flow for readability. 'reset' action is not necessary.
|
||
|
||
2000-09-10 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* defaults.h: Provide default definitions for: CHAR_TYPE_SIZE,
|
||
SHORT_TYPE_SIZE, INT_TYPE_SIZE, LONG_TYPE_SIZE,
|
||
LONG_LONG_TYPE_SIZE, WCHAR_TYPE_SIZE, FLOAT_TYPE_SIZE,
|
||
DOUBLE_TYPE_SIZE, LONG_DOUBLE_TYPE_SIZE, and WCHAR_UNSIGNED.
|
||
|
||
* cppexp.c, dwarfout.c, dwarf2out.c, emit-rtl.c, final.c, optabs.c,
|
||
profile.c, sdbout.c, tradcif.y, tree.c:
|
||
Include defaults.h if not already included.
|
||
Don't define the above macros.
|
||
|
||
* Makefile.in: Update dependencies.
|
||
|
||
2000-09-10 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* c-common.h (add_stmt): Change prototype.
|
||
(RECHAIN_STMTS): New macro.
|
||
(CASE_LABEL_DECL): Likewise.
|
||
(genrtl_case_label): Change prototype.
|
||
(c_expand_start_case): Remove prototype.
|
||
(build_case_label): Change prototype.
|
||
(decl_constant_value): Declare.
|
||
* c-common.c (check_case_value): Handle C++'s extensions to C
|
||
semantics.
|
||
* c-commnon.def (CASE_LABEL): Add room for the CASE_LABEL_DECL
|
||
field.
|
||
* c-parse.in (stmt): Adjust handling of return statements and case
|
||
laels.
|
||
* c-semantics.c (add_stmt): Return the new statement.
|
||
(genrtl_return_stmt): Take the RETURN_STMT as input, not the
|
||
returned expression. Directly generate RTL, rather than calling
|
||
c_expand_return.
|
||
(genrtl_switch_stmt): Don't call c_expand_start_case.
|
||
(build_case_label): Take the LABEL_DECL as input, too.
|
||
(genrtl_case_label): Just call add_case_node.
|
||
(expand_stmt): Adjust calls to genrtl_return_stmt and
|
||
genrtl_case_label.
|
||
* c-tree.h (c_expand_start_case): Declare.
|
||
* c-typeck.c (decl_constant_value): Give it external linkage.
|
||
(c_expand_return): Don't call expand_return or expand_null_return;
|
||
use genrtl_return_stmt instead.
|
||
* stmt.c (struct nesting): Remove num_ranges field.
|
||
(add_case_node): Give it external linkage.
|
||
(expand_start_case): Don't set num_ranges.
|
||
(expand_start_case_dummy): Don't clear it.
|
||
(pushcase): Rely on add_case_node to handle `default' labels.
|
||
(add_case_node): Handle `default' labels.
|
||
* tree.c (tree_int_cst_compare): New function.
|
||
* tree.h (tree_int_cst_compare): Declare.
|
||
(add_case_node): Likewise.
|
||
|
||
2000-09-10 Richard Henderson <rth@cygnus.com>
|
||
|
||
* c-parse.in: Revert last change.
|
||
(init_reswords): Do not enter disabled keywords into the ridpointers
|
||
table, modulo objc weirdness.
|
||
(_yylex): Return the canonical spelling for a keyword.
|
||
|
||
2000-09-10 Philip Blundell <philb@gnu.org>
|
||
|
||
* config/arm/arm.h (CPP_ISA_SPEC): Don't define `arm' or `thumb'.
|
||
* config/arm/linux-elf.h (CPP_PREDEFINES): Don't define `__arm__'.
|
||
|
||
Sun Sep 10 14:30:28 EDT 2000 John Wehle (john@feith.com)
|
||
|
||
* alias.c (find_base_term): Handle ADDRESSOF.
|
||
(memrefs_conflict_p): An ADDRESSOF doesn't conflict.
|
||
|
||
2000-09-10 Denis Chertykov <denisc@overta.ru>
|
||
|
||
* genoutput.c (output_insn_data): Translate <NEWLINE> to \n\ while
|
||
outputting templates with many lines.
|
||
|
||
2000-09-10 Stephane Carrez <Stephane.Carrez@worldnet.fr>
|
||
|
||
* libgcc2.h: Use LONG_LONG_TYPE_SIZE instead of MIN_UNITS_PER_WORD
|
||
to decide whether 64-bit support must be generated.
|
||
|
||
2000-09-10 Richard Henderson <rth@cygnus.com>
|
||
|
||
* c-parse.in (asm patterns): Fix volatile check.
|
||
|
||
2000-09-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* cppmacro.c (check_trad_stringification): New function.
|
||
(save_expansion): If -Wtraditional, warn about stringification of
|
||
macro arguments.
|
||
|
||
2000-09-11 Michael Hayes <mhayes@cygnus.com>
|
||
|
||
* loop.h (struct loop_mem_info): Move from loop.c
|
||
(struct loop_info): Add fields store_mems, mems, mems_idx,
|
||
mems_allocated, unknown_address_altered,
|
||
unknown_constant_address_altered, num_mem_sets, and
|
||
first_loop_store_insn.
|
||
|
||
* loop.c (loop_store_mems): Replace with field in loop_info struct.
|
||
(loop_mems, loop_mems_idx, loop_mems_allocated): Likewise.
|
||
(unknown_address_altered, unknown_constant_address_altered): Likewise.
|
||
(num_mem_sets): Likewise.
|
||
(replace_loop_mems, replace_loop_regs): New.
|
||
(struct loop_replace_args): New.
|
||
(load_mems): Use replace_loop_mems.
|
||
(try_copy_prop): Use replace_loop_regs.
|
||
(replace_loop_reg, replace_loop_mem): Use loop_replace_args structure.
|
||
|
||
2000-09-09 Stephane Carrez <Stephane.Carrez@worldnet.fr>
|
||
|
||
* configure.in: Recognize m6811-elf and m6812-elf.
|
||
* configure: Regenerate.
|
||
|
||
2000-09-09 Geoff Keating <geoffk@cygnus.com>
|
||
|
||
* recog.c (validate_replace_rtx_1): Correct MODE parameter in call
|
||
to operand_subword.
|
||
|
||
2000-09-10 Michael Hayes <mhayes@cygnus.com>
|
||
|
||
* loop.c (struct movables): New.
|
||
(num_movables): Move into struct movables.
|
||
(the_movables): Change type to struct movables.
|
||
(ignore_some_movables): Change struct movable arg to struct movables.
|
||
(force_movables, combine_movables, regs_match_p): Likewise.
|
||
(rtx_equal_for_loop_p, move_movables): Likewise.
|
||
(scan_loop): Change movables to be of type struct movables.
|
||
Replace last_movable with field in movables structure.
|
||
|
||
2000-09-08 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* c-pragma.c: Don't elide entire file if !HANDLE_GENERIC_PRAGMAS.
|
||
(init_pragma): Avoid warning if pfile happens to be unused.
|
||
* c-pragma.h: Never define HANDLE_GENERIC_PRAGMAS. Never
|
||
define init_pragma to nothing. Always prototype
|
||
init_pragma. Prototype dispatch_pragma if !USE_CPPLIB.
|
||
|
||
* c-lex.c (process_directive): Always call dispatch_pragma.
|
||
Initialize entering_c_header to 0.
|
||
|
||
2000-09-08 Stephane Carrez <Stephane.Carrez@worldnet.fr>
|
||
|
||
* config/m68hc11/m68hc11.md: New file, machine description for
|
||
68HC11 & 68HC12.
|
||
* config/m68hc11/m68hc11.h: New file, definitions for 68HC11 & 68HC12.
|
||
* config/m68hc11/m68hc11.c: New file, functions for 68HC11 & 68HC12.
|
||
* config/m68hc11/m68hc12.h: New file, definitions for 68HC12.
|
||
* config/m68hc11/m68hc11-protos.h: New file.
|
||
* config/m68hc11/m68hc11-crt0.S: New file, startup code.
|
||
* config/m68hc11/t-m68hc11-gas: New file, makefile fragment.
|
||
* config/m68hc11/xm-m68hc11.h: New file, target defs.
|
||
* config/m68hc11/larith.asm: New file, libgcc routines.
|
||
|
||
2000-09-08 Stephane Carrez <Stephane.Carrez@worldnet.fr>
|
||
|
||
* Makefile.in (DPBIT_FUNCS): Add _usi_to_df.
|
||
(FPBIT_FUNCS): Add _usi_to_sf.
|
||
* config/fp-bit.c (usi_to_float): New function.
|
||
* config/fp-bit.h (L_usi_to_sf, L_usi_to_df): Define.
|
||
(usi_to_float): Add appropriate #define.
|
||
|
||
2000-09-08 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* i386-protos.h (sse_comparison_operator, mmx_reg_operand): Declare
|
||
new functions.
|
||
* i386.c (sse_comparison_operator, mmx_reg_operand): New functions.
|
||
* i386.md (attr "type"): Add sse and mmx types.
|
||
(attr "memory"): Handle them without a crash.
|
||
(movsi_1, movdi_2): Allow MMX regs.
|
||
(movdi splits): Don't split moves involving MMX regs.
|
||
(setcc_4): Remove '*' from pattern name so we get a gen_setcc4.
|
||
(movv4sf_internal, movv4si_internal, movv8qi_internal,
|
||
movv4hi_internal, movv2si_internal, movv8qi, movv4hi, movv2si,
|
||
movv4sf, movv4si, pushv4sf, pushv4si, pushv8qi, pushv4hi, pushv2si,
|
||
sse_movaps, sse_movups, sse_movmskps, mmx_pmovmskb, mmx_maskmovq,
|
||
sse_movntv4sf, sse_movntdi, sse_movhlps, sse_movlhps, sse_movhps,
|
||
sse_movlps, sse_loadss, sse_movss, sse_storess, sse_shufps,
|
||
addv4sf3, vmaddv4sf3, subv4sf3, vmsubv4sf3, mulv4sf3, vmmulv4sf3,
|
||
divv4sf3, vmdivv4sf3, rcpv4sf2, vmrcpv4sf2, rsqrtv4sf2, vmrsqrtv4sf2,
|
||
sqrtv4sf2, vmsqrtv4sf2, sse_andti3, sse_nandti3, sse_iorti3,
|
||
sse_xorti3, maskcmpv4sf3, maskncmpv4sf3, vmmaskcmpv4sf3,
|
||
vmmaskncmpv4sf3, sse_comi, sse_ucomi, sse_unpckhps, sse_unpcklps,
|
||
smaxv4sf3, vmsmaxv4sf3, sminv4sf3, vmsminv4sf3, cvtpi2ps, cvtps2pi,
|
||
cvttps2pi, cvtsi2ss, cvtss2si, cvttss2si, addv8qi3, addv4hi3,
|
||
addv2si3, ssaddv8qi3, ssaddv4hi3, usaddv8qi3, usaddv4hi3, subv8qi3,
|
||
subv4hi3, subv2si3, sssubv8qi3, sssubv4hi3, ussubv8qi3, ussubv4hi3,
|
||
mulv4hi3, smulv4hi3_highpart, umulv4hi3_highpart, mmx_pmaddwd,
|
||
mmx_iordi3, mmx_xordi3, mmx_anddi3, mmx_nanddi3, mmx_uavgv8qi3,
|
||
mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw, mmx_pshufw,
|
||
eqv8qi3, eqv4hi3, eqv2si3, gtv8qi3, gtv4hi3, gtv2si3, umaxv8qi3,
|
||
smaxv4hi3, uminv8qi3, sminv4hi3, ashrv4hi3, ashrv2si3, lshrv4hi3,
|
||
lshrv2si3, mmx_lshrdi3, ashlv4hi3, ashlv2si3, mmx_ashldi3,
|
||
mmx_packsswb, mmx_packssdw, mmx_packuswb, mmx_punpckhbw,
|
||
mmx_punpckhwd, mmx_punpckhdq, mmx_punpcklbw, mmx_punpcklwd,
|
||
mmx_punpckldq, emms, sfence, ldmxcsr, prefetch, stmxcsr, sse_clrti,
|
||
mmx_clrdi): New patterns.
|
||
|
||
2000-09-08 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* arm.c: Don't include tm.h directly.
|
||
|
||
Fri Sep 8 14:34:56 MET DST 2000 Jan Hubicka <jh@suse.cz>
|
||
|
||
* recog.c (validate_replace_rtx_1): Fix confusion about equality
|
||
testing; simplify subregs of constants and nested subregs.
|
||
|
||
2000-09-08 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* config/sh/sh.md (symPLT_label2reg): Use operand3 for PIC reg.
|
||
|
||
2000-09-08 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* combine.c (combine_simplify_rtx): Try to simplify VEC_SELECT of a
|
||
VEC_CONCAT.
|
||
* rtl.texi (description of USE): Add note about possible pitfalls
|
||
with this rtx.
|
||
From Richard Henderson:
|
||
* reload1.c (choose_reload_regs): Compute need_mode properly.
|
||
|
||
2000-09-07 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/ia64/lib1funcs.asm (__divsi3): Use .s1 for frcpa.
|
||
(__modsi3, __umodsi3): Likewise.
|
||
(__udivsi3): Likewise. Normalize the TFmode values.
|
||
|
||
2000-09-07 Geoff Keating <geoffk@cygnus.com>
|
||
|
||
* config/rs6000/sol-c0.c (_start): Declare `termfunc' parameter
|
||
with a prototype.
|
||
* config/rs6000/rs6000.h (RS6000_ARG_SIZE): Use cast to suppress
|
||
warning.
|
||
|
||
Fri Sep 8 03:26:38 2000 J"orn Rennecke <amylaar@redhat.co.uk>
|
||
|
||
* sh.md (cmpeqsi_ior_t, cmpeqsi_and_t): Remove.
|
||
(cmpeqdi_t): Add output pattern.
|
||
(cmpeqdi_t+1): Don't split when not optimizing.
|
||
Restore proper splitting operation.
|
||
|
||
2000-09-07 Richard Henderson <rth@cygnus.com>
|
||
|
||
* c-lex.c (process_directive): If not HANDLE_GENERIC_PRAGMAS,
|
||
do not call dispatch_pragma.
|
||
|
||
2000-09-07 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* reload.c (push_reload): Use CLASS_CANNOT_CHANGE_MODE_P in addition
|
||
to CLASS_CANNOT_CHANGE_MODE.
|
||
* config/ia64/ia64.h (CLASS_CANNOT_CHANGE_MODE_P): True only if the
|
||
mode classes are different.
|
||
|
||
2000-09-07 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* cpplib.h (struct cpp_options): Add user_label_prefix member,
|
||
left out of commit which removed cppulp.c.
|
||
|
||
2000-09-07 Richard Henderson <rth@cygnus.com>
|
||
|
||
* bb-reorder.c (fixup_reorder_chain): Add jump in new block
|
||
after switch for CASE_DROPS_THROUGH.
|
||
|
||
2000-09-07 Richard Henderson <rth@cygnus.com>
|
||
|
||
* loop.c (strength_reduce): Call check_ext_dependant_givs.
|
||
Properly extend the biv initial value for the giv.
|
||
(record_biv): Zero ext_dependant.
|
||
(record_giv): New argument ext_val. Update all callers.
|
||
(general_induction_var): Likewise.
|
||
(consec_sets_giv): Likewise.
|
||
(simplify_giv_expr): Likewise. Fill in ext_val if we find
|
||
a sign-extend, zero-extend, or truncate.
|
||
(combine_givs_p): Make sure modes are compatible.
|
||
(check_ext_dependant_givs): New.
|
||
(extend_value_for_giv): New.
|
||
* loop.h (struct induction): Add ext_dependant.
|
||
* unroll.c (iteration_info): Extend the biv initial value for the giv.
|
||
(find_splittable_givs): Likewise.
|
||
(final_giv_value): Likewise.
|
||
|
||
2000-09-07 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* c-pragma.h: Define HANDLE_GENERIC_PRAGMAS if
|
||
REGISTER_TARGET_PRAGMAS is defined. Duplicate some
|
||
definitions from cpplib.h.
|
||
* cpplib.h: Don't typedef struct cpp_reader if c-pragma.h has
|
||
already done it.
|
||
* tm.texi: Document HANDLE_PRAGMA as no longer supported. Add
|
||
documentation for REGISTER_TARGET_PRAGMAS.
|
||
|
||
* c-lex.c: Include cpplib.h before c-pragma.h. Define a
|
||
default-pragma callback to implement -Wunknown-pragmas if
|
||
USE_CPPLIB.
|
||
* c-parse.in: Move all includes to top of file.
|
||
* c-pragma.c: Include cpplib.h before c-pragma.h. Include
|
||
tm_p.h.
|
||
(dispatch_pragma): Put the namespace in the -Wunknown-pragmas
|
||
warning.
|
||
(init_pragma): If REGISTER_TARGET_PRAGMAS is defined, call it.
|
||
|
||
* arm.h, arm-protos.h, arm.c,
|
||
c4x.h, c4x-protos.h, c4x.c,
|
||
h8300.h, h8300-protos.h, h8300.c,
|
||
i370.h, i370-protos.h, i370.c,
|
||
i960.h, i960-protos.h, i960.c,
|
||
sh.h, sh-protos.h, sh.c,
|
||
v850.h, v850-protos.h, v850.c: Convert HANDLE_PRAGMA-based
|
||
pragmata scheme to use REGISTER_TARGET_PRAGMAS instead.
|
||
|
||
* d30v.h: Don't mention HANDLE_PRAGMA in comment. Add
|
||
multiple include guard.
|
||
* i370.md (untyped_call): Use GEN_CALL.
|
||
(umodsi3): Remove unused variable.
|
||
* sh/elf.h: Don't undef HANDLE_SYSV_PRAGMA.
|
||
* v850.c (output_move_single, output_move_double): Constify
|
||
return value.
|
||
(print_operand): Constify a char *.
|
||
* v850.h (struct small_memory_info): Constify name member.
|
||
|
||
2000-09-07 Kazu Hirata <kazu@hxi.com>
|
||
|
||
* config/h8300.h: Fix comment typos.
|
||
* config/h8300/h8300.md: Likewise.
|
||
* config/h8300/lib1funcs.asm: Likewise.
|
||
|
||
Thu 07-Sep-2000 21:29:00 BST Neil Booth <NeilB@earthling.net>
|
||
|
||
* Makefile.in: Remove references to cppulp.{c,o}.
|
||
* cppinit.c (initialize_builtins, cpp_start_read,
|
||
cpp_handle_option): Update to use cpp_options structure.
|
||
* cppulp.c: Remove.
|
||
|
||
2000-09-07 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (time_char_table): Allow %#b and %#h.
|
||
|
||
2000-09-07 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
|
||
|
||
* reorg.c (find_end_label): If the basic block reorder pass moves the
|
||
return insn to some other place try to locate it again and put our
|
||
end_of_function_label there.
|
||
* reorg.c (relax_delay_slots): Check if find_end_label created a
|
||
new label that invalidates the current optimazation.
|
||
|
||
2000-09-07 Catherine Moore <clm@redhat.com>
|
||
|
||
* unroll.c (unroll_loop): Check for unconditional jumps
|
||
to loop continuation. Delete if n_iterations is 1.
|
||
(ujump_to_loop_cont): New routine.
|
||
|
||
2000-09-07 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* rtl.c (class_narrowest_mode): Add entries for MODE_VECTOR_INT and
|
||
MODE_VECTOR_FLOAT.
|
||
* reload.c (regno_clobbered_p): Accept new arg, MODE, and use it
|
||
to handle multiword modes correctly. All callers and the declaration
|
||
changed.
|
||
|
||
2000-09-06 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* c-common.h (prep_stmt): Declare.
|
||
(lang_expand_stmt): Likewise.
|
||
* c-decl.c (lang_expand_stmt): Remove.
|
||
* c-semantics.c (lang_expand_stmt): Define.
|
||
(prep_stmt): New function.
|
||
(expand_stmt): Handle common statement types here.
|
||
|
||
2000-09-07 Niibe Yutaka <gniibe@m17n.org>, Kaz Kojima <kkojima@rr.iij4u.or.jp>, Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* configure.in (sh-*-linux*): Added.
|
||
* configure: Rebuilt.
|
||
* config/sh/t-linux: New file.
|
||
* config/sh/sh.h (USERMODE_BIT): Define.
|
||
(TARGET_USERMODE): Likewise.
|
||
(TARGET_SWITCHES): New switches for the bits above.
|
||
(INITIALIZE_TRAMPOLINE): Call __ic_invalidate in USERMODE.
|
||
* config/sh/linux.h: New file.
|
||
* config/sh/lib1funcs.asm (GLOBAL): Don't prefix symbols with
|
||
underscore on linux.
|
||
(L_sdivsi3, L_udivsi3): Define for linux.
|
||
(L_ic_invalidate): Define.
|
||
* invoke.texi (SH Options): Document -musermode.
|
||
|
||
2000-09-07 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* config/sh/sh.h (OVERRIDE_OPTIONS): Don't disable function
|
||
CSE unless generating PIC.
|
||
|
||
* config/sh/sh.md (symPLT_label2reg): Force the initialization of
|
||
the PIC register.
|
||
|
||
2000-09-06 H.J. Lu (hjl@gnu.org)
|
||
|
||
* Makefile.in (clean_s1): Depend on stage_b.
|
||
(clean_s2): Depend on stage_d. Don't remove $(VOL_FILES) in
|
||
stage2. They are used for "make compare".
|
||
|
||
2000-09-06 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
Move statement-tree facilities from C++ to C front-end.
|
||
* c-common.h (c_tree_index): Add CTI_VOID_ZERO.
|
||
(void_zero_node): New macro.
|
||
(struct stmt_tree_s): New type.
|
||
(stmt_tree): New typedef.
|
||
(struct language_function): New type.
|
||
(last_tree): New macro.
|
||
(last_expr_type): Likewise.
|
||
(walk_tree_fn): New typedef.
|
||
(current_stmt_tree): New function.
|
||
(begin_stmt_tree): Likewise.
|
||
(add_stmt): Likewise.
|
||
(finish_stmt_tree): Likewise.
|
||
(statement_code_p): Likewise.
|
||
(lang_statement_code_p): New variable.
|
||
(walk_stmt_tree): New function.
|
||
(STMT_IS_FULL_EXPR_P): New macro.
|
||
* c-common.c (lang_statement_code_p): New variable.
|
||
(c_common_nodes_and_builtins): Initialize void_zero_node.
|
||
(statement_code_p): New function.
|
||
(walk_stmt_tree): Likewise.
|
||
* c-decl.c (language_function): Rename to ...
|
||
(c_language_function): ... this. Include language_function.
|
||
(push_c_function_context): Adjust accordingly.
|
||
(pop_c_function_context): Likewise.
|
||
(mark_c_function_context): Likewise.
|
||
(current_stmt_tree): Define.
|
||
* c-semantics.c (begin_stmt_tree): New function.
|
||
(add_stmt): Likewise.
|
||
(prune_unused_decls): Likewise.
|
||
(finish_stmt_tree): Likewise.
|
||
|
||
2000-09-06 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
|
||
|
||
* flow.c (insn_dead_p): Detect dead memory stores with auto increments.
|
||
|
||
2000-09-06 Kazu Hirata <kazu@hxi.com>
|
||
|
||
* calls.c: Fix formatting.
|
||
|
||
2000-09-06 Graham Stott <grahams@cygnus.co.uk>
|
||
|
||
* config/i386/i386.h (ADDRESS_COST): Fix typo.
|
||
|
||
2000-09-06 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
Integrated preprocessor.
|
||
|
||
* Makefile.in: Remove all references to c-parse.gperf,
|
||
c-gperf.h, and c-parse.h. Remove -d from yacc command line
|
||
generating c-parse.c. Update dependencies.
|
||
* c-parse.gperf, c-gperf.h: Delete.
|
||
|
||
* c-common.c: Don't define parse_options, cpp_token, yy_cur,
|
||
yy_lim, or yy_get_token. Don't define get_directive_line if
|
||
USE_CPPLIB.
|
||
* c-common.h: Add multiple include guard. Define RID values
|
||
for every keyword in C, C++, and Objective C. Put all the
|
||
modifiers first.
|
||
(struct c_fileinfo, get_fileinfo, dump_time_statistics): New.
|
||
* c-decl.c (c_decode_option): Handle -lang-objc here.
|
||
(print_lang_identifier): Handle C_IS_RESERVED_WORD case.
|
||
(grokdeclarator): Adjust for new RID scheme.
|
||
(extract_interface_info): New stub.
|
||
* c-lang.c: Don't declare yy_cur or parse_options.
|
||
(lang_init_options): Call cpp_init. Don't call
|
||
cpp_options_init.
|
||
(lang_init): Don't call check_newline if USE_CPPLIB.
|
||
|
||
* c-lex.c: Don't include c-parse.h. Do include timevar.h.
|
||
Elide lots of unnecessary code if USE_CPPLIB. Delete code
|
||
rendered unnecessary by new architecture. Move routines not
|
||
shared with C++ to c-parse.in. Maintain a local idea of the
|
||
line number. Handle C++ as well as C.
|
||
[USE_CPPLIB]: Declare and register callbacks for #ident and
|
||
for entering/leaving files.
|
||
(init_c_lex, c_lex): Are now the entry points to this file.
|
||
(check_newline): Break out directive handling to
|
||
process_directive.
|
||
(read_ucs, is_extended_char, utf8_extend_token): Moved here
|
||
from C++ front end.
|
||
(readescape, parse_float): Overhaul.
|
||
(lex_number, lex_string, lex_charconst): Break out of c_lex
|
||
(n'ee yylex).
|
||
(get_fileinfo, update_header_times, dump_one_header,
|
||
dump_time_statistics): New and/or moved here from C++.
|
||
Support per-file data needed by C++ and per-header timing
|
||
statistics (C++ only, at the moment).
|
||
* c-lex.h: Update prototypes. Add multiple include guard.
|
||
* c-tree.h (struct lang_identifier): Add rid_code field.
|
||
(C_IS_RESERVED_WORD, C_RID_CODE): New.
|
||
|
||
* c-parse.in: Include c-pragma.h. Remove unnecesary calls to
|
||
reinit_parse_for_function and/or position_after_white_space.
|
||
(save_filename, save_lineno): Look ahead before saving.
|
||
(label -> identifier ':'): Save file and line before shifting ':'.
|
||
(reservedwords): No need to call get_identifier.
|
||
(init_parse, finish_parse, yyerror, yylex, yyprint,
|
||
make_pointer_declarator): Are now here for C/ObjC.
|
||
(rid_to_yy): Conversion table from RID constants to Yacc codes.
|
||
|
||
* c-pragma.c: Rewrite parsing logic to fit with cpplib's
|
||
#pragma registry. Provide dummy implementation of that
|
||
interface if !USE_CPPLIB.
|
||
* c-pragma.h: Update to match.
|
||
|
||
* flags.h: Add multiple include guard.
|
||
(flag_detailed_statistics): Moved here from C++.
|
||
* toplev.c: Define flag_detailed_statistics.
|
||
|
||
* gcc.c (C specs): Use %(trad_capable_cpp) for -E|-M|-MM case
|
||
#if USE_CPPLIB.
|
||
* timevar.def (TV_CPP, TV_LEX): New.
|
||
* timevar.h: Add multiple include guard.
|
||
|
||
* objc/lang-specs.h: Use %(trad_capable_cpp) for -E|-M|-MM case
|
||
#if USE_CPPLIB.
|
||
* objc/objc-act.c: Don't mention yy_cur or parse_options.
|
||
Initialize cpplib properly. Force lineno to 0 after first
|
||
call to check_newline. Don't handle -lang-objc here.
|
||
Move forget_protocol_qualifiers and remember_protocol_qualifiers here.
|
||
|
||
2000-09-06 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* rs6000.md: Correct function unit definitions for cr_logical and
|
||
mtjmpr.
|
||
(sCOND): Additionally fail for sgt, slt, sge, sle if !TARGET_POWER
|
||
and use portable method for >=0 and floating point >=. Remove
|
||
associated matchers.
|
||
|
||
2000-09-06 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* extend.texi: Mark named return value extension as deprecated.
|
||
|
||
2000-09-06 Geoff Keating <geoffk@cygnus.com>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_reverse_condition): Return
|
||
the result.
|
||
|
||
2000-09-06 Gabriel Dos Reis <gdr@codesourcery.com>
|
||
|
||
* toplev.c (display_help): Fix thinko in documentation.
|
||
|
||
* diagnostic.h (output_buffer::indent_skip): New fields.
|
||
(output_indentation): New macro.
|
||
|
||
* diagnostic.c (output_indent): New function.
|
||
(output_set_prefix, clear_diagnostic_info): Use.
|
||
(output_emit_prefix): Predict future indentation.
|
||
|
||
2000-09-06 DJ Delorie <dj@redhat.com>
|
||
|
||
* Makefile.in (stage_*): add more dependencies to ensure parallel
|
||
builds build correctly
|
||
|
||
2000-09-06 Manfred Hollstein <manfredh@redhat.com>
|
||
|
||
* Makefile.in (bootstrap-lean): Depend on bootstrap-lean_g,
|
||
not bootstrap-lean_f.
|
||
|
||
2000-09-06 Andreas Schwab <schwab@suse.de>
|
||
|
||
* mklibgcc.in: Emit rule for libgcc-stage-start.
|
||
* Makefile.in (stage1-start, stage2-start, stage3-start,
|
||
stage4-start): Don't handle libgcc here, use libgcc.mk instead.
|
||
|
||
2000-09-06 Bernd Schmidt <bernds@redhat.co.uk>
|
||
|
||
* local-alloc.c (local_alloc): Ignore CLASS_LIKELY_SPILLED.
|
||
(update_equiv_regs): Likewise, except for the mn10200 kludge.
|
||
(combine_regs): Likewise.
|
||
|
||
* Makefile.in (cse.o): Depend on $(BASIC_BLOCK_H).
|
||
* cse.c: Include "basic-block.h".
|
||
(struct table_elt): New field REGCOST.
|
||
(CHEAP_REG): Delete macro.
|
||
(COST): Return 0 for REGs.
|
||
(approx_reg_cost_1, approx_reg_cost, preferrable): New functions.
|
||
(notreg_cost): Return 0 for appropriate SUBREGs.
|
||
(COSTS_N_INSNS): Return N * 2.
|
||
(rtx_cost): Return 0 for REGs, and use cost of nested rtx for cheap
|
||
SUBREGs.
|
||
(CHEAPER): Use new function preferrable.
|
||
(insert): Initialize REGCOST member.
|
||
(find_best_addr): Use approx_reg_cost for estimation of register
|
||
usage.
|
||
(cse_insn): Likewise.
|
||
* loop.c (iv_add_mult_cost): New function.
|
||
(add_cost, shift_cost, mult_cost): Delete variables.
|
||
(init_loop): Don't initialize add_cost; reduce copy_cost by half.
|
||
(strength_reduce): Use iv_add_mult_cost instead of fixed add_cost.
|
||
Make code that detects autoinc opportunities slightly less optimistic.
|
||
(simplify_giv_expr): If expression contains other reg that is also a
|
||
giv, only increment benefit if this is the only use of that reg.
|
||
(consec_sets_giv): Take that change into account.
|
||
(combine_givs): Slightly more verbose output.
|
||
|
||
* i386.h (RTX_COSTS): For MULT, return true cost of multiplication,
|
||
not the cost of an equivalent shift.
|
||
* sh-protos.h (addsubcosts): Declare.
|
||
* sh.c (addsubcosts): New function.
|
||
* sh.h (CONST_COSTS): If CONST_OK_FOR_I, then return 0.
|
||
(RTX_COSTS): Tweak. Use addsubcosts.
|
||
(ADDRESS_COST): Return higher cost for reg+reg addressing.
|
||
|
||
2000-09-06 Geoff Keating <geoffk@cygnus.com>
|
||
|
||
* config/rs6000/rs6000.c (validate_condition_mode): New function.
|
||
(branch_comparison_operator): Call validate_condition_mode to
|
||
abort rather than returning 0.
|
||
(branch_positive_comparison_operator): New function.
|
||
(scc_comparison_operator): Call validate_condition_mode to abort
|
||
rather than returning 0.
|
||
(ccr_bit): Call validate_condition_mode. Update for
|
||
new branch scheme.
|
||
(print_operand): Delete %C modifier. Update %E case
|
||
to use EQ bit not SO bit.
|
||
(rs6000_reverse_condition): New function.
|
||
(rs6000_generate_compare): New function.
|
||
(rs6000_emit_sCOND): New function.
|
||
(rs6000_emit_cbranch): New function.
|
||
(output_cbranch): The length of a long branch insn is
|
||
now only 8 bytes. Add validate_condition_mode. Use
|
||
rs6000_reverse_condition. Remove cror generation.
|
||
|
||
* config/rs6000/rs6000.h: Update comments.
|
||
(PREDICATE_CODES): Add new predicate. Update codes used
|
||
by branch_comparison_operator and scc_comparison_operator.
|
||
* config/rs6000/rs6000-protos.h: Add prototypes for
|
||
new external functions.
|
||
* config/rs6000/rs6000.md: Add new scheduling parameters
|
||
for cr_logical instructions. Change length of branch
|
||
instructions.
|
||
(bCOND patterns): Call rs6000_emit_cbranch.
|
||
(sCOND patterns): Call rs6000_emit_sCOND.
|
||
(branch patterns): Change lengths to 4.
|
||
(cr logical patterns): New.
|
||
|
||
2000-09-06 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/i386/i386.md (call_pop): Fix test for setting
|
||
current_function_uses_pic_offset_table.
|
||
(call, call_value_pop, call_value): Likewise.
|
||
|
||
2000-09-06 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* timevar.c (timevar_add): Delete.
|
||
(timevar_get): Also count time since the selected timer was
|
||
last updated. Do not examine the timevar stack if the
|
||
selected timer is standalone.
|
||
|
||
2000-09-05 J. David Anglin <dave@hiauly1.hia.nrc.ca>
|
||
|
||
* gthr-dce.h (__gthread_objc_mutex_deallocate): Free mutex->backend.
|
||
|
||
2000-09-05 Jason Merrill <jason@redhat.com>
|
||
|
||
* c-decl.c (finish_incomplete_decl): Don't call complete_array_type
|
||
for 'extern' arrays.
|
||
|
||
2000-09-05 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/ia64/lib1func.asm (__divtf3): Rebundle for Itanium.
|
||
Eliminate final copy from non-trapping case.
|
||
(__divdf3, __divsf3): Likewise.
|
||
|
||
2000-09-05 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/ia64/ia64.md (mulhi3): Fix typo last change.
|
||
* config/ia64/lib1func.asm (__divdi3, __udivdi3, __umodsi3): Likewise.
|
||
|
||
2000-09-03 Donn Terry <donn@interix.com>, Laurynas Biveinis <lauras@softhome.net>
|
||
|
||
* Makefile.in: Restructure bootstrap stages to allow clean
|
||
restart after failure.
|
||
|
||
2000-09-05 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/ia64.md (movsi and movdi patterns): Allow moves from
|
||
8-bit constants to AR registers.
|
||
|
||
2000-09-05 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/ia64/ia64.md (mulhi3): New.
|
||
|
||
2000-09-05 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/ia64/ia64.h (INIT_TARGET_OPTABS): Remove.
|
||
* config/ia64/lib1funcs.asm (__divdi3): Update from Intel IA-64
|
||
Optimization Guide, minimum latency alternative.
|
||
(__moddi3, __udivdi3, __umoddi3): Likewise.
|
||
(__divsi3, __modsi3, __udivsi3, __umodsi3): Likewise.
|
||
|
||
2000-09-05 Bruce Korb <bkorb@gnu.org>
|
||
|
||
* fixinc/fixincl.c (load_file): always read header files
|
||
with sizes that are a multiple of the page size.
|
||
& use libiberty's getpagesize for determining that.
|
||
|
||
2000-09-05 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* gcse.c (hash_string_1): Add prototype.
|
||
* cse.c (canon_hash_string): Likewise.
|
||
|
||
2000-09-04 Craig Newell <CraigN@ieee.org>
|
||
|
||
* gcc.c: Undefine "__WCHAR_TYPE__" before redefining it.
|
||
|
||
2000-09-04 Andreas Schwab <schwab@suse.de>
|
||
|
||
* Makefile.in (STAGESTUFF): Remove libgcc.
|
||
(stage1-start, stage2-start, stage3-start): Copy the contents of
|
||
the libgcc directory explicitly.
|
||
(mostlyclean): Clean libgcc.
|
||
|
||
2000-09-04 Andrew Haley <aph@redhat.com>
|
||
|
||
* dwarf2out.c: (stack_adjust_offset): New prototype.
|
||
|
||
Wed Jan 1 00:23:59 MET 1997 Jan Hubicka <jh@suse.cz>
|
||
|
||
* combine.c (make_extraction): Fix rtx_cost comparison to
|
||
match the comment.
|
||
|
||
Wed Jan 1 00:17:32 MET 1997 Jan Hubicka <jh@suse.cz>
|
||
|
||
* i386.md (pushsi2, pushhi2, pophi2, swapsf, swapdf,
|
||
umulsi3_highpart, smulsi3_highpart, testqi_ccno_1, xorqi_ext_1):
|
||
Add '*' to insn pattern name.
|
||
|
||
2000-09-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* cpplex.c (ON_REST_ARG): Check VAR_ARGS flag of current context,
|
||
use posn - 1 to index into tokens array.
|
||
(maybe_paste_with_next): Adjust caller.
|
||
|
||
2000-09-03 Geoff Keating <geoffk@cygnus.com>
|
||
|
||
* invoke.texi: Document the -mvxworks option for rs6000 ELF.
|
||
|
||
* config/rs6000/rs6000.h: Update various comments about XER_REGNO.
|
||
(REGNO_REG_CLASS): Use symbolic register
|
||
names.
|
||
|
||
2000-09-03 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* arm.c (final_prescan_insn): If the form of a jump insn isn't
|
||
recognized, don't try to conditionally execute it.
|
||
|
||
Sun Sep 3 13:10:56 2000 Denis Chertykov <denisc@overta.ru>
|
||
|
||
* config/avr/avr.md ("*tablejump_lib"): New pattern.
|
||
(call_value_insn): Right length claculation.
|
||
(call_insn): Likewise.
|
||
|
||
2000-09-02 Marek Michalkiewicz <marekm@linux.org.pl>
|
||
|
||
* config/avr/avr-protos.h, config/avr/avr.c (unique_section,
|
||
gas_output_limited_string, gas_output_ascii, output_movqi,
|
||
output_movhi, out_movqi_r_mr, out_movqi_mr_r, out_movhi_r_mr,
|
||
out_movhi_mr_r, out_movsi_r_mr, out_movsi_mr_r, output_movsisf,
|
||
out_tstsi, out_tsthi, ret_cond_branch, ashlqi3_out, ashlhi3_out,
|
||
ashlsi3_out, ashrqi3_out, ashrhi3_out, ashrsi3_out, lshrqi3_out,
|
||
lshrhi3_out, lshrsi3_out, output_reload_inhi, output_reload_insisf,
|
||
out_shift_with_cnt, ptrreg_to_str, cond_string, encode_section_info):
|
||
Add "const" as needed to remove warnings.
|
||
|
||
* config/avr/avr.c (avr_override_options, avr_init_once,
|
||
function_prologue, function_epilogue, frame_pointer_required_p,
|
||
class_likely_spilled_p, order_regs_for_local_alloc,
|
||
avr_address_cost, avr_ret_register): Use K&R style arguments.
|
||
(initial_elimination_offset, gas_output_limited_string):
|
||
Remove ATTRIBUTE_UNUSED from the used arguments.
|
||
(output_mov*, out_mov*_r_mr, out_mov*_mr_r, output_reload_insisf):
|
||
Use local variables src, dest, base to access operands[].
|
||
Rename reg_dest to reg_src if that's what it is.
|
||
(output_movhi, output_movsisf): Optimize loading 8-bit immediate
|
||
constants to LD_REGS if reg_was_0.
|
||
(output_reload_insisf): Change arg 3 to insn length and set it.
|
||
(out_movhi_r_mr, out_movhi_mr_r): Use in/out for more efficient
|
||
access to 16-bit I/O register pairs.
|
||
(avr_address_cost): Lower cost for the above case.
|
||
(out_tsthi): Use "or" (faster) instead of "sbiw" if the operand
|
||
may be clobbered, also for LD_REGS.
|
||
(adjust_insn_length): Correct insn length for iorhi3 and iorsi3
|
||
with a CONST_INT.
|
||
|
||
* config/avr/avr.h (PTRDIFF_TYPE): Make signed.
|
||
|
||
* config/avr/avr.md: Change all uses of the TEST_HARD_REG_CLASS
|
||
macro to test_hard_reg_class function.
|
||
(*movsi, *movsf): Change "cc" attribute from "clobber" to "none"
|
||
for loading immediate constants to LD_REGS.
|
||
(andsi3, cmphi, cmpsi): Add return statements to avoid warnings.
|
||
|
||
|
||
Sat Sep 2 13:58:23 2000 Marek Michalkiewicz <marekm@linux.org.pl>
|
||
|
||
* config/avr/avr.md ("*negsi2"): substitute %@ to __zero_reg__
|
||
* config/avr/libgcc.S: Lost part of the previous patch.
|
||
|
||
2000-08-31 J. David Anglin <dave@hiauly1.hia.nrc.ca>
|
||
|
||
* gthr-dce.h (__gthread_objc_mutex_allocate): Create a pthread_mutex_t
|
||
object before calling pthread_mutex_init.
|
||
|
||
2000-09-02 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* config/sh/t-elf, config/sh/crt1.asm, config/sh/crti.asm,
|
||
config/sh/crtn.asm: New files.
|
||
* config/sh/t-sh (EXTRA_MULTILIB_PARTS): Set.
|
||
(crt1.o, crti.o, crtn.o): New targets.
|
||
* configure.in [sh-*-elf*, sh-*-rtemself*] (tmake_file): Added
|
||
sh/t-elf.
|
||
* configure: Rebuilt.
|
||
* config/sh/sh.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
|
||
STARTFILE_SPEC, ENDFILE_SPEC, CRT_CALL_STATIC_FUNCTION): Define.
|
||
* config/sh/elf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP):
|
||
Undefine for config/elfos.h to redefine.
|
||
(STARTFILE_SPEC, ENDFILE_SPEC): Redefine after config/elfos.h.
|
||
|
||
2000-09-02 Alexandre Oliva <aoliva@redhat.com>, Niibe Yutaka <gniibe@m17n.org>, Kaz Kojima <kkojima@rr.iij4u.or.jp>
|
||
|
||
* config/sh/sh-protos.h (nonpic_symbol_mentioned_p,
|
||
legitimize_pic_address, output_pic_addr_const): Declare.
|
||
* config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Fix PIC register.
|
||
(PREFERGOT_BIT, TARGET_PREFERGOT): Likewise.
|
||
(TARGET_SWITCHES): New switch -mprefergot.
|
||
(OVERRIDE_OPTIONS): Set flag_no_function_cse unless -mprefergot.
|
||
(PIC_OFFSET_TABLE_REGNUM): Define.
|
||
(GOT_SYMBOL_TABLE): Likewise.
|
||
(LEGITIMIZE_ADDRESS): Use legitimize_pic_address.
|
||
(ENCODE_SECTION_INFO): Define.
|
||
(FINALIZE_PIC): New macros.
|
||
(LEGITIMATE_PIC_OPERAND_P, SYMBOLIC_CONST_P): New macro.
|
||
(ASM_OUTPUT_INT, ASM_OUTPUT_SHORT): Use output_pic_addr_const.
|
||
* config/sh/sh.c (print_operand_address): Use output_pic_addr_const.
|
||
(prepare_move_operands): Call emit_pic_move or
|
||
emit_pic_const_move if appropriate.
|
||
(output_far_jump): For PIC, use braf and output long offset.
|
||
(machine_dependent_reorg):
|
||
(sh_expand_prologue): Save and initialize the PIC register.
|
||
(sh_expand_epilogue): Restore it.
|
||
(initial_elimination_offset): Account for it.
|
||
(nonpic_symbol_mentioned_p): New function.
|
||
(legitimize_pic_address): Likewise.
|
||
(output_pic_addr_const): Likewise.
|
||
* config/sh/sh.md (calli_pcrel, call_valuei_pcrel): New insns.
|
||
(call, call_value): Use them.
|
||
(GOTaddr2picreg, sym_label2reg, symGOT2reg, symGOTOFF2reg,
|
||
symPLT_label2reg): New expands.
|
||
* invoke.texi (SH Options): Document -mprefergot.
|
||
|
||
2000-09-01 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* rtl.h (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): New macro.
|
||
* gcse.c (hash_string_1): New function.
|
||
(hash_expr_1) <ASM_OPERANDS>: Disregard filename and line number.
|
||
(expr_equiv_p) <ASM_OPERANDS>: Likewise.
|
||
* cse.c (rtx_cost): Don't increase the cost of ASM_OPERANDS.
|
||
(canon_hash_string): New function.
|
||
(canon_hash) <ASM_OPERANDS>: Disregard filename and line number.
|
||
(exp_equiv_p) <ASM_OPERANDS>: Likewise.
|
||
(fold_rtx): Use ASM_OPERANDS accessor macros.
|
||
* emit-rtl.c (copy_insn_1): Likewise.
|
||
* integrate.c (copy_rtx_and_substitute): Likewise.
|
||
* stmt.c (expand_asm_operands): Likewise. Give an
|
||
ASM_OPERANDS rtx the mode of the output reg being set from it.
|
||
|
||
2000-09-01 Fred Fish <fnf@be.com>
|
||
|
||
* fix-header.c (write_rbrac): Add putc and getc to list of
|
||
functions to protect against prior definition as a macro.
|
||
|
||
2000-09-01 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.h (enum c_tree_index): Add CTI_C_SIZE_TYPE.
|
||
(c_size_type_node): Define.
|
||
* c-decl.c (init_decl_processing): Initialize c_size_type_node.
|
||
* c-common.c (enum format_lengths, enum format_std_version,
|
||
format_length_info, format_type_detail, BADLEN, NOLENGTHS,
|
||
format_kind_info, printf_length_specs, scanf_length_specs, T89_I,
|
||
T99_I, T89_L, T99_LL, TEX_LL, T89_S, T89_UI, T99_UI, T89_UL,
|
||
T99_ULL, TEX_ULL, T89_US, T89_F, T99_F, T89_D, T99_D, T89_LD,
|
||
T99_LD, T89_C, T99_SC, T99_UC, T89_V, T94_W, TEX_W, T94_WI,
|
||
TEX_WI, T99_ST, T99_SST, T99_PD, T99_UPD, T99_IM, T99_UIM,
|
||
format_types): Define.
|
||
(format_char_info, print_char_table, scan_char_table,
|
||
time_char_table): Rearrange for new organization of information
|
||
about format length modifiers and standard versions.
|
||
(T_ST): Redefine to use c_size_type_node.
|
||
(check_format_info): Obtain information about length modifiers and
|
||
standard versions from tables. Adjust warning message wordings.
|
||
Use the name from the user's program for `ll' and `hh' length
|
||
modifiers in warning messages. Use more informative names for
|
||
wanted types where available (for wchar_t, wint_t, size_t, signed
|
||
size_t, ptrdiff_t, unsigned ptrdiff_t, intmax_t and uintmax_t).
|
||
|
||
2000-09-01 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* calls.c (emit_call_1): Add REG_NORETURN note to call if ECF_NORETURN.
|
||
* combine.c (distribute_notes): Handle REG_NORETURN.
|
||
* rtl.c (reg_note_name): Add REG_NORETURN.
|
||
* rtl.h (enum reg_note): Likewise.
|
||
|
||
* config/ia64/ia64-protos.h (emit_safe_across_calls): Renamed from
|
||
ia64_file_start.
|
||
* config/ia64/ia64.c (emit_safe_across_calls): Likewise.
|
||
(rtx_needs_barrier): Handle unspec_volatile 8 and 9.
|
||
(emit_predicate_relation_info): Handle conditional calls with
|
||
REG_NORETURN.
|
||
* config/ia64/ia64.h (ASM_FILE_START): Call emit_safe_across_calls
|
||
instead of ia64_file_start.
|
||
* config/ia64/sysv4.h (ASM_FILE_START): Likewise.
|
||
* config/ia64/ia64.md (safe_across_calls_all,
|
||
save_across_calls_normal): New patterns.
|
||
|
||
* loop.c (check_final_value): Check for biv use before checking for
|
||
giv use. Check for both biv and giv uses. Always set last_giv_use
|
||
if there is a giv use.
|
||
|
||
2000-09-01 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/ia64/ia64.md (mulsi3): Use grfr_register_operand.
|
||
(madddi3): Likewise.
|
||
(maddsi3): New.
|
||
|
||
Fri Sep 1 10:59:47 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* expr.c (clear_storage): Don't use emit_move_insn unless
|
||
either BLKmode or proper size.
|
||
(store_constructor): Don't call clear_storage if REG of wrong size.
|
||
|
||
* flow.c (init_propagate_block_info): Don't mark frame dead at end
|
||
of function if returns wiht stack pointer depressed.
|
||
|
||
2000-09-01 Andrew Haley <aph@redhat.com>
|
||
|
||
* dwarf2out.c (stack_adjust_offset): New function.
|
||
(dwarf2out_stack_adjust): Break out stack adjust logic into
|
||
new stack_adjust_offset function. Look inside parallels and
|
||
sequences for stack adjustments.
|
||
|
||
2000-08-31 Jeff Law <law@cygnus.com>
|
||
|
||
* arm.md: Use no_new_pseudos to determine when it is safe
|
||
to create new pseudo registers.
|
||
|
||
* arm.c (legitimize_pic_address): Use no_new_pseudos to determine
|
||
when we can safely allocate new registers.
|
||
|
||
2000-08-31 Geoffrey Keating <geoffk@cygnus.com>
|
||
|
||
* stmt.c (expand_asm_operands): Twiddle generating_concat_p
|
||
so that CONCATs are not generated for ASMs.
|
||
* emit-rtl.c (gen_reg_rtx): Don't generate CONCATs when
|
||
not generating_concat_p.
|
||
* function.c (pop_function_context_from): Reset
|
||
generating_concat_p.
|
||
(prepare_function_start): Likewise.
|
||
* rtl.c (generating_concat_p): Define.
|
||
* rtl.h (generating_concat_p): Declare.
|
||
* toplev.c (rest_of_compilation): No CONCATs after RTL generation.
|
||
|
||
2000-08-22 Philipp Thomas <pthomas@suse.de>
|
||
Masanobu Yuhara <yuhara@flab.fujitsu.co.jp>
|
||
|
||
* gmicro.h (TARGET_SWITCHES): Add descriptions and mark them
|
||
for translation.
|
||
|
||
2000-08-30 Greg McGary <greg@mcgary.org>
|
||
|
||
* Makefile.in (fixinc.sh): Pass CC, CFLAGS and LDFLAGS to mkfixinc.sh
|
||
* fixinc/Makefile.in (fixincl): Pass $(LDFLAGS) to $(CC).
|
||
* fixinc/mkfixinc.sh: Pass $CC, $CFLAGS and $LDFLAGS to $MAKE.
|
||
|
||
2000-08-30 Greg McGary <greg@mcgary.org>
|
||
|
||
* tree.h (struct tree_int_cst): Wrap low and high in a sub-struct.
|
||
(TREE_INT_CST_LOW, TREE_INT_CST_HIGH): Access through sub-struct.
|
||
(TREE_INT_CST): New macro.
|
||
* varasm.c (const_hash, compare_constant_1, record_constant_1):
|
||
Use new macro TREE_INT_CST.
|
||
|
||
Wed 30-Aug-2000 23:18:59 BST Neil Booth <NeilB@earthling.net>
|
||
|
||
* contrib.texi: Add self.
|
||
|
||
2000-08-30 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* config/sh/sh.md (cmpeqsi_ior_t, cmpeqsi_and_t): New insns.
|
||
(cmpeqdi_t splitter): Use cmpeqsi_and_t instead of emitting jumps
|
||
and labels.
|
||
|
||
2000-08-30 J. David Anglin <dave@hiauly1.hia.nrc.ca>
|
||
|
||
* fixinc/gnu-regex.c: Don't define `const'.
|
||
|
||
Tue Aug 29 22:09:59 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* expr.c (store_constructor): Allow variable bounds of array type.
|
||
(expand_expr): Don't blow up if type is ERROR_MARK.
|
||
* varasm.c (output_constructor): Don't access lower bound of array
|
||
type unless need it if index is supplied (so it can be a variable
|
||
if no index is supplied).
|
||
Use tree_low_cst; use HOST_WIDE_INT for sizes; change BITPOS to POS.
|
||
Other minor cleanups.
|
||
|
||
2000-08-29 J. David Anglin <dave@hiauly1.hia.nrc.ca>
|
||
|
||
* Makefile.in: Revamp handling of cflags to allow different WARN_CFLAGS
|
||
for compilations in stage 1 and subsequent stages, respectively.
|
||
* configure.in (vax): Add compiler-dependent CFLAGS for stage 1.
|
||
* configure: Rebuilt.
|
||
* x-vax, x-vax-gcc: Deleted.
|
||
|
||
2000-08-29 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* c-common.c (declare_function_name): Use func_id_node,
|
||
function_id_node, and pretty_function_id_node. Do not make
|
||
__func__ visible at file scope.
|
||
* c-common.h (c_tree_index): Add CTI_FUNCTION_ID,
|
||
CTI_PRETTY_FUNCTION_ID, and CTI_FUNC_ID.
|
||
(function_id_node, pretty_function_id_node, func_id_node): New
|
||
macros.
|
||
* c-decl.c (init_decl_processing): Initialize function_id_node,
|
||
pretty_function_id_node, and func_id_node.
|
||
(c_make_fname_decl): Correct comment.
|
||
|
||
* tree.h (struct tree_identifier): Constify pointer member.
|
||
|
||
* c-decl.c (pushdecl, implicit_decl_warning): Constify a char *.
|
||
* c-pragma.h (struct weak_syms): Constify name and value members.
|
||
(add_weak): Constify arguments.
|
||
|
||
* calls.c (special_function_p): Constify a char *.
|
||
(expand_call): Remove variable which is initialized and then
|
||
never used.
|
||
* dependence.c (struct def_use, struct induction, struct subscript):
|
||
Constify 'variable' member.
|
||
(get_low_bound, have_induction_variable): Constify char * argument.
|
||
(find_induction_variable): Add braces to avoid dangling else.
|
||
(classify_dependence): Constify char * arrays.
|
||
* profile.c (output_func_start_profiler): Constify a char *.
|
||
* stor-layout.c (finalize_record_size): Constify a char *.
|
||
* tree.c (is_attribute_p): Constify a char *.
|
||
* varasm.c (add_weak, remove_from_pending_weak_list): Constify argument.
|
||
|
||
* varasm.c (make_function_rtl, make_decl_rtl): Rearrange code
|
||
for comprehensibility. Do not call get_identifier if we did
|
||
not change the DECL_ASSEMBLER_NAME of the decl. Use alloca to
|
||
create temporary string constants, not ggc_alloc_string. No
|
||
need to copy result of ASM_FORMAT_PRIVATE_NAME. Use const
|
||
char * to hold IDENTIFIER_POINTERs.
|
||
|
||
2000-08-29 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/ia64/ia64.md (muldi3): Use grfr_register_operand
|
||
for the inputs.
|
||
|
||
2000-08-29 Richard Henderson <rth@cygnus.com>
|
||
|
||
* reload.c (push_secondary_reload): Allow class == reload_class
|
||
if we're using a reload_in/out pattern.
|
||
|
||
* config/ia64/ia64.md (reload_inti): Use a TImode scratch. Use
|
||
the half that does not conflict with the reload register.
|
||
(reload_outti): Likewise.
|
||
|
||
2000-08-29 Kazu Hirata <kazu@hxi.com>
|
||
|
||
* reload.c: Fix formatting.
|
||
|
||
* stmt.c: Fix formatting.
|
||
|
||
* gcc.c: Fix formatting.
|
||
|
||
2000-08-29 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* flags.h (time_report, mem_report): New global flags.
|
||
* toplev.c: Define time_report and mem_report.
|
||
(f_options): Add -ftime-report and -fmem-report.
|
||
(compile_file): Turn on time_report if quiet_flag is off.
|
||
Call ggc_print_statistics at very end if mem_report is on.
|
||
* timevar.c (TIMEVAR_ENABLE): Examine time_report, not quiet_flag.
|
||
|
||
* ggc-common.c (ggc_print_statistics): Rename to
|
||
ggc_print_common_statistics; all callers changed. Scale
|
||
quantities above 10K to kilobytes and above 10M to megabytes.
|
||
* ggc-page.c (ggc_page_print_statistics): Rename to
|
||
ggc_print_statistics. Report memory consumed by internal data
|
||
structures for each allocation bucket. Scale quantities above
|
||
10K to kilobytes and above 10M to megabytes.
|
||
* ggc-simple.c: Prototype debug_ggc_tree to avoid warning.
|
||
Cast PTR_KEY(p) to unsigned long in fprintf call to avoid warning.
|
||
Define tally_leaves always.
|
||
(ggc_print_statistics): New function.
|
||
* ggc.h: Adjust for renamed functions.
|
||
|
||
Wed Aug 30 00:11:42 2000 Denis Chertykov <denisc@overta.ru>
|
||
|
||
* config/avr/avr.md ("*movsf","*movsi"): Pass NULL to
|
||
output_movsisf instead of which_alternative.
|
||
|
||
* config/avr/avr.c (output_reload_inhi): Check for NULL ponter.
|
||
|
||
Tue Aug 29 22:29:58 2000 Denis Chertykov <denisc@overta.ru> & Marek Michalkiewicz <marekm@linux.org.pl>
|
||
|
||
* config/avr/avr-protos.h: (avr_output_ascii) Removed.
|
||
(avr_progmem_p): New prototype.
|
||
(output_movsisf): Prototype declaration changed.
|
||
(output_movqi): New prototype.
|
||
(output_movhi): New prototype.
|
||
(call_insn_operand): Likewise.
|
||
(final_prescan_insn): Likewise.
|
||
(avr_simplify_comparision_p): Likewise.
|
||
(avr_normalize_condition): Likewise.
|
||
(compare_eq_p): Likewise.
|
||
(out_shift_with_cnt): Likewise.
|
||
(const_int_pow2_p): Likewise.
|
||
(output_reload_inhi): Prototype declaration changed.
|
||
|
||
* config/avr/avr.c: (debug_hard_reg_set): Prototype declared.
|
||
(ldi_reg_rtx): New. rtx for r31.
|
||
(avr_init_stack): Initialize as "__stack".
|
||
(function_prologue): Use it.
|
||
Replace all TARGET_ENHANCED with AVR_ENHANCED.
|
||
(avr_mcu_name): Initialize as "avr2".
|
||
(avr_enhanced_p, avr_mega_p): New variables.
|
||
(mcu_types, avr_override_options): Handle all known MCU types.
|
||
Also handle avr1 (only preprocess, assemble and link).
|
||
(print_operand): Using of `%K' in output template removed.
|
||
(out_movqi_r_mr): Optimized.
|
||
(out_movhi_r_mr): Likewise.
|
||
(output_movqi): New function.
|
||
(output_movhi): Likewise.
|
||
(out_movsi_r_mr): Optimized.
|
||
(output_movsisf): Compute insn length for `adjust_insn_length'
|
||
(out_movqi_mr_r): Optimized.
|
||
(out_movhi_mr_r): Optimized.
|
||
(adjust_insn_length): Use output_movsisf, output_movqi,
|
||
output_movhi for insn length adjusting.
|
||
(reg_unused_after): Use dead_or_set_p.
|
||
(preferred_reload_class): Now haven't any restriction.
|
||
(reg_was_0): New function.
|
||
(io_address_p): Likewise.
|
||
(const_int_pow2_p): Likewise.
|
||
(output_reload_inhi): Likewise.
|
||
(output_reload_insisf): Likewise.
|
||
|
||
* config/avr/avr.h (MULTILIB_DEFAULTS): Define.
|
||
(LIB_SPEC): Use -lc for all supported devices.
|
||
(LIBGCC_SPEC): Use -lgcc for all supported devices.
|
||
(AVR_MEGA): Define as avr_mega_p.
|
||
(AVR_ENHANCED): New, define as avr_enhanced_p.
|
||
(TARGET_SWITCHES): Remove -menhanced, now handled by -mmcu=...
|
||
(CPP_SPEC, LINK_SPEC): Handle all known MCU types.
|
||
(CRT_BINUTILS_SPECS): Handle all known MCU types.
|
||
Rename gcrt1-*.o to make file names unique on 8.3 filesystems.
|
||
(EXTRA_SPECS): Add CPP_AVR[1-5]_SPEC.
|
||
(ASM_SPEC): Pass -mmcu=... to the assembler.
|
||
Change all -DAVR_* to -D__AVR_*__.
|
||
(INIT_TARGET_OPTABS), config/avr/libgcc.S:
|
||
Rename library functions to start with two underscores.
|
||
(ASM_OUTPUT_COMMON): Outputs `.comm VAR,VAR-SIZE,1' to avoid
|
||
alignment.
|
||
(ASM_WEAKEN_LABEL): Declared for __attribute__((weak)).
|
||
(SUPPORTS_WEAK): Likewise.
|
||
(LDI_REG_REGNO): New. Register r31 will be used as temporary
|
||
register for loading constants to r0-r14.
|
||
|
||
* config/avr/avr.md: Replace all TARGET_ENHANCED with
|
||
AVR_ENHANCED.
|
||
(*mov_r_sp): Removed. Handled by output_movhi.
|
||
(*mov_sp_r): Likewise.
|
||
(*mov_sp_r_no_interrupts): Likewise
|
||
(*mov_sp_r_tiny): Likewise.
|
||
(*movqi): Use output_movqi.
|
||
(*reload_inqi): New.
|
||
(*movhi): Use output_movhi.
|
||
(*reload_inhi): New.
|
||
(*negsi2): Optimized.
|
||
(*negsf2): Likewise.
|
||
Added peepholes (define_peephole2) for loading constants to r0-r14
|
||
and for using `cpse' command.
|
||
|
||
* config/avr/libgcc.S: Rename library functions to start with two
|
||
underscores.
|
||
Add support for enhanced core.
|
||
(_moqhi3): Fix typo, now _modqi3.
|
||
(__divsi_raw): Use __zero_reg__ as loop counter, smaller by 1 word.
|
||
(__prologue_saves__): Remove test for stack adjust by 0.
|
||
(__tablejump__): New.
|
||
|
||
* config/avr/t-avr: Build libgcc2 with -mcall-prologues.
|
||
Add multilib support.
|
||
|
||
Tue Aug 29 15:17:54 EDT 2000 John Wehle (john@feith.com)
|
||
|
||
* loop.c (prescan_loop): Don't check unknown_address_altered
|
||
when deciding if insert_loop_mem is safe. Add BLKmode MEMs
|
||
to loop_store_mems as necessary.
|
||
(loop_invariant_p): Don't check unknown_address_altered
|
||
or unknown_constant_address_altered.
|
||
|
||
2000-08-29 J. David Anglin <dave@hiauly1.hia.nrc.ca>
|
||
|
||
* vax.md (sltu, sgeu): Delete sltu and sgeu insn patterns.
|
||
|
||
2000-08-29 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* cpperror.c (print_file_and_line): If line is (unsigned int)-1,
|
||
print just the filename.
|
||
* cpplex.c (_cpp_run_directive): Add additional argument, the
|
||
name to give the synthetic buffer. This defaults to
|
||
translated "<command line>".
|
||
* cpplib.c (cpp_define, cpp_undef, cpp_assert, cpp_unassert):
|
||
Adjust to match.
|
||
(_cpp_define_builtin): New function.
|
||
* cppinit.c (initialize_builtins): Use _cpp_define_builtin.
|
||
* cpphash.h: Update prototypes.
|
||
|
||
* tradcpp.c (main): Process -D and -U simultaneously, in the
|
||
order they appeared on the command line.
|
||
|
||
2000-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* c-decl.c (define_label): Call warning_with_file_and_line and
|
||
error_with_file_and_line instead of plain warning or error.
|
||
|
||
* c-parse.in (label): Use save_filename/save_lineno to ensure
|
||
correct values for calls to define_label.
|
||
|
||
2000-08-29 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* calls.c (expand_call): Don't create a VAR_DECL just to throw it
|
||
away.
|
||
* expr.c (expand_expr, case TARGET_EXPR): Don't call
|
||
mark_addressable.
|
||
* tree.h (get_file_function_name): Remove two duplicate
|
||
declarations.
|
||
|
||
2000-08-28 Kazu Hirata <kazu@hxi.com>
|
||
|
||
* tree.c: Fix formatting.
|
||
|
||
* xcoffout.c: Fix formatting.
|
||
|
||
2000-08-28 Jason Merrill <jason@redhat.com>
|
||
|
||
* dwarf2out.c (attr_checksum): Also ignore DW_AT_producer.
|
||
|
||
2000-08-28 Daniel Berlin <dberlin@redhat.com>
|
||
|
||
* dwarf2out.c (dwarf2out_finish): Don't bother calling
|
||
break_out_includes if it won't do anything.
|
||
|
||
2000-08-28 Richard Henderson <rth@cygnus.com>
|
||
|
||
* reload.c (push_secondary_reload): Revert 2000-08-16 change.
|
||
(find_reloads): Likewise.
|
||
* config/alpha/alpha.md (reload_inqi): Revert 2000-08-11 change.
|
||
(reload_inhi): Likewise.
|
||
|
||
2000-08-28 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/i386/i386.c: Don't error on EXTRA_CONSTRAINT defined.
|
||
(call_insn_operand): Don't expect a surrounding mem.
|
||
(constant_call_address_operand): Likewise.
|
||
* config/i386/i386.h (PREDICATE_CODES): Update.
|
||
* config/i386/i386.md (call patterns): Move the match_operand
|
||
for the call destination inside the mem.
|
||
|
||
2000-08-28 Richard Henderson <rth@cygnus.com>
|
||
|
||
* local-alloc.c (requires_inout): Don't use reserved range for
|
||
EXTRA_CONSTRAINTS; use anything not matched by REG_CLASS_FROM_LETTER.
|
||
* recog.c (asm_operand_ok): Likewise.
|
||
(preprocess_constraints, constrain_operands): Likewise.
|
||
* regclass.c (record_reg_classes): Likewise.
|
||
* reload.c (find_reloads): Likewise.
|
||
* reload1.c (maybe_fix_stack_asms): Likewise.
|
||
(reload_cse_simplify_operands): Likewise.
|
||
* stmt.c (expand_asm_operands): Likewise.
|
||
|
||
* md.texi: Update constraints documentation.
|
||
* tm.texi (EXTRA_CONSTRAINT): Update.
|
||
|
||
2000-08-28 Daniel Berlin <dberlin@redhat.com>
|
||
|
||
* dwarf2out.c (DIE_LABEL_PREFIX): Remove leading "__".
|
||
(print_die): If we don't know the offset of the
|
||
target die, try the symbol. Add a trailing newline.
|
||
(reverse_all_dies): New fn.
|
||
(dwarf2out_finish): Call it.
|
||
(break_out_includes): Reorganize for clarity.
|
||
(add_sibling_attributes): Don't call reverse_die_lists.
|
||
(output_comp_unit): Rename from output_comdat_comp_unit. Use for
|
||
primary CU, too.
|
||
* flags.h: Add flag_eliminate_dwarf2_dups.
|
||
* toplev.c (f_options): Support -feliminate-dwarf2-dups.
|
||
|
||
2000-08-28 Jason Merrill <jason@redhat.com>
|
||
|
||
* dwarf2.h (DW_TAG_GNU_BINCL, DW_TAG_GNU_EINCL): New tags.
|
||
* dwarf2out.c: #include "md5.h".
|
||
(DIE_LABEL_PREFIX): New macro.
|
||
(dw_val_struct): Add 'external' flag to val_die_ref.
|
||
(add_AT_die_ref, AT_ref): Adjust.
|
||
(AT_ref_external, set_AT_ref_external): New fns.
|
||
(build_abbrev_table): Call set_AT_ref_external.
|
||
(value_format): Call AT_ref_external.
|
||
(die_struct): Add die_symbol field.
|
||
(new_die): Clear it.
|
||
(dwarf_tag_name): Handle BINCL/EINCL.
|
||
(dwarf2out_start_source_file): Add BINCL DIE.
|
||
(dwarf2out_end_source_file): Add EINCL DIE.
|
||
(push_new_compile_unit, pop_compile_unit, clear_die_sizes): New fns.
|
||
(loc_checksum, attr_checksum, die_checksum): New fns.
|
||
(is_type_die, is_comdat_die, is_symbol_die): New fns.
|
||
(compute_section_prefix, assign_symbol_names): New fns.
|
||
(gen_internal_sym, output_die_symbol, output_symbolic_ref): New fns.
|
||
(output_die): Call output_die_symbol and AT_ref_external.
|
||
(output_comdat_comp_unit): New fn, split out from...
|
||
(dwarf2out_finish): ...here. Also call add_sibling_attributes for
|
||
secondary CUs.
|
||
(output_pubnames, output_aranges): Abort if we see entries from
|
||
secondary CUs.
|
||
* toplev.h: Declare file_name_nondirectory.
|
||
* toplev.c (file_name_nondirectory): New fn, moved from C++ frontend.
|
||
(rest_of_type_compilation): Call dwarf2out_decl if at toplevel.
|
||
(debug_start_source_file): Call dwarf2out_start_source_file
|
||
regardless of debug verbosity.
|
||
(debug_end_source_file): Similarly.
|
||
* tree.h: Declare clean_symbol_name.
|
||
* tree.c (clean_symbol_name): Split out from...
|
||
(get_file_function_name_long): ...here.
|
||
|
||
* dwarf2out.c (new_loc_descr): Use calloc.
|
||
(splice_child_die): Remove the die from the right parent.
|
||
(gen_struct_or_union_die): Don't add AT_name to a specification DIE.
|
||
|
||
Mon Aug 28 19:02:13 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* toplev.c (decode_g_option): Don't give warning for unknown -g
|
||
option; return 0 instead.
|
||
(main): If -g option is not recognized by front end or
|
||
language-independent code, give warning.
|
||
|
||
2000-08-28 Greg McGary <greg@mcgary.org>
|
||
|
||
* config/i386/i386-protos.h (ix86_expand_compare): Add extern decl.
|
||
* config/i386/i386.c (ix86_expand_compare): Remove `static'.
|
||
* config/i386/i386.md (trap, conditional_trap): New insn & expand.
|
||
|
||
2000-08-27 Greg McGary <greg@mcgary.org>
|
||
|
||
* cpplex.c (parse_string): Don't look for backslash
|
||
before first char in `namebuf'.
|
||
* loop.c (strength_reduce): Skip NOTEs.
|
||
|
||
2000-08-27 Jason Merrill <jason@redhat.com>
|
||
|
||
* c-decl.c (duplicate_decls): Don't set TREE_STATIC or clear
|
||
DECL_EXTERNAL on a local extern. Don't set DECL_IGNORED_P or
|
||
TREE_ASM_WRITTEN, either.
|
||
(finish_decl): Adjust.
|
||
|
||
2000-08-28 Philipp Thomas <pthomas@suse.de>
|
||
|
||
* ABOUT-GCC-NLS: Remove gettext patches from Paul Eggert as
|
||
they have been incorporated into the gettext CVS. Change the text to
|
||
reflect the current status of NLS. Add instructions for accessing
|
||
the gettext CVS and add the patch from Martin v. Loewis.
|
||
|
||
2000-08-27 Geoff Keating <geoffk@cygnus.com>
|
||
|
||
* config/rs6000/rs6000.md (movdi_internal64+5): Make SUBREG-safe
|
||
by using gen_lowpart_common.
|
||
(movdi_internal64+6): Likewise.
|
||
|
||
2000-08-26 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* tm.texi (FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION):
|
||
Document.
|
||
|
||
* config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Remap register
|
||
numbers to the ranges used by GDB.
|
||
|
||
2000-08-25 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/ia64/ia64.h (struct machine_function): Add n_varargs.
|
||
* config/ia64/ia64.c (ia64_compute_frame_size): Use it.
|
||
(ia64_expand_prologue): Likewise.
|
||
(ia64_setup_incoming_varargs): Set it. Properly skip the current
|
||
argument for stdargs.
|
||
|
||
2000-08-25 Jason Merrill <jason@redhat.com>
|
||
|
||
* integrate.c (expand_inline_function): Pull out the original decl.
|
||
|
||
2000-08-25 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* cse.c (cse_insn): Don't pass label subtraction to force_const_mem.
|
||
|
||
* function.c (gen_mem_addressof): Clear MEM_ALIAS_SET if no decl.
|
||
|
||
2000-08-25 Greg McGary <greg@mcgary.org>
|
||
|
||
* flow.c (dump_edge_info): Use ARRAY_SIZE.
|
||
* config/alpha/alpha.c (alpha_expand_block_move): Likewise.
|
||
|
||
2000-08-25 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* arm.h (STRUCT_VALUE): Define to 0, not NULL.
|
||
|
||
Fri Aug 25 12:52:49 EDT 2000 John Wehle (john@feith.com)
|
||
|
||
* i386.c (ix86_find_base_term): New.
|
||
* i386-protos.h (ix86_find_base_term): Prototype.
|
||
* i386.h (FIND_BASE_TERM): Define.
|
||
* alias.c (find_base_term): Use it.
|
||
* tm.texi (FIND_BASE_TERM): Document it.
|
||
|
||
* alias.c (true_dependence, write_dependence_p): Unchanging
|
||
memory can't conflict with non-unchanging memory.
|
||
|
||
* alias.c (memrefs_conflict_p): A BLKmode reference
|
||
to a symbol (or CONST_INT address) always conflicts
|
||
with a reference to another symbol.
|
||
|
||
2000-08-25 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (time_char_table): Don't allow width and flags with
|
||
"z" format.
|
||
|
||
2000-08-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/i386/i386.c (ix86_expand_branch): Treat GE and GEU the same
|
||
way as LT and LTU when the second operand has 0 in low word.
|
||
|
||
2000-08-26 Michael Hayes <mhayes@cygnus.com>
|
||
|
||
* basic-block.h (struct loop): Rename `exits' field to
|
||
`exit_edges'. Add `entry_edges' and `num_entries' fields.
|
||
|
||
* flow.c (flow_loop_exit_edges_find): Rename from flow_loop_exits_find.
|
||
(flow_loop_entry_edges_find): Add.
|
||
(flow_edge_list_print): Rename from flow_exits_print.
|
||
(flow_loops_find): Call flow_loop_entry_edges_find.
|
||
(flow_loop_dump): Dump entry_edges list.
|
||
(flow_loops_free): Free entry_edges.
|
||
|
||
2000-08-26 Michael Hayes <mhayes@cygnus.com>
|
||
|
||
* loop.c (loop_dump_aux, debug_loop): New functions.
|
||
(LOOP_BLOCK_NUM_1, LOOP_BLOCK_NUM, LOOP_INSN_UID): New macros.
|
||
|
||
* flow.c (flow_loops_dump): Add callback parameter.
|
||
(flow_loop_dump): Add callback parameter and call it. Move
|
||
loop note debugging code to loop_dump_aux.
|
||
|
||
* basic-block.h (flow_loop_dump): Add callback parameter
|
||
(flow_loops_dump): Likewise.
|
||
|
||
* toplev.c (rest_of_compilation): Add NULL callback function pointer
|
||
to call to flow_loops_dump.
|
||
|
||
2000-08-26 Michael Hayes <mhayes@cygnus.com>
|
||
|
||
* loop.c (count_loop_regs_set): Replace start and end arguments
|
||
with loop argument. All callers udated.
|
||
|
||
2000-08-26 Michael Hayes <mhayes@cygnus.com>
|
||
|
||
* loop.c (constant_high_bytes): Delete.
|
||
|
||
2000-08-26 Michael Hayes <mhayes@cygnus.com>
|
||
|
||
* loop.c (prescan_loop): Move checks for NOTE_INSN_LOOP_CONT
|
||
and NOTE_INSN_LOOP_VTOP to...
|
||
(find_and_verify_loops) ...here.
|
||
|
||
Fri Aug 25 04:21:13 2000 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* crtstuff.c (CRT_CALL_STATIC_FUNCTION): Define default.
|
||
(fini_dummy, init_dummy): Use it.
|
||
|
||
Fri 25-Aug-2000 08:03:27 BST Neil Booth <NeilB@earthling.net>
|
||
|
||
* cpplex.c (is_macro_disabled): Caller has already checked
|
||
that we're not a preprocessed file.
|
||
|
||
2000-08-24 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* Makefile.in (C_AND_OBJC_OBJS): Remove c-iterate.o.
|
||
(c-iterate.o): Remove target.
|
||
* gcc/c-common.h (enum rid): Remove RID_ITERATOR.
|
||
* gcc/c-decl.c (init_decl_processing): Remove call to init_iterators.
|
||
(finish_decl): Don't handle iterators.
|
||
(grokdeclarator): Likewise.
|
||
* gcc/c-parse.gperf: Remove __iterator and __iterator__ keywords.
|
||
* gcc/c-gperf.h: Regenerated.
|
||
* gcc/c-iterate.c: Removed.
|
||
* gcc/c-lex.c (init_lex): Don't handle iterators.
|
||
* gcc/c-parse.in (primary): Remove pop_iterator_stack call.
|
||
(compstmt_primary_start): Remove push_iterator_stack call.
|
||
(stmt): Don't allow iterator statements. Replace iterator_expand
|
||
with expand_expr_stmt.
|
||
(all_iter_stmt): Remove.
|
||
(all_iter_stmt_simple): Likewise.
|
||
(all_iter_stmt_with_decl): Likewise.
|
||
* gcc/c-tree.h (ITERATOR_P): Remove.
|
||
(ITERATOR_BOUND_P): Likewise.
|
||
(init_iterators): Remove declaration.
|
||
(iterator_expand): Likewise.
|
||
(iterator_for_loop_start): Likewise.
|
||
(iterator_for_loop_end): Likewise.
|
||
(iterator_for_loop_record): Likewise.
|
||
(push_iterator_stack): Likewise.
|
||
(pop_iterator_stack): Likewise.
|
||
* gcc/c-typeck.c (decl_constant_value): Don't check ITERATOR_P.
|
||
(readonly_warning): Likewise.
|
||
* gcc/tree.h (ITERATOR_BOUND_P): Don't mention it.
|
||
|
||
2000-08-24 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* c-common.c (decl_attributes, case A_ALIGN): Revert last change.
|
||
Copy type in a TYPE_DECL, just like pushdecl does.
|
||
|
||
2000-08-24 Richard Henderson <rth@cygnus.com>
|
||
|
||
* toplev.c (main): Enable flag_reorder_blocks at -O2.
|
||
|
||
2000-08-24 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* ggc-page.c (alloc_page): If HAVE_MMAP_ANYWHERE and we're
|
||
asked for one page, allocate GGC_QUIRE_SIZE of them and put
|
||
the extras on the free list.
|
||
(release_pages): Clean up.
|
||
(ggc_set_mark): Don't adjust G.allocated here...
|
||
(sweep_pages): ... do it here.
|
||
|
||
2000-08-24 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* cppfiles.c (read_include_file): Rearrange initializations.
|
||
|
||
2000-08-24 Richard Henderson <rth@cygnus.com>
|
||
|
||
* stmt.c (expand_asm_operands): Treat EXTRA_CONSTRAINT like g or X.
|
||
|
||
* config/ia64/ia64-protos.h: Update.
|
||
* config/ia64/ia64.c (gr_register_operand): New.
|
||
(fr_register_operand, grfr_register_operand): New.
|
||
(gr_nonimmediate_operand, grfr_nonimmediate_operand): New.
|
||
(grfr_reg_or_8bit_operand): New.
|
||
(gr_reg_or_0_operand): Rename from reg_or_0_operand and
|
||
use gr_register_operand.
|
||
(gr_reg_or_5bit_operand, gr_reg_or_6bit_operand): Likewise.
|
||
(gr_reg_or_8bit_operand, gr_reg_or_8bit_adjusted_operand): Likewise.
|
||
(gr_reg_or_8bit_and_adjusted_operand): Likewise.
|
||
(gr_reg_or_14bit_operand, gr_reg_or_22bit_operand): Likewise.
|
||
(fr_reg_or_fp01_operand): Likewise.
|
||
(not_postinc_memory_operand): New.
|
||
(ia64_split_timode): Remove unused variables.
|
||
(rtx_needs_barrier): Check arguments to cmpxchg.
|
||
(builtin_description): Remove.
|
||
(bdesc_2argsi, bdesc_2argdi): Remove.
|
||
(ia64_init_builtins): Declare all builtins directly.
|
||
(ia64_expand_fetch_and_op): Rewrite to be called from
|
||
ia64_expand_builtin directly. Use expand_binop and co.
|
||
(ia64_expand_op_and_fetch): Likewise.
|
||
(ia64_expand_compare_and_swap): Likewise.
|
||
(ia64_expand_binop_builtin): Remove.
|
||
(ia64_expand_lock_test_and_set): New.
|
||
(ia64_expand_lock_release): New.
|
||
(ia64_expand_builtin): Use them.
|
||
* config/ia64/ia64.h (CONSTRAINT_OK_FOR_S): New.
|
||
(EXTRA_CONSTRAINT): Use it.
|
||
(PREDICATE_CODES): Update.
|
||
* config/ia64/ia64.md (*): Use gr_register_operand and co.
|
||
(mf): Indicate that we set memory as well as use it.
|
||
(fetchadd_acq_si): Show memory being modified as well.
|
||
(fetchadd_acq_di, cmpxchg_acq_si, cmpxchg_acq_di): Likewise.
|
||
(val_compare_and_swap_si, val_compare_and_swap_di): Remove.
|
||
(lock_test_and_set_si, lock_test_and_set_di): Remove.
|
||
(fetch_and_add_si, fetch_and_sub_si, fetch_and_or_si): Remove.
|
||
(fetch_and_and_si, fetch_and_xor_si, fetch_and_nand_si): Remove.
|
||
(fetch_and_add_di, fetch_and_sub_di, fetch_and_or_di): Remove.
|
||
(fetch_and_and_di, fetch_and_xor_di, fetch_and_nand_di): Remove.
|
||
(add_and_fetch_di, sub_and_fetch_di, or_and_fetch_di): Remove.
|
||
(and_and_fetch_di, xor_and_fetch_di, nand_and_fetch_di): Remove.
|
||
(add_and_fetch_si, sub_and_fetch_si, or_and_fetch_si): Remove.
|
||
(and_and_fetch_si, xor_and_fetch_si, nand_and_fetch_si): Remove.
|
||
* config/ia64/ia64intrin.h (*): Cast result to the appropriate
|
||
return type. Pretty print definitions.
|
||
|
||
2000-08-24 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* config/ia64/ia64.md (movdi): Don't call gen_movdi_symbolic if
|
||
we have a SYMBOL_REF with SYMBOL_REF_FLAG set.
|
||
|
||
2000-08-24 Jason Merrill <jason@redhat.com>
|
||
|
||
* dwarf2out.c (AT_flag, AT_int, AT_unsigned, AT_string, AT_ref,
|
||
AT_loc, AT_addr, AT_lbl): Abort on unsuitable input.
|
||
(get_AT_low_pc, get_AT_hi_pc, get_AT_string, get_AT_flag,
|
||
get_AT_unsigned, get_AT_ref): Don't call them if get_AT fails.
|
||
|
||
2000-08-24 Greg McGary <greg@mcgary.org>
|
||
|
||
* optabs.c (init_optabs): Initialize fixtab, fixtrunctab, floattab,
|
||
and extendtab within their proper array boundaries.
|
||
* emit-rtl.c (init_emit_once): Pass `const_tiny_rtx' with bounds
|
||
for the entire array.
|
||
|
||
* config/arm/arm.c (arm_override_options): Use ARRAY_SIZE.
|
||
* config/alpha/alpha.c (alpha_lookup_xfloating_lib_func): Likewise.
|
||
* config/avr/avr.c (order_regs_for_local_alloc): Likewise.
|
||
* config/fr30/fr30.c (fr30_print_operand): Likewise.
|
||
* config/i386/dgux.c (output_options): Likewise.
|
||
* config/i386/dgux.h (ASM_FILE_START): Likewise.
|
||
* config/m88k/m88k.c (output_options): Likewise.
|
||
* config/m88k/m88k.h (ASM_FILE_START): Likewise.
|
||
* config/mcore/mcore.c (mcore_output_inline_const_forced,
|
||
layout_mcore_frame, handle_structs_in_regs): Likewise.
|
||
* config/mips/mips.c (output_block_move): Likewise.
|
||
* config/rs6000/rs6000.c (rs6000_override_options,
|
||
rs6000_file_start): Likewise.
|
||
* config/sparc/sparc.c (sparc_add_gc_roots): Likewise.
|
||
* fixinc/fixfixes.c (FIX_TABLE_CT): Likewise.
|
||
* fixinc/fixtests.c (TEST_TABLE_CT): Likewise.
|
||
* builtins.c (expand_builtin_setjmp): Likewise.
|
||
* expr.c (safe_from_p): Likewise.
|
||
* flow.c (life_analysis): Likewise.
|
||
* fold-const.c (size_int_type_wide): Likewise.
|
||
* gcc.c (translate_options, init_spec, set_spec, main): Likewise.
|
||
* genattrtab.c (make_length_attrs): Likewise.
|
||
* genopinit.c (gen_insn): Likewise.
|
||
* genrecog.c (NUM_KNOWN_PREDS, NUM_SPECIAL_MODE_PREDS): Likewise.
|
||
* global.c (global_alloc): Likewise.
|
||
* local-alloc.c (find_free_reg): Likewise.
|
||
* mips-tdump.c (print_symbol): Likewise.
|
||
* mips-tfile.c (parse_def, parse_input): Likewise.
|
||
* reload1.c (NUM_ELIMINABLE_REGS): Likewise.
|
||
* stmt.c (expand_nl_goto_receiver): Likewise.
|
||
* stor-layout.c (set_sizetype): Likewise.
|
||
* varasm.c (decode_reg_name): Likewise.
|
||
* toplev.c (decode_f_option, decode_W_option,
|
||
set_target_switch, print_switch_values): Likewise.
|
||
(NUM_ELEM): Remove macro.
|
||
(display_help, main): s/NUM_ELEM/ARRAY_SIZE/
|
||
|
||
2000-08-24 Greg McGary <greg@mcgary.org>
|
||
|
||
* tree.h (enum tree_index): New member `TI_MAIN_IDENTIFIER'.
|
||
(MAIN_NAME_P, main_identifier_node): New macros.
|
||
* c-common.c (c_common_nodes_and_builtins): Init main_identifier_node.
|
||
* c-decl.c (start_decl, grokdeclarator, start_function,
|
||
store_parm_decls, finish_function): Use MAIN_NAME_P.
|
||
* config/avr/avr.c (function_prologue, function_epilogue): Likewise.
|
||
* config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
|
||
* config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
|
||
* config/pdp11/pdp11.c (output_function_prologue): Likewise.
|
||
|
||
2000-08-24 Greg McGary <greg@mcgary.org>
|
||
|
||
* cppfiles.c (actual_directory): Don't write beyond `dir'
|
||
when it contains "".
|
||
* real.c (asctoeg): Stay within bounds of etens[][].
|
||
|
||
2000-08-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* dependence.c (dependence_string, direction_string,
|
||
dump_one_node, dump_node_dependence): Hide unused identifiers.
|
||
(get_low_bound, normalize_coefficients): Match definition to
|
||
static prototype.
|
||
(get_one_coefficient): Initialize variables `value0_is_idx' and
|
||
`value1_is_idx'.
|
||
(ziv_test, gcd_test): Mark parameters with ATTRIBUTE_UNUSED.
|
||
(ziv_test): Delete variable `idx', use parameter `sub' instead.
|
||
(direction_merge): Avoid automatic aggregate initialization.
|
||
(have_dependence_p): Use `src' not `dest' to set `src_idx'.
|
||
Initialize variables `dest_idx' and `src_idx'.
|
||
(end_dependence_analysis): Avoid C89 style function definition.
|
||
|
||
2000-08-24 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (time_char_table): Don't allow width with %F.
|
||
(check_format_info): Don't allow "Z" length with scanf.
|
||
|
||
2000-08-24 Gabriel Dos Reis <gdr@codesourcery.com>
|
||
|
||
* diagnostic.c (finish_diagnostic): Define.
|
||
(output_do_printf): Use wrap_text instead of output_add_string.
|
||
(default_print_error_function): Avoid embedded '\n'.
|
||
|
||
* diagnostic.h (flush_diagnostic_buffer): Declare.
|
||
|
||
2000-08-23 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* dependence.c: Replace `[][]' with `[][MAX_SUBSCRIPTS]'.
|
||
|
||
2000-08-23 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* Makefile.in (GCC_PASSES): Add specs.
|
||
|
||
2000-08-23 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* frame.h (IA64_UNW_EHANDLER, IA64_UNW_UHANDLER): New.
|
||
* config/ia64/frame-ia64.c (__get_personality): Return zero if neither
|
||
EHANDLER nor UHANDLER bit is set.
|
||
(__get_except_table): Likewise.
|
||
|
||
2000-08-23 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/arm/lib1funcs.asm: Replace upper case condition codes
|
||
with lower case versions.
|
||
|
||
* config/arm/arm.h (STRUCT_VALUE): Define.
|
||
(STRUCT_VALUE_REGNUM): Delete.
|
||
|
||
2000-08-23 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* cpphash.h (IN_I): New flag for directive table.
|
||
* cpplib.c (DIRECTIVE_TABLE): Mark #define, #undef, #ident, and
|
||
#pragma with IN_I.
|
||
(_cpp_check_directive): If -fpreprocessed, execute directives
|
||
marked with IN_I. Issue no warnings in this case.
|
||
* cpplex.c (_cpp_get_token): Expand no macros if -fpreprocessed.
|
||
|
||
2000-08-23 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (print_char_table): Allow 'I' flag with %d, %i and
|
||
%u.
|
||
(check_format_info): Support printf 'I' flag; warn about it with
|
||
-pedantic.
|
||
|
||
2000-08-23 Richard Earnshaw (rearnsha@arm.com)
|
||
|
||
* arm.c (arm_expand_prologue): Ensure that the stack-adjustment
|
||
barrier can't be ignored by the alias analysis code.
|
||
|
||
2000-08-12 Eli Zaretskii <eliz@is.elta.co.il>
|
||
|
||
* fixinc/inclhack.def (sysv68_string): Fix the Sed script so it
|
||
works inside fixincl.
|
||
|
||
Wed Aug 23 04:55:48 2000 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* simplify-rtx.c (simplify_rtx): Don't pass VOIDmode to
|
||
simplify_relational_operation() unless both operands are of
|
||
VOIDmode.
|
||
* cse.c (fold_rtx): Likewise.
|
||
|
||
Tue Aug 22 23:53:27 EDT 2000 John Wehle (john@feith.com)
|
||
|
||
* rtlanal.c (rtx_unstable_p): The pic register is stable
|
||
(within one function) and the actual rtx should be used
|
||
when checking the registers.
|
||
(rtx_addr_can_trap_p): Pic memory addresses can't trap.
|
||
|
||
* alias.c (true_dependence, write_dependence_p): Fix
|
||
bug in previous patch.
|
||
|
||
* i386.c (ix86_GOT_alias_set): New.
|
||
(legitimize_pic_address): Use it.
|
||
|
||
* rtlanal.c (rtx_unstable_p): An unchanging MEM is
|
||
only stable if its address is stable.
|
||
(rtx_varies_p): An unchanging MEM can't vary if
|
||
its address doesn't vary.
|
||
|
||
2000-08-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* c-parse.in (unop +): Restrict -Wtraditional warnings to user code.
|
||
|
||
2000-08-22 J. David Anglin <dave@hiauly1.hia.nrc.ca>
|
||
|
||
* vax.h (ASM_SPEC): Pass `-J' to assembler.
|
||
* x-vax-gcc: New file for bootstrapping with gcc.
|
||
* x-vax: Use X_CFLAGS rather than X_CPPFLAGS to pass `-J'.
|
||
* configure.in: Use x-vax-gcc with gcc.
|
||
* configure: Rebuilt.
|
||
|
||
Tue Aug 22 21:21:05 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* toplev.c (rest_of_compilation): Rebuild label notes after
|
||
post-reload splitting pass if new labels have been created.
|
||
|
||
2000-08-22 Gabriel Dos Reis <gdr@codesourcery.com>
|
||
|
||
* diagnostic.h (output_buffer_state): New macro.
|
||
* diagnostic.c (diagnostic_for_decl, sorry,
|
||
default_print_error_function, output_do_verbatim,
|
||
report_diagnostic, report_problematic_module): Use it.
|
||
(wrap_text): Tweak.
|
||
(output_format): Use wrap_text instead of maybe_wrap_text.
|
||
|
||
2000-08-22 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/arm/lib1funcs.asm (ARM_DIV_MOD_BODY): New macro.
|
||
Common code for ARM divide and modulus functions.
|
||
(THUMB_DIV_MOD_BODY): New macro. Thumb equivalent of
|
||
ARM_DIV_MOD_BODY.
|
||
(FUNC_END): New macro: Common code at the end of the division and
|
||
modulo functions.
|
||
(THUMB_FUNCTION_START): New macro: Common code at the start of
|
||
Thumb functions.
|
||
(__divsi3, __udivsi3, __modsi3, __umodsi3): Use new macros.
|
||
|
||
Tue Aug 22 20:34:52 2000 Kaz Kojima <kkojima@rr.iij4u.or.jp>
|
||
|
||
* config/sh/sh.md (cmpeqdi_t splitter): Fix a reverse testing.
|
||
|
||
* config/sh/sh.c (prepare_scc_operands): Apply force_reg to
|
||
sh_compare_op1 when the mode is DImode and sh_compare_op1 isn't
|
||
const0_rtx.
|
||
|
||
2000-08-22 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/arm/lib1funcs.asm (__umodsi3): Before performing any
|
||
restorative additions, test for bottom bits of IP being set,
|
||
rather than relying upon the RORs not matching.
|
||
(__modsi3): Ditto.
|
||
|
||
2000-08-22 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* aix.h (ASM_DECLARE_FUNCTION_NAME): Call named_section() or
|
||
text_section() as appropriate instead of emitting text csect
|
||
pseudo-op directly.
|
||
(TEXT_SECTION_ASM_OP): Only require default 32-bit alignment.
|
||
(UNIQUE_SECTION): Define macro.
|
||
(ASM_OUTPUT_SECTION_NAME): Define macro.
|
||
* rs6000.c (rs6000_override_options): Disable -ffunction-sections
|
||
on AIX if debugging and -fdata-sections always.
|
||
|
||
2000-08-22 Steven King <sxking@uswest.net>
|
||
|
||
* config/float-i386.h (LDBL_EPSILON): Remove __convert_long_double
|
||
machinery.
|
||
(LDBL_MAX): Same here.
|
||
|
||
2000-08-22 Richard Henderson <rth@cygnus.com>
|
||
|
||
* flow.c (tidy_fallthru_edge): Update b->end properly.
|
||
|
||
2000-08-22 Stan Cox <scox@redhat.com>
|
||
|
||
* Makefile.in (OBJS): Add dependence.o.
|
||
* dependence.c: New file.
|
||
|
||
2000-08-22 Alexandre Oliva <aoliva@redhat.com>, John David Anglin <dave.anglin@nrc.ca>
|
||
|
||
* calls.c (check_sibcall_argument_overlap_1): Adjust for
|
||
ARGS_GROW_DOWNWARD.
|
||
(check_sibcall_argument_overlap): Likewise.
|
||
|
||
2000-08-22 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* invoke.texi (SH Options): Document -m4-nofpu,
|
||
-m4-single-only, -m4-single, -m4, -mbigtable, -mfmovd,
|
||
-mhitachi, -mnomacsave, -misize, -mpadstruct, -mspace.
|
||
|
||
2000-08-22 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (check_format_info): Give the 'some locales' warning
|
||
for strftime %Ey rather than the unconditional 'only last 2 digits
|
||
of year' one.
|
||
|
||
2000-08-22 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alias.c (init_alias_analysis): Do not register
|
||
struct_value_incoming_rtx or static_chain_rtx as pointing
|
||
to stack memory.
|
||
|
||
Tue Aug 22 01:44:43 2000 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* protoize.c (munge_compile_params): Fix typo and formatting buglets.
|
||
|
||
2000-08-22 Gabriel Dos Reis <gdr@codesourcery.com>
|
||
|
||
* diagnostic.h (report_problematic_module): Declare.
|
||
* diagnostic.c (report_problematic_module): New function.
|
||
(report_error_function): Tweak.
|
||
|
||
Tue Aug 22 02:31:26 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* stmt.c (expand_goto_internal, fixup_gotos): Only check
|
||
TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE.
|
||
|
||
2000-08-21 Richard Henderson <rth@cygnus.com>
|
||
|
||
* flow.c (calculate_global_regs_live): Mark frame pointer live
|
||
everywhere before reload.
|
||
|
||
2000-08-21 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* real.c (ereal_from_int, ereal_from_uint, significand_size): Handle
|
||
INTEL_EXTENDED_IEEE_FORMAT.
|
||
(toe64): Delete INTEL_EXTENDED_IEEE_FORMAT support. Unconditionally
|
||
clear last two bytes of output FP value.
|
||
|
||
2000-08-21 Graham Stott <grahams@cygnus.co.uk>
|
||
|
||
* config/ia64/ia64.h (REDO_SECTION_INFO_P): Change decl to DECL.
|
||
|
||
2000-08-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* unroll.c (loop_find_equiv_value): If ret is modified between
|
||
insn and loop_start, ret might not be equivalent to reg.
|
||
|
||
2000-08-21 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (init_dollar_format_checking,
|
||
maybe_read_dollar_number, finish_dollar_format_checking): New
|
||
functions.
|
||
(dollar_arguments_used, dollar_arguments_count,
|
||
dollar_first_arg_num, dollar_max_arg_used, dollar_format_warned):
|
||
New variables.
|
||
(check_format_info): Support $ formats for scanf and printf width
|
||
and precision. Always increment format_chars to advance past the
|
||
'*' of precision, not just when the format parameters are
|
||
available to check.
|
||
|
||
2000-08-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* mips.c (block_move_loop, expand_block_move,
|
||
function_arg_partial_nregs, save_restore_insns, function_prologue,
|
||
mips_expand_prologue, RA_MASK): Avoid using the `U' integer
|
||
constant suffix.
|
||
(function_arg_advance, function_arg): Match argument to format
|
||
specifier `%p'.
|
||
|
||
2000-08-21 Nix <nix@esperi.demon.co.uk>
|
||
|
||
* gcc.c (do_spec_1): Implement %j spec flag.
|
||
Remove dead comment.
|
||
|
||
* gcc.texi (The Configuration File): Document HOST_BIT_BUCKET.
|
||
* system.h (HOST_BIT_BUCKET): Default to "/dev/null".
|
||
* config/i386/xm-dos.h (HOST_BIT_BUCKET): Define as "NUL".
|
||
* config/i386/xm-os2.h, config/winnt/winnt.h: Likewise.
|
||
|
||
* protoize.c (munge_compile_params): Use HOST_BIT_BUCKET (if
|
||
writable) instead of hardcoded value.
|
||
|
||
* toplev.c (compile_file): Output to a file even if -fsyntax-only.
|
||
|
||
* gcc.c, config/i386/xm-dos.h, config/i386/xm-os2.h: Kill
|
||
MKTEMP_EACH_FILE.
|
||
|
||
* gcc.c (cc1_options): Do not process -o or run the assembler if
|
||
-fsyntax-only.
|
||
* objc/lang-spec.h: Likewise.
|
||
|
||
2000-08-21 Eli Zaretskii <eliz@is.elta.co.il>
|
||
|
||
* fixinc/fixincl.c (fix_with_system): Pipe the output of
|
||
"external" fixes through `cat', to avoid truncating the input
|
||
file by redirection.
|
||
|
||
2000-08-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/i386/i386.md (lea_general_1): Copy insn condition to split
|
||
condition.
|
||
(lea_general_2, lea_general_3): Likewise.
|
||
|
||
2000-08-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* c-decl.c (duplicate_decls, define_label): Restrict -Wtraditional
|
||
warnings to user code.
|
||
|
||
* c-lex.c (readescape, yylex): Likewise.
|
||
|
||
* c-typeck.c (store_init_value, process_init_element): Likewise
|
||
(c_expand_start_case): Format.
|
||
|
||
2000-08-18 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
|
||
|
||
* mips/linux.h (LINK_SPEC): Use %(endian_spec).
|
||
|
||
* mips/mips.h: Change LINKER_ENDIAN_SPEC to ENDIAN_SPEC
|
||
and linker_endian_spec to endian_spec.
|
||
(ENDIAN_SPEC): Add %{EB} and %{EL}.
|
||
(LINK_SPEC): Remove %{EB} and %{EL}.
|
||
(ASM_SPEC): Likewise. Use %(endian_spec).
|
||
|
||
2000-08-21 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-tree.h (flag_hosted): Move declaration from here...
|
||
* c-common.h (flag_hosted): ... to here.
|
||
(flag_noniso_default_format_attributes): New declaration.
|
||
* c-decl.c (flag_noniso_default_format_attributes): New variable.
|
||
(c_decode_option): Set it appropriately for options choosing
|
||
language standard variant.
|
||
* c-common.c (init_function_format_info): Only provide default
|
||
format attributes if flag_hosted. Only provide the gettext
|
||
formats if flag_noniso_default_format_attributes. Update
|
||
comments.
|
||
(check_format_info): Disable treatment of %a as a scanf flag in
|
||
C99 mode.
|
||
|
||
2000-08-21 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (scan_char_table): Add 'w' to flags for all formats
|
||
except 'n'.
|
||
(check_format_info): Set 'wide' for scanf format widths. Warn for
|
||
a zero scanf width. Make the check for writing into a constant
|
||
object at the first level of indirection; at later levels, warn if
|
||
any type qualifiers are encountered.
|
||
|
||
Mon Aug 21 07:41:12 2000 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* reload.c (reload_inner_reg_of_subreg): New function broken out of
|
||
push_reload.
|
||
(push_reload): Use reload_inner_reg_of_subreg.
|
||
(combine_reloads): Do not combine reloads if the input reload
|
||
is a SUBREG in which the inner part will need reloading.
|
||
|
||
* global.c (global_alloc): Avoid passing dumpfile argument to
|
||
reload routines.
|
||
* toplev.c (rest_of_compilation): Likewise.
|
||
* reload.h (reload): Remove dumpfile argument. Callers changed.
|
||
(debug_reload, debug_reload_to_stream): Move prototypes here.
|
||
* rtl.h (reload): Remove dumpfile argument.
|
||
* reload.c (debug_reload): Remove prototype.
|
||
(debug_reload_to_stream): Likewise.
|
||
* reload1.c: Avoid passing dumpfile around, rely on rtl_dump_file
|
||
instead.
|
||
|
||
2000-08-21 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
|
||
|
||
* diagnostic.c (context_as_prefix): Export.
|
||
(need_error_newline): Remove.
|
||
(lang_diagnostic_starter, lang_diagnostic_finalizer): New objects.
|
||
(error_module_changed, record_last_error_module,
|
||
error_function_changed, record_last_error_function): New functions.
|
||
(initialize_diagnostics): Default initialize
|
||
lang_diagnostic_starter, lang_diagnostic_finalizer.
|
||
(init_output_buffer): Tweak.
|
||
(file_name_as_prefix): New function.
|
||
(announce_function, default_print_error_function,
|
||
report_error_function, set_diagnostic_context): Tweak.
|
||
|
||
2000-08-21 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* flow.c (init_propagate_block_info): Handle SUBREG in a jump
|
||
condition expression.
|
||
|
||
2000-08-20 Richard Henderson <rth@cygnus.com>
|
||
|
||
* flow.c (merge_blocks_nomove): Don't seek back past the bb note.
|
||
|
||
2000-08-20 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* cppinit.c (cpp_init): Set global flag when called.
|
||
(cpp_reader_init): Bomb out if cpp_init hasn't been called.
|
||
|
||
Sun Aug 20 01:41:35 2000 Dennis Chernoivanov <cdi@sparc.spb.su>
|
||
|
||
* cpplex.c (cpp_scan_buffer): Move `output_line_command' just
|
||
before `process_directive' so that newlines won't be missed
|
||
for directives.
|
||
(cpp_printf): Increment `print->lineno' when newline is emitted.
|
||
|
||
* cppmain.c (cb_ident): Likewise.
|
||
(cb_define): Likewise.
|
||
(cb_undef): Likewise.
|
||
(cb_include): Likewise.
|
||
(cb_def_pragma): Likewise.
|
||
(dump_macros_helper): Likewise.
|
||
|
||
2000-08-20 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/ia64/ia64.c (emit_insn_group_barriers): Stop if ar.lc
|
||
assigned before a loop.
|
||
|
||
* config/ia64/ia64.md (ashlsi3): Zero extend the shift count.
|
||
(ashrsi3, lshrsi3): Likewise.
|
||
|
||
2000-08-20 Gabriel Dos Reis <gdr@codesourcery.com>
|
||
|
||
* c-lang.c: #include diagnostic.h
|
||
(c_tree_printer): New function.
|
||
(lang_init): Initialize lang_printer.
|
||
|
||
* Makefile.in (c-lang.o): Depends on diagnostic.h
|
||
|
||
2000-08-20 Gabriel Dos Reis <gdr@codesourcery.com>
|
||
|
||
* c-errors.c (pedwarn_c99): Adjust call to report_diagnostic.
|
||
|
||
* diagnostic.c (default_diagnostic_starter,
|
||
default_diagnostic_finalizer): New functions.
|
||
(diagnostic_for_asm, diagnostic_for_decl): Tweak.
|
||
(pedwarn, pedwarn_with_file_and_line, error,
|
||
error_with_file_and_line, fatal, warning,
|
||
warning_with_file_and_line): Adjust call to report_diagnostic.
|
||
(report_diagnostic): Rework.
|
||
(set_diagnostic_context): New function.
|
||
|
||
* diagnostic.h (struct diagnostic_context): New data structure.
|
||
(diagnostic_message, diagnostic_argument_list,
|
||
diagnostic_file_location, diagnostic_line_location,
|
||
diagnostic_is_warning, diagnostic_starter, diagnostic_finalizer,
|
||
diagnostic_finalizer, diagnostic_auxiliary_data): New macros.
|
||
(set_diagnostic_context): Declare.
|
||
(report_diagnostic): Change prototype.
|
||
|
||
Sun 20-Aug-2000 09:25:45 BST Neil Booth <NeilB@earthling.net>
|
||
|
||
* fix-header.c (main): Initialize cpplib.
|
||
|
||
2000-08-19 Michael Meissner <meissner@redhat.com>
|
||
|
||
* ifcvt.c (find_if_block): Do not assume that a THEN block has any
|
||
instructions in it before checking for indirect jumps.
|
||
|
||
* ifcvt.c (find_if_block): Do not consider a THEN block that ends
|
||
in a indirect jump as a potential for conditional execution.
|
||
|
||
* d30v.h (d30v_init_expanders): Don't declare here.
|
||
* d30v-protos.h (d30v_init_expanders): Declare here with a valid
|
||
prototype.
|
||
|
||
Sat 19-Aug-2000 21:11:45 BST Neil Booth <NeilB@earthling.net>
|
||
|
||
* cpp.texi: Add @section for assertions.
|
||
|
||
Sat Aug 19 12:37:08 EDT 2000 John Wehle (john@feith.com)
|
||
|
||
* loop.c (scan_loop): Use CONST_CALL_P instead of
|
||
checking for REG_LIBCALL / REG_RETVAL.
|
||
|
||
Sat Aug 19 09:18:47 2000 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* reload1.c (reload_as_needed): Accept dumpfile argument,
|
||
pass it to emit_reload_insns.
|
||
(emit_reload_insns): Add new dumpfile argument. If non-null
|
||
then dump the reloads for each insn into the dumpfile.
|
||
(reload): Pass dumpfile to reload_as_needed.
|
||
|
||
* invoke.texi: Clean up linux-gnu vs linux comments.
|
||
|
||
2000-08-19 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/ia64/ia64.c (reg_or_5bit_operand): New.
|
||
(ia64_depz_field_mask): New.
|
||
* config/ia64/ia64.h (CONSTRAINT_OK_FOR_R): New.
|
||
(PREDICATE_CODES): Update.
|
||
* config/ia64/ia64.md: Update commentary.
|
||
(depz_internal): New.
|
||
(ashlsi3): Implement directly.
|
||
(ashrsi3, lshrsi3): Simplify; rely on extv and extzv for constants.
|
||
(ashldi3): Use shladd.
|
||
* config/ia64/ia64-protos.h: Update.
|
||
|
||
2000-08-18 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* toplev.c (independent_decode_option): Always process -g.
|
||
Remove third argument, now unused. Adjust caller to match.
|
||
|
||
2000-08-18 Richard Henderson <rth@cygnus.com>
|
||
|
||
* combine.c (make_compound_operation): Break after creating
|
||
the extraction.
|
||
|
||
2000-08-18 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* cpplib.c (cpp_register_pragma_space): Just return if the
|
||
namespace is already registered.
|
||
|
||
2000-08-18 Ray Essick <essick@ddna.labs.mot.com> & Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/mcore/mcore.md (rotlsi3): Allow allow rotations by a
|
||
constant amount. Do not generate ROTL instruction.
|
||
|
||
Fri Aug 18 16:22:20 2000 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* config/sh/elf.h: Do not include sh/sh.h.
|
||
* config/sh/rtems.h: Likewise.
|
||
* config/sh/rtemself.h: Do not include sh/elf.h.
|
||
* configure.in: Get them included with `tm_file's.
|
||
* configure: Rebuilt.
|
||
|
||
* config/sh/sh.md (fpu_switch0, fpu_switch1): Simplify.
|
||
* config/sh/sh.c (fpscr_set_from_mem): Use them.
|
||
|
||
Fri Aug 18 14:23:18 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* stor-layout.c (compute_record_type): Don't use mode of single
|
||
field as mode of record if not integer mode of same type.
|
||
|
||
* regmove.c (perhaps_ends_bb_p): New function.
|
||
(optimize_reg_copy_1, optimize_reg_copy_2): Call it.
|
||
(optimize_reg_copy_3, fixup_match_2, regmove_optimize): Likewise.
|
||
(fixup_match_1): Likewise.
|
||
(fixup_match_1, combine_stack_adjustments_for_block): Add casts to
|
||
avoid signed/unsigned warnings.
|
||
|
||
* function.c (fixup_var_refs_1, case MEM): Update CODE after
|
||
updating X.
|
||
|
||
Fri 18-Aug-2000 18:33:45 BST Neil Booth <NeilB@earthling.net>
|
||
|
||
* cpphash.h: Use HAVE_DESIGNATED_INITIALIZERS.
|
||
(_cpp_trigraph_map): Declaration moved from cpplex.c
|
||
|
||
* cppinit.c: Define _cpp_trigraph_map. Use UCHAR_MAX + 1
|
||
instead of 256. Use consistent test for designated initializers.
|
||
(cpp_init): Initialize trigraph_map.
|
||
(initialize_standard_includes, parse_option): Use memcmp
|
||
instead of strncmp.
|
||
|
||
* cpplex.c (init_trigraph_map): Remove.
|
||
(trigraph_ok, trigraph_replace, lex_line): Refer to
|
||
_cpp_trigraph_map.
|
||
|
||
* cpplib.c (str_match, WARNING, ERROR, ICE): Delete.
|
||
(do_unassert): Remove unused "next" local.
|
||
|
||
* system.h (HAVE_DESIGNATED_INITIALIZERS): New prototype.
|
||
|
||
2000-08-18 Emmanuel Marty <emarty@suntech.fr>
|
||
|
||
* arm/lib1funcs.asm (_umodsi3 THUMB VARIANT): Restore deleted return
|
||
insn.
|
||
|
||
2000-08-17 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/ia64/ia64.c (spill_restore_mem): Handle emitting
|
||
the first insn in a sequence.
|
||
|
||
Thu Aug 17 22:40:05 EDT 2000 John Wehle (john@feith.com)
|
||
|
||
* alias.c (true_dependence, write_dependence_p): A read
|
||
involving a label_ref or the constant pool doesn't create
|
||
a dependency.
|
||
|
||
* rtl.h (unchanging): Improve documentation.
|
||
|
||
2000-08-17 Rodney Brown <RodneyBrown@mynd.com>
|
||
|
||
* cse.c (insert_regs): Remove unused `regno'.
|
||
|
||
2000-08-17 Neil Booth <NeilB@earthling.net>
|
||
|
||
* (cppinit.c) merge_include_chains: Use remove_dup_dir,
|
||
remove_dup_dirs. If qtail == brack, remove brack not
|
||
qtail.
|
||
(remove_dup_dir, remove_dup_dirs): New functions.
|
||
|
||
2000-08-17 Neil Booth <NeilB@earthling.net>
|
||
|
||
* cppinit.c (cpp_cleanup): Free include dir chains.
|
||
* cpplib.c (do_undef): Let _cpp_free_definition make the node void.
|
||
(do_unassert): Free the assert with _cpp_free_definition.
|
||
* cppmacro.c (_cpp_free_definition): Free memory allocated for
|
||
assertions. Make the node a T_VOID node.
|
||
|
||
2000-08-17 Neil Booth <NeilB@earthling.net>
|
||
|
||
* cppinit.c (path_include, append_include_chain):
|
||
Remove 2nd parameter (struct cpp_pending *).
|
||
(path_include, initialize_standard_includes, cpp_handle_option):
|
||
Update callers appropriately.
|
||
(cpp_handle_option): Use pend.
|
||
|
||
2000-08-17 Neil Booth <NeilB@earthling.net>
|
||
|
||
* cppinit.c (sort_options): Remove, put functionality in
|
||
cpp_init.
|
||
(cpp_init): New.
|
||
(initialize_builtins): Free memory.
|
||
(cpp_start_read): Move init_IStable to cpp_init.
|
||
|
||
* cpplib.h (cpp_init): New prototype.
|
||
* cppmain.c (main): Call cpp_init.
|
||
|
||
Thu Aug 17 13:20:32 EDT 2000 John Wehle (john@feith.com)
|
||
|
||
* rtlanal.c (rtx_unstable_p): Use CONSTANT_P.
|
||
(rtx_unstable_p, rtx_varies_p): Process vectors.
|
||
|
||
2000-08-16 Niibe Yutaka <gniibe@m17n.org>, Kaz Kojima <kkojima@rr.iij4u.or.jp>
|
||
|
||
* config/sh/lib1funcs.asm (GLOBAL): Define. Use for all
|
||
references to GLOBAL symbols. Use LOCAL where appropriate.
|
||
|
||
2000-08-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* configure.in (*-ibm-aix4.[12]*): Delete test for gnu ld. Always
|
||
use t-aix41 when host == target.
|
||
|
||
2000-08-16 Richard Henderson <rth@cygnus.com>
|
||
|
||
* reload.c (push_secondary_reload): Revert last change.
|
||
If we use a reload_in/out pattern, make the when the same
|
||
as the primary reload.
|
||
(find_reloads): Likewise.
|
||
|
||
2000-08-16 Manfred Hollstein <manfredh@redhat.com>
|
||
|
||
* configure.in (libstdcxx-v3): Fix test.
|
||
* configure: Regenerate.
|
||
|
||
Wed Aug 16 08:10:32 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* calls.c (calls_function_1, expand_call): Only test
|
||
TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE.
|
||
* function.c (thread_prologue_and_epilogue_insns): Likewise.
|
||
|
||
2000-08-16 Richard Henderson <rth@cygnus.com>
|
||
|
||
* combine.c (simplify_shift_const): Revert previous two
|
||
changes. If SHIFT_COUNT_TRUNCATED, crop the shift count
|
||
before the main loop.
|
||
|
||
2000-08-15 Richard Henderson <rth@cygnus.com>
|
||
|
||
* combine.c (simplify_shift_const): Bound shift count when
|
||
combining shifts.
|
||
|
||
Tue Aug 15 17:33:05 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* calls.c (ECF_SP_DEPRESSED): New macro.
|
||
(calls_function_1): Treat calling sp-depressed function as alloca.
|
||
(emit_call_1): Don't adjust SP if calling sp-depressed function.
|
||
(expand_call): Set ECF_SP_DEPRESSED if TYPE_RETURNS_STACK_DEPRESSED.
|
||
If sp-depressed, ensure block saves and restores SP.
|
||
* fold-const.c (extract_muldiv): Only check TYPE_IS_SIZETYPE
|
||
for INTEGER_TYPE.
|
||
* function.c (keep_stack_depressed): New function.
|
||
(thread_prologue_and_epilogue_insns): Call it.
|
||
* print-tree.c (print_node): Use HOST_WIDE_INT_PRINT_UNSIGNED
|
||
to print DECL_OFFSET_ALIGN.
|
||
Print no-force-blk and transparent-union flags properly.
|
||
* stmt.c (expand_goto_internal): Don't restore stack if last block
|
||
and function returns with sp depressed.
|
||
(fixup_gotos): Likewise.
|
||
(save_stack_pointer): New function, from code in expand_decl.
|
||
(expand_decl): Call new function.
|
||
* tree.h (TYPE_IS_SIZETYPE): Call INTEGER_TYPE_CHECK.
|
||
(TYPE_RETURNS_STACK_DEPRESSED): New macro.
|
||
(save_stack_pointer): New declaration.
|
||
|
||
* diagnostic.c (fatal_function): New variable.
|
||
(set_fatal_function): New function.
|
||
(fatal): Call it.
|
||
* diagnostic.h (set_fatal_function): New declaration.
|
||
|
||
2000-08-15 William Cohen <wcohen@redhat.com>
|
||
|
||
* config/sh/elf.h (DWARF2_DEBUGGING_INFO): Defined.
|
||
(PREFERRED_DEBUGGING_TYPE): Set to dwarf2 info.
|
||
(DWARF2_ASM_LINE_DEBUG_INFO): Defined.
|
||
|
||
2000-08-15 Richard Henderson <rth@cygnus.com>
|
||
|
||
* flow.c (mark_used_reg): Set reg_cond_reg appropriately.
|
||
|
||
2000-08-15 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* arm.c (arm_function_ok_for_sibcall): New function.
|
||
* arm.h (FUNCTION_OK_FOR_SIBCALL): Define.
|
||
* arm.md (call expanders): Don't check here for calls that can't
|
||
be sibling calls.
|
||
|
||
2000-08-15 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* arm.md (splits generating cond_exec): Disable.
|
||
|
||
2000-08-15 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* arm/linux-elf.h (text_section): Delete declaration.
|
||
|
||
2000-08-15 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
ARM support for unordered FP operations.
|
||
* arm-protos.h (arm_comparison_operator): Declare.
|
||
* arm.c (arm_comparison_operator): New function.
|
||
(arm_select_cc_mode): Add unordered comparison codes.
|
||
(get_arm_condition_code): Likewise.
|
||
(arm_final_prescan_insn): Can't handle unordered jumps that can't
|
||
be done in one insn.
|
||
* arm.h (PREDICATE_CODES): Add arm_comparison_operator.
|
||
* arm.md (all uses of comparison_operator): Replace with
|
||
arm_comparison_operator.
|
||
(bunordered, bordered, bugt, bunlt, bunge, bunle, buneq, bltgt): New
|
||
expands.
|
||
(arm_buneq, arm_bltgt, arm_buneq_reversed, arm_bltgt_reveresed): New
|
||
patterns.
|
||
|
||
Tue Aug 15 00:36:36 2000 Ovidiu Predescu <ovidiu@cup.hp.com>
|
||
|
||
* gthr-posix.h: Conditionally include <sched.h>; include
|
||
<config.h> from libobjc/.
|
||
|
||
2000-08-14 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/i386/i386.c (legitimize_pic_address): Use Pmode
|
||
for all CONSTs.
|
||
|
||
2000-08-14 Richard Henderson <rth@cygnus.com>
|
||
|
||
* configure.in (ia64-*): Set float_format for i386 long double.
|
||
|
||
* real.c (GET_REAL): Treat 128-bit INTEL_EXTENDED_IEEE_FORMAT
|
||
as we would for i386 XFmode.
|
||
(PUT_REAL): Likewise.
|
||
(endian, ereal_atof, real_value_truncate): Likewise.
|
||
(ereal_isneg, toe64, etens, make_nan): Likewise.
|
||
* real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Likewise.
|
||
|
||
* config/ia64/ia64-protos.h: Update.
|
||
* config/ia64/ia64.c (general_tfmode_operand): New.
|
||
(destination_tfmode_operand): New.
|
||
(tfreg_or_fp01_operand): New.
|
||
(ia64_split_timode): New.
|
||
(spill_tfmode_operand): New.
|
||
(ia64_expand_prologue): Use TFmode not XFmode.
|
||
(ia64_expand_epilogue): Likewise.
|
||
(ia64_function_arg): Likewise.
|
||
(ia64_function_arg_advance): Likewise.
|
||
(ia64_return_in_memory): Likewise.
|
||
(ia64_function_value): Likewise.
|
||
(ia64_print_operand): Likewise.
|
||
(ia64_register_move_cost): Set GR<->FR to 5.
|
||
(ia64_secondary_reload_class): Get GR for TImode memory op.
|
||
* config/ia64/ia64.h (ROUND_TYPE_SIZE): Remove.
|
||
(ROUND_TYPE_ALIGN): Remove.
|
||
(LONG_DOUBLE_TYPE_SIZE): Set to 128.
|
||
(INTEL_EXTENDED_IEEE_FORMAT): Define.
|
||
(HARD_REGNO_NREGS): Use TFmode, not XFmode.
|
||
(HARD_REGNO_MODE_OK): Likewise. Disallow TImode in FRs.
|
||
(MODES_TIEABLE_P): Use TFmode, not XFmode.
|
||
(CLASS_MAX_NREGS): Likewise.
|
||
(ASM_OUTPUT_LONG_DOUBLE): Output by 4 byte hunks.
|
||
(PREDICATE_CODES): Update.
|
||
* config/ia64/ia64.md (movti): New.
|
||
(movti_internal): Use a clobber for memory alternatives.
|
||
(reload_inti, reload_outti): New.
|
||
(movsfcc_astep): Predicate properly.
|
||
(movdfcc_astep): Likewise.
|
||
(movxf): Remove.
|
||
(movtf): New.
|
||
(extendsftf2, extenddftf2): New.
|
||
(trunctfsf2, trunctfdf2): New.
|
||
(floatditf2, fix_trunctfdi2): New.
|
||
(floatunsditf2, fixuns_trunctfdi2): New.
|
||
(addtf3, subtf3, multf3, abstf2): New.
|
||
(negtf2, nabstf2, mintf3, maxtf3): New.
|
||
(maddtf3, msubtf3, nmultf3, nmaddtf3): New.
|
||
(cmptf): New.
|
||
(fr_spill): Use TFmode, not XFmode.
|
||
(fr_restore): Likewise.
|
||
* config/ia64/lib1funcs.asm (__divtf3): New.
|
||
* config/ia64/t-ia64 (LIB1ASMFUNCS): Add it.
|
||
|
||
2000-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* cse.c (fold_rtx): Avoid empty body in an if-statement.
|
||
|
||
* doloop.c (doloop_iterations_max, doloop_modify): Avoid using the
|
||
`U' integer constant suffix.
|
||
|
||
* dwarf2out.c (add_subscript_info): Avoid empty body in an
|
||
else-statement.
|
||
|
||
* sparc/sol2.h (__enable_execute_stack): Prototype.
|
||
|
||
2000-08-14 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* collect2.c: Remove use of AIX import file.
|
||
|
||
* longlong.h: Test ARCH_PWR not ARCH_POWER.
|
||
|
||
* rs6000.c (print_operand, case 'E'): Add else.
|
||
|
||
2000-08-14 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/ia64/ia64.md (movdi): Delay calling ia64_expand_load_address.
|
||
(movdi_symbolic): New.
|
||
|
||
2000-08-14 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* config/ia64/ia64.h (ASM_SPEC): Pass -mconstant-gp and -mauto-pic
|
||
to GNU as. For Intel as, pass -M const_gp and -M no_plabel.
|
||
* config/ia64/linux.h (ASM_SPEC): Pass -mconstant-gp and -mauto-pic
|
||
to GNU as.
|
||
|
||
2000-08-14 Richard Henderson <rth@cygnus.com>
|
||
|
||
* expr.c (emit_group_load): Don't force constants into registers.
|
||
Special case source already in the correct mode.
|
||
|
||
2000-08-14 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* configure.in: Accept *-*-linux* not just *-*-linux-gnu*.
|
||
* fixinc/inclhack.def: Likewise.
|
||
* fixinc/mkfixinc.sh: Likewise.
|
||
* configure: Regenerate.
|
||
* fixinc/fixincl.x: Regenerate.
|
||
* install.texi: Document equivalence of linux and linux-gnu.
|
||
|
||
Mon Aug 14 18:51:44 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* cse.c (insert_regs): Also in REG case: When finding an invalid
|
||
value, and we make a new quantity, make sure that it won't be
|
||
mistaken by for a valid one by mention_regs.
|
||
|
||
2000-08-13 Ralf G<>tlein <ralf.guetlein@aranea.de>
|
||
|
||
* h8300.md: Remove obsolete peepholes.
|
||
|
||
2000-08-13 Kazu Hirata <kazu@hxi.com>
|
||
|
||
* invoke.texi (H8/300 Options): Fix typos.
|
||
* config/h8300.c: Fix formatting.
|
||
* config/h8300.h: Fix comment typos.
|
||
(OVERRIDE_OPTIONS): Fix formatting.
|
||
|
||
* function.c: Fix formatting.
|
||
|
||
* cse.c: Fix formatting.
|
||
|
||
2000-08-13 Geoff Keating <geoffk@cygnus.com>
|
||
|
||
* flow.c (attempt_auto_inc): Remove unused variable `bb'.
|
||
(attempt_auto_inc): Suppress parentheses warning.
|
||
* function.c (put_reg_into_stack): Remove unused variable `unsigned_p'.
|
||
* loop.c (load_mems): Remove `u' suffix in two places.
|
||
* config/rs6000/rs6000.c: Remove unnecessary `u' suffixes from
|
||
hex constants.
|
||
* config/rs6000/rs6000.h: Likewise.
|
||
* config/rs6000/sol-c0.c: Prototype some functions. Remove the
|
||
__eabi dummy routine.
|
||
* config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Remove unused
|
||
variable `buf_ptr'.
|
||
|
||
* config/rs6000/rs6000.c (rs6000_select_section): Rewrite to
|
||
not put stuff in .sdata unnecessarily.
|
||
(rs6000_unique_section): New function.
|
||
* config/rs6000/rs6000-protos.h: Add rs6000_unique_section.
|
||
* config/rs6000/sysv4.h (UNIQUE_SECTION): Define.
|
||
|
||
* c-typeck.c (build_array_ref): Don't complain about non-lvalue
|
||
arrays in C99. Don't try to look at DECL_REGISTER of a
|
||
COMPONENT_REF. Don't complain twice about the same error.
|
||
|
||
* fixinc/inclhack.def (aix_pthread): New fix.
|
||
(aix_sysmachine): New fix.
|
||
* fixinc/fixincl.x: Regenerate.
|
||
|
||
* expr.c (expand_expr): Call convert_modes when turning a large
|
||
multiply into a small one.
|
||
|
||
2000-08-12 Geoff Keating <geoffk@cygnus.com>
|
||
|
||
* tree.h (DECL_OFFSET_ALIGN): Make the off_align field of
|
||
the tree structure an exponent rather than an explicit alignment
|
||
so it doesn't overflow.
|
||
(SET_DECL_OFFSET_ALIGN): New macro.
|
||
* stor-layout.c (place_union_field): Use SET_DECL_OFFSET_ALIGN
|
||
rather than DECL_OFFSET_ALIGN.
|
||
(place_field): Likewise.
|
||
* expmed.c (store_bit_field): Abort on align==0 to avoid
|
||
antisocial machine behaviour.
|
||
|
||
2000-08-12 Richard Henderson <rth@cygnus.com>
|
||
|
||
* sibcall.c (uses_addressof): Accept both addressof and
|
||
current_function_internal_arg_pointer inside a mem.
|
||
(optimize_sibling_and_tail_recursive_call): Fail tail recursion
|
||
if current_function_uses_addressof.
|
||
* stmt.c (expand_return): Kill tail recursion and HAVE_return
|
||
optimizations.
|
||
|
||
2000-08-11 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/ia64/ia64.md (addsi3): Remove expander.
|
||
(subsi3, mulsi3, negsi2, one_cmplsi2): Likewise.
|
||
(*addsi3_shladd): New.
|
||
|
||
2000-08-11 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/ia64/ia64.c (do_spill): Pass cfa offset to move expander.
|
||
(do_restore): Likewise.
|
||
(gen_movdi_x, gen_fr_spill_x, gen_fr_restore_x): New.
|
||
(ia64_expand_prologue, ia64_expand_epilogue): Use them.
|
||
(rtx_needs_barrier): Track actual bit manipulation for
|
||
ar.unat moves, gr_spill, and gr_restore.
|
||
(emit_insn_group_barriers): Special case gr_spill/gr_restore.
|
||
(process_set): Don't handle varargs spills.
|
||
* config/ia64/ia64.md (gr_spill): Accept cfa offset. Emit
|
||
.mem.offset here instead of in process_set.
|
||
(gr_restore): Likewise.
|
||
|
||
2000-08-11 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/ia64/ia64.h (PROMOTE_MODE): Only extend to SImode.
|
||
|
||
2000-08-11 Mark Elbrecht <snowball3@bigfoot.com>
|
||
|
||
* gcc.texi (The Configuration File): Document
|
||
COLLECT2_HOST_INITIALIZATION, GCC_DRIVER_HOST_INITIALIZATION, and
|
||
UPDATE_PATH_HOST_CANONICALIZATION.
|
||
|
||
2000-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* c-parse.in (cast_expr): Avoid -Wstrict-prototype warnings for
|
||
unprototyped function pointer casts on integer constants.
|
||
|
||
2000-08-11 Laurynas Biveinis <lauras@softhome.net>
|
||
|
||
* fixproto: Recognize DOS paths with drive letters as absolute paths.
|
||
|
||
2000-08-11 Nathan Sidwell <nathan@codesourcery.com>
|
||
|
||
* extend.texi (Volatiles): Fix typos.
|
||
|
||
2000-08-11 Kazu Hirata <kazu@hxi.com>
|
||
|
||
* flow.c: Fix formatting.
|
||
|
||
2000-08-11 Richard Henderson <rth@cygnus.com>
|
||
|
||
* reload.c (push_secondary_reload): When invoking a reload_{in,out}
|
||
pattern, always allocate a tertiary scratch register.
|
||
|
||
* config/alpha/alpha.md (reload_inqi): Use a DImode scratch.
|
||
(reload_inhi): Likewise.
|
||
|
||
2000-08-11 Richard Henderson <rth@cygnus.com>
|
||
|
||
* function.c (put_reg_into_stack): Allow type to be NULL.
|
||
(schedule_fixup_var_refs): Likewise.
|
||
(gen_mem_addressof): Allow decl to be NULL.
|
||
(put_addressof_into_stack): Likewise.
|
||
|
||
* flow.c (merge_blocks_nomove): Be more careful about
|
||
locating the beginning of block A.
|
||
|
||
* combine.c (simplify_shift_const): Obey SHIFT_COUNT_TRUNCATED.
|
||
|
||
Thu Aug 10 22:47:09 2000 Ovidiu Predescu <ovidiu@cup.hp.com>
|
||
|
||
* configure.in:
|
||
* configure:
|
||
* gthr-posix.h:
|
||
* config.in: Reverted the check for <sched.h>.
|
||
|
||
2000-08-10 Chris Demetriou <cgd@sibyte.com>
|
||
|
||
* mips/elf.h (CTOR_SECTION_NAME, DTOR_SECTION_NAME): New
|
||
macros define the name of CTOR and DTOR sections.
|
||
(CTOR_LIST_BEGIN, CTOR_LIST_END, DTOR_LIST_BEGIN,
|
||
DTOR_LIST_END): Change to use attributes to specify
|
||
sections.
|
||
* mips/elf64.h (CTOR_SECTION_NAME, DTOR_SECTION_NAME,
|
||
(CTOR_LIST_BEGIN, CTOR_LIST_END, DTOR_LIST_BEGIN,
|
||
DTOR_LIST_END): Same as in mips/elf.h.
|
||
|
||
2000-08-10 Drew Moseley <dmoseley@redhat.com>
|
||
|
||
* config/mn10300/mn10300.h: Added no-crt0 option for explicitly
|
||
disabling just crt0.o.
|
||
|
||
2000-08-10 Richard Earnshaw <rearnshaw@arm.com> & Nick Clifton <nickc@cygnus.com>
|
||
|
||
* arm.h (CPP_SPEC): Use sub-spec cpp_interwork.
|
||
(CPP_INTERWORK_SPEC, CPP_INTERWORK_DEFAULT_SPEC): New sub-specs.
|
||
(EXTRA_SPECS): Add them.
|
||
* arm/lib1funcs.asm: Support builds for interworking.
|
||
Use macros to eliminate duplicated pieces of code.
|
||
|
||
2000-08-10 Kazu Hirata <kazu@hxi.com>
|
||
|
||
* h8300.c (expand_a_rotate): New.
|
||
(emit_a_rotate): Likewise.
|
||
(h8300_adjust_insn_length): Add support for the rotate insns.
|
||
* h8300.md (rotlqi3): New.
|
||
(*rotlqi3_1): Likewise.
|
||
(rotlhi3): Likewise.
|
||
(*rotlhi3_1): Likewise.
|
||
(rotlhi3): Likewise.
|
||
(*rotlhi3_1): Likewise.
|
||
* h8300-proto.h: Add prototypes for expand_a_rotate and
|
||
emit_a_rotate.
|
||
|
||
* h8300.c: Fix comment typos.
|
||
(dosize): Declare the variable amount as unsigned.
|
||
(get_shift_alg): Fix a comparison between signed and unsigned.
|
||
(emit_a_shift): Likewise.
|
||
(h8300_adjust_insn_length): Simplify the code.
|
||
|
||
* c-decl.c: Fix formatting.
|
||
|
||
2000-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* c-lex.c (parse_float, yylex): For -Wtraditional, issue a
|
||
warning about non-traditional numeric constant suffixes.
|
||
|
||
* cppexp.c (parse_number): Likewise.
|
||
|
||
* invoke.texi: (-Wtraditional): Document new behavior.
|
||
|
||
Thu Aug 10 00:11:04 2000 Ovidiu Predescu <ovidiu@cup.hp.com>
|
||
|
||
* gthr-posix.h: Include auto-host.h. Conditionally include
|
||
<sched.h>.
|
||
* configure.in: Check for the <sched.h> header file.
|
||
* config.in: Added define for HAVE_SCHED_H.
|
||
|
||
2000-08-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* c-typeck.c (process_init_element): For -Wtraditional, warn about
|
||
initialization of unions.
|
||
|
||
* invoke.texi (-Wtraditional): Document new behavior.
|
||
|
||
2000-08-09 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* configure.in (--enable-c-cpplib): Uncomment. Use AC_DEFINE
|
||
instead of extra_c_flags.
|
||
(--enable-c-mbchar): Use AC_DEFINE instead of extra_c_flags.
|
||
* configure: Regenerate.
|
||
* config.in: Regenerate.
|
||
|
||
* cpperror.c (cpp_type2name): New function.
|
||
* cpplex.c (lex_line): If we issued an error for an invalid
|
||
preprocessing directive, discard that logical line.
|
||
* cpplib.c (do_line): Call a hook function if the current file
|
||
is renamed by #line.
|
||
(do_ident): Pass the contents of the string, not the entire
|
||
token, to the callback function.
|
||
* cpplib.h (CPP_LAST_PUNCTUATOR): New #define.
|
||
(cb.rename_file): New hook function.
|
||
(cb.ident): Adjust prototype.
|
||
(cpp_type2name): Prototype.
|
||
* cppmacro.c (dump_macro_args): Correct precedence lossage.
|
||
|
||
* cppmain.c (cb_ident): Update for changed interface.
|
||
(cb_rename_file): New function.
|
||
(main): Set rename callback.
|
||
|
||
2000-08-09 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* caller-save.c (mark_referenced_regs): Mark partially-overwritten
|
||
multi-word registers.
|
||
|
||
2000-08-08 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (combine_strings, check_format_info): Refer to ISO C
|
||
or ISO C89 instead of ANSI C.
|
||
* c-decl.c (grokdeclarator, xref_tag, finish_struct,
|
||
build_enumerator, do_case): Likewise.
|
||
* c-lex.c (parse_float, yylex): Likewise.
|
||
* c-parse.in: Likewise.
|
||
* c-typeck.c (common_type, build_array_ref, build_binary_op,
|
||
build_unary_op, pedantic_lvalue_warning, build_conditional_expr,
|
||
build_c_cast, convert_for_assignment, set_init_index,
|
||
set_init_label, c_expand_start_case): Likewise.
|
||
* toplev.c (documented_lang_options, display_help): Likewise.
|
||
|
||
2000-08-08 Kazu Hirata <kazu@hxi.com>
|
||
|
||
* h8300.c: Fix formatting.
|
||
* h8300.h: Likewise.
|
||
* h8300.md: Likewise.
|
||
(movsi_h8300hs): Fix formatting of the resulting assembly code.
|
||
|
||
* reload1.c: Fix formatting.
|
||
|
||
2000-08-08 Rodney Brown <RodneyBrown@mynd.com>
|
||
|
||
* alpha/alpha.c (alpha_emit_xfloating_libcall):
|
||
Use GEN_CALL_VALUE define.
|
||
* alpha/alpha.md (untyped_call): Use GEN_CALL define.
|
||
* clipper/clipper.md (untyped_call): Likewise.
|
||
* dsp16xx/dsp16xx.md (untyped_call): Likewise.
|
||
* fx80/fx80.md (untyped_call): Likewise.
|
||
* mips/mips.md (untyped_call): Likewise.
|
||
* ns32k/ns32k.md (untyped_call): Likewise.
|
||
* pa/pa.md (untyped_call): Likewise.
|
||
* romp/romp.md (untyped_call): Likewise.
|
||
* sparc/sparc.md (untyped_call): Likewise.
|
||
|
||
2000-08-08 Jason Eckhardt <jle@cygnus.com>
|
||
|
||
* config/i860/i860.c (singlemove_string): Do not generate assembler
|
||
pseudo instructions that must be expanded (that is, with signed
|
||
constants larger than 16 bits).
|
||
|
||
2000-08-08 Richard Henderson <rth@cygnus.com>
|
||
|
||
* flow.c (life_analysis): Only turn off PROP_LOG_LINKS and
|
||
PROP_AUTOINC at -O0. Don't collect alias info at -O0.
|
||
(init_propagate_block_info): Don't kill memory stores at -O0.
|
||
(mark_set_1, mark_used_regs): Likewise.
|
||
|
||
2000-08-08 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* rs6000.c (optimization_options): Decorate 'level' as
|
||
ATTRIBUTE_UNUSED.
|
||
(mask64_operand): Remove sign-extend thinko.
|
||
(rldic_operand): New function.
|
||
(load_multiple_operation): regno's are unsigned ints.
|
||
(store_multiple_operation): Likewise.
|
||
(lmw_operation): Likewise.
|
||
(stmw_operation): Likewise.
|
||
(includes_lshift_p): shift_mask is unsigned int.
|
||
(includes_lshift64_p): New function.
|
||
(addrs_ok_for_quad_peep): unsigned int reg1.
|
||
(print_operand): Consistently add "else" after
|
||
output_operand_lossage().
|
||
(print_operand, case 'b'): Fold in case 'W'.
|
||
(print_operand, case 'W'): Print rldic MB value.
|
||
(output_epilogue): Update Objective-C language string.
|
||
(output_toc): unsigned HOST_WIDE_INT low, compare unsigned.
|
||
* rs6000.h (PREDICATE_CODES): Add rldic_operand.
|
||
* rs6000.md (ashldi3): Add rldic instruction.
|
||
(iordi3, xordi3): Remove redundant "else if CONST_DOUBLE".
|
||
(cmpsi_internal2, cmpdi_interal2): Use 'b' output template
|
||
modifier.
|
||
|
||
2000-08-08 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/ia64/ia64-protos.h: Remove duplicates. Update
|
||
for massive code rearrangements.
|
||
* config/ia64/ia64.c (ia64_arpfs_regno): Remove.
|
||
(ia64_rp_regno, ia64_fp_regno, ia64_input_regs): Remove.
|
||
(ia64_local_regs, ia64_need_regstk): Remove.
|
||
(ar_ccv_reg_operand): New.
|
||
(ia64_gp_save_reg): New.
|
||
(struct ia64_frame_info): Combine most of the size elements;
|
||
add new gr save elements.
|
||
(find_gr_spill): New.
|
||
(next_scratch_gr_reg): New.
|
||
(mark_reg_gr_used_mask): New.
|
||
(ia64_compute_frame_size): Rewrite. Allocate special AR regs
|
||
to GR backing store regs when possible.
|
||
(ia64_initial_elimination_offset): New.
|
||
(ia64_rap_fp_offset): Remove.
|
||
(save_restore_insns): Remove.
|
||
(setup_spill_pointers): New.
|
||
(finish_spill_pointers): New.
|
||
(spill_restore_mem): New.
|
||
(do_spill, do_restore): New.
|
||
(ia64_expand_prologue): Rewrite to use them.
|
||
(ia64_expand_epilogue): Likewise.
|
||
(ia64_direct_return): Update for current_frame_info changes.
|
||
(ia64_function_prologue): Simplify .prologue emission. Emit
|
||
.spill when needed.
|
||
(ia64_setup_incoming_varargs): Don't ever emit rtl.
|
||
(ia64_dbx_register_number): New.
|
||
(ia64_initialize_trampoline): New.
|
||
(ia64_secondary_reload_class): Request GR_REGS for integer
|
||
arithmetic destined for FR_REGS.
|
||
(ia64_init_machine_status): Don't reset return_address_pointer_rtx.
|
||
(ia64_mark_machine_status): Mark ia64_gp_save.
|
||
(rws_access_regno): Rename from rws_access_reg; don't treat
|
||
predicates specially.
|
||
(rws_access_reg): New. Update all callers.
|
||
(rtx_needs_barrier): Remove dead unspecs.
|
||
(ia64_epilogue_uses): Mark ar.pfs and ar.unat live on exit.
|
||
(ia64_encode_section_info): Silence signed/unsigned warnings.
|
||
(spill_offset, sp_offset, spill_offset_emitted): Remove.
|
||
(tmp_reg, tmp_saved): Remove.
|
||
(process_set): Rewrite to expect complicated bits via
|
||
REG_FRAME_RELATED_EXPR.
|
||
(ia64_expand_fetch_and_op): Use emit_move_insn; be explicit
|
||
in the use of ar.ccv; never set RTX_UNCHANGING_P.
|
||
(ia64_expand_op_and_fetch): Likewise.
|
||
(ia64_expand_compare_and_swap): Likewise.
|
||
(ia64_expand_builtin): Likewise.
|
||
* config/ia64/ia64.h (AR_UNAT_REGNUM): New.
|
||
(FIRST_PSEUDO_REGISTER): Update.
|
||
(AR_M_REGNO_P): Update.
|
||
(FIXED_REGS): Don't mark three local registers as used.
|
||
(EXTRA_CC_MODES): New.
|
||
(SELECT_CC_MODE): New.
|
||
(HARD_REGNO_NREGS): Allow DImode in p0; handle CCImode.
|
||
(HARD_REGNO_MODE_OK): Disallow CCImode from non-predicates.
|
||
(FRAME_GROWS_DOWNWARD): Unset.
|
||
(STARTING_FRAME_OFFSET): Zero.
|
||
(ELIMINABLE_REGS): Eliminate from the soft to hard frame pointer.
|
||
(INITIAL_ELIMINATION_OFFSET): Defer to out of line function.
|
||
(HARD_FRAME_POINTER_REGNUM): New.
|
||
(CAN_DEBUG_WITHOUT_FP): Define.
|
||
(TRAMPOLINE_TEMPLATE): Remove.
|
||
(TRAMPOLINE_SIZE): Lower to 32.
|
||
(TRAMPOLINE_ALIGNMENT): Lower to 64.
|
||
(INITIALIZE_TRAMPOLINE): Defer to out of line function.
|
||
(PREDICATE_CODES): Update.
|
||
(struct machine_function): Add ia64_gp_save.
|
||
* config/ia64/ia64.md: Purge unused unspecs.
|
||
(movsi patterns): Allow moves to/from AR_M_REGS.
|
||
(movdi patterns): Allow moves to/from p0.
|
||
(call patterns): Move most setjmp hackery to ia64_gp_save_reg.
|
||
(gr_spill, gr_restore): Indicate ar.unat read/written.
|
||
(nonlocal_goto): Don't pass old frame_pointer.
|
||
(nonlocal_goto_receiver): Remove.
|
||
(exception_receiver): New.
|
||
(builtin_setjmp_setup): New.
|
||
(builtin_setjmp_receiver): New.
|
||
* config/ia64/lib1funcs.asm (__ia64_save_stack_nonlocal): Bundle.
|
||
(__ia64_nonlocal_goto): Bundle. Don't kill r7.
|
||
(__ia64_restore_stack_nonlocal): Likewise.
|
||
(__ia64_trampoline): New.
|
||
* config/ia64/sysv4.h (DBX_REGISTER_NUMBER): Defer to out of line
|
||
function.
|
||
* config/ia64/t-ia64 (LIB1ASMFUNCS): Add __trampoline.
|
||
|
||
2000-08-08 Richard Henderson <rth@cygnus.com>
|
||
|
||
* frame.h (ia64_frame_state): Add my_psp.
|
||
* libgcc2.c (ia64_throw_helper): Add throw_sp argument.
|
||
(__throw): Pass it in. Don't clobber r7.
|
||
* config/ia64/frame-ia64.c (init_ia64_reg_loc): Mark inline.
|
||
(execute_one_ia64_descriptor) [mem_stack_v]: Sets psp.when
|
||
and nothing to do with sp.
|
||
(normalize_reg_loc): Use frame->my_psp.
|
||
(frame_translate): Handle frame-pointer-less functions. Set
|
||
spill_base correctly, in absence of being told.
|
||
(__build_ia64_frame_state): New sp argument. Fill in frame->my_sp.
|
||
(__ia64_backtrace_helper): New sp argument. Use
|
||
builtin_return_address instead of label addresses.
|
||
(print_record) [mem_stack_v]: No size member.
|
||
|
||
2000-08-08 Richard Henderson <rth@cygnus.com>
|
||
|
||
* regclass.c (choose_hard_reg_mode): Iterate over all CC modes.
|
||
|
||
2000-08-08 Richard Henderson <rth@cygnus.com>
|
||
|
||
* tm.texi (LOCAL_REGNO): Document.
|
||
* flow.c (LOCAL_REGNO, EPILOGUE_USES): Provide default.
|
||
(mark_regs_live_at_end): Don't mark LOCAL_REGNO registers.
|
||
* reload1.c (reload): Likewise when considering nonlocal labels.
|
||
|
||
* config/ia64/ia64.h (LOCAL_REGNO): New.
|
||
* config/sparc/sparc.h (LOCAL_REGNO): New.
|
||
|
||
2000-08-08 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-lex.c (yylex): Don't allow integer suffixes 'LUL', 'Ll', 'lL'.
|
||
|
||
2000-08-07 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/mips/mips.c: Fix compile time warning messages.
|
||
* config/mips/mips-protos.h: Add prototype for equality_op.
|
||
|
||
* mn10300.h (TARGET_SWITCHES): Document `-mam33'.
|
||
|
||
2000-08-07 Graham Stott <grahams@cygnus.co.uk>
|
||
|
||
* mn10300.md: Use nonimmediate_operand instead of general_operand
|
||
on output operands.
|
||
|
||
* mn10300.h (PREFERRED_RELOAD_CLASS): Limit memory reloads.
|
||
|
||
2000-08-07 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* sh.h (EXTRA_CONSTRAINT_Q): Adjust to GNU Coding Standards.
|
||
* sh.c (expand_block_move): Break long lines.
|
||
(expand_ashiftrt, fpscr_set_from_mem): Likewise.
|
||
* sh.md (mulsi3): Likewise.
|
||
(movdi): Adjust spacing.
|
||
|
||
2000-08-07 Richard Henderson <rth@cygnus.com>
|
||
|
||
* expmed.c (store_bit_field): Don't require MEM_IN_STRUCT_P.
|
||
* expr.c (emit_group_store): Don't set it.
|
||
|
||
2000-08-07 Kazu Hirata <kazu@hxi.com>
|
||
|
||
* invoke.texi (Options for Debugging Your Program or GCC): Remove
|
||
duplicate entries for 'w' and 'z'.
|
||
|
||
* flow.c: Fix a comment typo.
|
||
|
||
Sun Aug 6 23:47:35 2000 Ovidiu Predescu <ovidiu@cup.hp.com>
|
||
|
||
* c-parse.in: Changed the language string for Objective-C to "GNU
|
||
Objective-C".
|
||
|
||
Sun Aug 6 11:54:03 2000 Ovidiu Predescu <ovidiu@cup.hp.com>
|
||
|
||
* gthr-posix.h: Integrated Chris Ball's <cball@fmco.com> changes
|
||
to improve the Posix thread support for Objective-C.
|
||
|
||
2000-08-06 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.h (enum c_tree_index): Add CTI_SIGNED_SIZE_TYPE and
|
||
CTI_UNSIGNED_PTRDIFF_TYPE.
|
||
(signed_size_type_node): Define.
|
||
(unsigned_ptrdiff_type_node): Define.
|
||
* c-decl.c (init_decl_processing): Create the
|
||
signed_size_type_node and unsigned_ptrdiff_type_node types.
|
||
* c-common.c (T_SC): Define.
|
||
(T_SST): Define.
|
||
(T_UPD): Define.
|
||
(print_char_table): Use T_SST for %zd, %zi, %zn. Use T_UPD for
|
||
%to, %tu, %tx, %tX. Allow %hhn (T_SC). Add "c" to the flags for
|
||
%s and %p.
|
||
(scan_char_table): Use T_SC for %hhd, %hhi, %hhn. Use T_SST for
|
||
%zd, %zi, %zn. Use T_UPD for %to, %tu, %tx, %tX. Add "c" to the
|
||
flags for %c, %s and %[.
|
||
(check_format_info): Only allow leniency for signedness of targets
|
||
of character pointers (when pedantic) for formats flagged with
|
||
"c", so for strings but not for %hh formats. When pedantic, don't
|
||
allow character pointers to substitute for void pointers if a
|
||
second level of indirection is present.
|
||
|
||
2000-08-06 Kazu Hirata <kazu@hxi.com>
|
||
|
||
* invoke.texi (Options for Debugging Your Program or GCC): Update
|
||
the names of dump files.
|
||
|
||
* h8300.c (dosize): Rearrange code for conciseness.
|
||
(split_adds_subs): Likewise.
|
||
|
||
* loop.c: Fix formatting.
|
||
|
||
* dwarf2out.c: Fix formatting.
|
||
|
||
* tm.texi (FUNCTION_ARG_PARTIAL_NREGS): Fix a typo.
|
||
|
||
* expr.c: Fix formatting.
|
||
|
||
2000-08-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* rs6000.c (rs6000_maybe_dead): Prototype.
|
||
|
||
2000-08-06 Richard Henderson <rth@cygnus.com>
|
||
|
||
* stmt.c (expand_goto): Do virtual_stack_vars_rtx replacement for
|
||
HAVE_nonlocal_goto as well.
|
||
* config/i960/i960.md (nonlocal_goto): Don't do it here.
|
||
* config/pj/pj.md (nonlocal_goto): Likewise.
|
||
|
||
2000-08-07 Michael Hayes <mhayes@cygnus.com>
|
||
|
||
* loop.c (try_swap_copy_prop): New function.
|
||
(load_mems): Rename copies to load_copies and add new regset
|
||
store_copies. Check for sets of shadow registers and mark
|
||
in store_copies. Call try_swap_copy_prop for registers
|
||
marked in store_copies.
|
||
|
||
Sun Aug 6 00:54:42 2000 Ovidiu Predescu <ovidiu@cup.hp.com>
|
||
|
||
* objc/objc-act.c: New command line option -fconstant-string-class
|
||
to allow specifying a user defined constant string class,
|
||
different from NXConstantString.
|
||
|
||
* toplev.c: Moved the Objective-C specific options to
|
||
objc/lang-options.h.
|
||
|
||
* objc/lang-options.h: Moved the Objective-C specific options from
|
||
toplev.c. Added -fconstant-string-class.
|
||
|
||
2000-08-05 Chris Demetriou <cgd@sibyte.com>
|
||
|
||
* mips/elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END,
|
||
DTOR_LIST_BEGIN, DTOR_LIST_END): change type of
|
||
__CTOR_LIST__ from func_ptr array to just func_ptr, to
|
||
avoid extra alignment imposed on arrays.
|
||
* mips/elf64.h (CTOR_LIST_BEGIN, CTOR_LIST_END,
|
||
DTOR_LIST_BEGIN, DTOR_LIST_END): Likewise.
|
||
|
||
* mips.h: Clean up comments and spacing near MASKs.
|
||
(TARGET_UNIX_ASM): Delete.
|
||
(MASK_MIPS16, MASK_NO_CHECK_ZERO_DIV, MASK_CHECK_RANGE_DIV,
|
||
MASK_UNINIT_CONST_IN_RODATA): Change values to make mask
|
||
values contiguous.
|
||
|
||
2000-08-05 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (print_char_table): Add entries for the X/Open '
|
||
format flag (print decimals with locale's thousands grouping
|
||
character). Make %C expect wint_t.
|
||
(check_format_info): If pedantic, warn when the %n$ operand
|
||
number form is used. Allow for the ' flag; warn about it if
|
||
pedantic.
|
||
|
||
2000-08-05 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* i386.h (FUNCTION_OK_FOR_SIBCALL): Not OK if DECL's return
|
||
type is a float mode, cfun->decl's return type is not, and
|
||
TARGET_FLOAT_RETURNS_IN_80387.
|
||
|
||
2000-08-04 Andreas Schwab <schwab@suse.de>
|
||
|
||
* cppmain.c (cb_def_pragma): Skip the first two tokens from the
|
||
token list, which are always `#' and `pragma'.
|
||
|
||
2000-08-04 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* tree.c (tree_expr_nonnegative_p): Move to...
|
||
* fold-const.c: ... here. Also handle BIND_EXPR and RTL_EXPR.
|
||
(rtl_expr_nonnegative_p): New.
|
||
* tree.h: Add prototype for rtl_expr_nonnegative_p.
|
||
|
||
* real.h (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH, CONST_DOUBLE_MEM,
|
||
CONST_DOUBLE_CHAIN: Move to...
|
||
* rtl.h: ...here. Use XCINT/XCEXP.
|
||
|
||
* Makefile.in: Remove toplev.o from OBJS. Add rule to make
|
||
libbackend.a; add libbackend.a to STAGESTUFF. Add BACKEND
|
||
variable. Use BACKEND when linking cc1, not OBJS. Add BACKEND
|
||
to VOL_FILES.
|
||
|
||
* objc/Make-lang.in (cc1obj): Link with $(BACKEND).
|
||
|
||
2000-08-05 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
|
||
|
||
* config/c4x/c4x.md (return_indirect_internal): New.
|
||
* config/c4x/c4x.c (c4x_expand_epilogue): Use it.
|
||
|
||
2000-08-04 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (time_char_table): Mark up formats added in C99 and
|
||
make other corrections. %D and %g were added in C99. %Og is an
|
||
extension. %EX is permitted. %R, %T, %n, %r, %t were added in
|
||
C99. %e was added in C99. %Oj is an extension. %G and %z are in
|
||
C99 rather than GNU extensions, but %OG and %Oz are extensions.
|
||
%h was added in C99. %C was added in C99. %OY and %OC are
|
||
extensions. Add the C99 format %F.
|
||
(check_format_info): If pedantic and not in C99 mode, warn for C99
|
||
formats, %E and %O.
|
||
|
||
Fri Aug 4 23:01:58 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* function.c (schedule_fixup_var_refs): New function, broken out
|
||
of put_reg_into_stack.
|
||
(put_reg_into_stack): Use it.
|
||
(put_var_into_stack): In CONCAT case, fixup up references for
|
||
components only after fixing up references to the whole concat.
|
||
|
||
2000-08-04 Rodney Brown <RodneyBrown@pmsc.com>
|
||
|
||
* alias.c (mark_constant_function): Use INSN_P.
|
||
(init_alias_analysis): Likewise.
|
||
* combine.c (combine_instructions): Use INSN_P.
|
||
(can_combine_p): Likewise.
|
||
(try_combine): Likewise.
|
||
(distribute_notes): Likewise.
|
||
(distribute_links): Likewise.
|
||
* cse.c (cse_around_loop): Use INSN_P.
|
||
(invalidate_skipped_block): Likewise.
|
||
(cse_set_around_loop): Likewise.
|
||
(cse_end_of_basic_block): Likewise.
|
||
(delete_trivially_dead_insns): Likewise.
|
||
* emit-rtl.c (unshare_all_rtl_again): Use INSN_P.
|
||
(unshare_all_rtl_1): Likewise.
|
||
(next_cc0_user): Likewise.
|
||
(try_split make_insn_raw): Likewise.
|
||
(remove_unnecessary_notes): Likewise.
|
||
* final.c (shorten_branches): Use INSN_P.
|
||
(leaf_renumber_regs): Likewise.
|
||
(leaf_renumber_regs_insn): Likewise.
|
||
* flow.c (find_label_refs): Use INSN_P.
|
||
(verify_wide_reg): Likewise.
|
||
(notice_stack_pointer_modification): Likewise.
|
||
(count_or_remove_death_notes): Likewise.
|
||
(verify_flow_info): Likewise.
|
||
(clear_log_links): Likewise.
|
||
* function.c (fixup_var_refs_insns): Use INSN_P.
|
||
(compute_insns_for_mem): Likewise.
|
||
* gcse.c (alloc_gcse_mem): Use INSN_P.
|
||
(compute_sets): Likewise.
|
||
(compute_hash_table): Likewise.
|
||
(classic_gcse): Likewise.
|
||
(cprop): Likewise.
|
||
(insert_insn_end_bb): Likewise.
|
||
(delete_null_pointer_checks_1): Likewise.
|
||
* global.c (expand_preferences): Use INSN_P.
|
||
(build_insn_chain): Likewise.
|
||
* graph.c (node_data): Use INSN_P.
|
||
* haifa-sched.c (priority): Use INSN_P.
|
||
(rm_line_notes): Likewise.
|
||
(rm_other_notes): Likewise.
|
||
(find_insn_reg_weight): Likewise.
|
||
(init_target_units): Likewise.
|
||
(schedule_block): Likewise.
|
||
(compute_block_forward_dependences): Likewise.
|
||
(debug_dependencies): Likewise.
|
||
(set_priorities): Likewise.
|
||
* integrate.c (function_cannot_inline_p): Use INSN_P.
|
||
(save_parm_insns): Likewise.
|
||
(copy_insn_list): Likewise.
|
||
* jump.c (mark_all_labels): Use INSN_P.
|
||
(never_reached_warning): Likewise.
|
||
* lcm.c (optimize_mode_switching): Use INSN_P.
|
||
* local-alloc.c (validate_equiv_mem): Use INSN_P.
|
||
(memref_used_between_p): Likewise.
|
||
(update_equiv_regs): Likewise.
|
||
(block_alloc): Likewise.
|
||
(no_conflict_p): Likewise.
|
||
* loop.c (scan_loop): Use INSN_P.
|
||
(find_and_verify_loops): Likewise.
|
||
(count_loop_regs_set): Likewise.
|
||
(loop_reg_used_before_p): Likewise.
|
||
(strength_reduce): Likewise.
|
||
(recombine_givs): Likewise.
|
||
(check_dbra_loop): Likewise.
|
||
(load_mems): Likewise.
|
||
(try_copy_prop): Likewise.
|
||
* print-rtl.c (print_rtx): Use INSN_P.
|
||
* recog.c (find_single_use): Use INSN_P.
|
||
* reg-stack.c (stack_regs_mentioned): Use INSN_P.
|
||
(next_flags_user): Likewise.
|
||
(swap_rtx_condition): Likewise.
|
||
* regmove.c (mark_flags_life_zones): Use INSN_P.
|
||
(optimize_reg_copy_1): Likewise.
|
||
(optimize_reg_copy_2): Likewise.
|
||
(optimize_reg_copy_3): Likewise.
|
||
(reg_is_remote_constant_p): Likewise.
|
||
(fixup_match_2): Likewise.
|
||
(regmove_optimize): Likewise.
|
||
(fixup_match_1): Likewise.
|
||
* regrename.c (build_def_use): Use INSN_P.
|
||
(replace_reg_in_block): Likewise.
|
||
(consider_use): Likewise.
|
||
* reload.c (find_equiv_reg): Use INSN_P.
|
||
* reload1.c (reload): Use INSN_P.
|
||
(maybe_fix_stack_asms): Likewise.
|
||
(calculate_needs_all_insns): Likewise.
|
||
(reload_as_needed): Likewise.
|
||
(emit_output_reload_insns): Likewise.
|
||
(delete_address_reloads_1): Likewise.
|
||
(reload_cse_regs_1): Likewise.
|
||
(reload_combine): Likewise.
|
||
(reload_cse_move2add): Likewise.
|
||
* reorg.c (redundant_insn): Use INSN_P.
|
||
(dbr_schedule): Likewise.
|
||
* resource.c (find_dead_or_set_registers): Use INSN_P.
|
||
(mark_target_live_regs): Likewise.
|
||
* rtlanal.c (reg_used_between_p): Use INSN_P.
|
||
(reg_referenced_between_p): Likewise.
|
||
(reg_set_between_p): Likewise.
|
||
(reg_set_p): Likewise.
|
||
(single_set): Likewise.
|
||
(multiple_sets): Likewise.
|
||
(find_last_value): Likewise.
|
||
(reg_set_last): Likewise.
|
||
(find_reg_note): Likewise.
|
||
(find_regno_note): Likewise.
|
||
* sibcall.c (sequence_uses_addressof): Use INSN_P.
|
||
* simplify-rtx.c (cselib_process_insn): Use INSN_P.
|
||
* ssa.c (find_evaluations): Use INSN_P.
|
||
(rename_block): Likewise.
|
||
(rename_equivalent_regs): Likewise.
|
||
* unroll.c (loop_find_equiv_value): Use INSN_P.
|
||
(set_dominates_use): Likewise.
|
||
* varasm.c (mark_constant_pool): Use INSN_P.
|
||
(mark_constants): Likewise.
|
||
* config/alpha/alpha.c (alpha_does_function_need_gp): Use INSN_P.
|
||
(alphaev4_next_group): Likewise.
|
||
(alphaev5_next_group): Likewise.
|
||
* config/c4x/c4x.c (c4x_process_after_reload): Use INSN_P.
|
||
(c4x_rptb_rpts_p): Likewise.
|
||
* config/mips/mips.c (mips16_optimize_gp): Use INSN_P.
|
||
* config/rs6000/rs6000.c (uses_TOC): Use INSN_P.
|
||
(rs6000_adjust_priority): Likewise.
|
||
* config/sh/sh.c (sh_loop_align): Use INSN_P.
|
||
(machine_dependent_reorg): Likewise.
|
||
(split_branches): Likewise.
|
||
* config/tahoe/tahoe.c (tahoe_cmp_check): Use INSN_P.
|
||
|
||
Fri Aug 4 11:43:49 2000 John Wehle (john@feith.com)
|
||
|
||
* combine.c (recog_for_combine): Remove the old notes
|
||
prior to attempting to recognize the new pattern.
|
||
(distribute_notes): Ignore REG_NONNEG notes.
|
||
|
||
2000-08-04 Chandrakala Chavva <cchavva@redhat.com>
|
||
|
||
* varasm.c (output_constructor): Add .align 0 for packed vars.
|
||
|
||
2000-08-04 J. David Anglin <dave@hiauly1.hia.nrc.ca>
|
||
|
||
* configure.in: Use default thread_file even when enable_threads is
|
||
yes or dce because hpux10.20 pa port uses MULTILIB implementation.
|
||
* configure: Rebuilt.
|
||
|
||
* gthr-dce.h (__gthread_objc_condition_allocate): Fix typo.
|
||
|
||
2000-08-04 Donn Terry (donnte@microsoft.com)
|
||
|
||
* prefix.c (translate_name): Don't strip trailing DIR_SEPARATOR.
|
||
|
||
2000-08-04 Mark Elbrecht <snowball3@bigfoot.com>
|
||
|
||
* i386/x-djgpp: Delete code that conditionally modifies target_alias.
|
||
Delete code that conditionally modifies 'version'.
|
||
Delete X_CPPFLAGS. Add comment for SYSTEM_HEADER_DIR.
|
||
* i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): New macro.
|
||
* gcc.c (main): Use it.
|
||
* config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): New macro.
|
||
* prefix.c (update_path): Use it.
|
||
* i386/djgpp.h (STANDARD_INCLUDE_DIR): Define.
|
||
(MD_EXEC_PREFIX): Set to '/dev/env/DJDIR/bin/'.
|
||
(ASM_OUTPUT_SECTION_NAME): Add code attribute to sections containing
|
||
code.
|
||
(SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Default to true.
|
||
(SUBTARGET_SWITCHES): Adjust.
|
||
(WCHAR_UNSIGNED, WCHAR_TYPE_SIZE, WCHAR_TYPE): Undefine before
|
||
defining.
|
||
(WINT_TYPE, SIZE_TYPE, PTRDIFF_TYPE): Define.
|
||
|
||
2000-08-04 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.h (flag_isoc94): Declare.
|
||
* c-decl.c (flag_isoc94): Define.
|
||
(c_decode_option): Set flag_isoc94 as appropriate.
|
||
* c-common.c (T_PD, T_IM, T_UIM): Define.
|
||
(format_char_info): Add tlen and jlen.
|
||
(print_char_table): Add entries for %t and %j. Allow %zn. Allow
|
||
%F. Allow %lf.
|
||
(scan_char_table): Add entries for %t and %j. Allow %F. Allow
|
||
%l[.
|
||
(time_char_table): Add NULL entries for %t and %j.
|
||
(check_format_info): Allow for %t and %j. Warn for %F if pedantic
|
||
and not C99. Warn for %lc, %ls and %l[ if pedantic and not C94.
|
||
Warn for printf %lf if pedantic and not C99. Don't warn for empty
|
||
precision. Allow precision argument to be unsigned int. If
|
||
pedantic, warn for %p passed an argument not a pointer to possibly
|
||
qualified void or a possibly qualified character type, and for
|
||
pointer targets of the wrong sign, except for character pointers.
|
||
|
||
2000-08-04 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* ginclude/stddef.h: Don't declare wint_t unless __need_wint_t.
|
||
* c-common.h (enum c_tree_index): Add CTI_WINT_TYPE.
|
||
(wint_type_node): Define.
|
||
* c-decl.c (WINT_TYPE): Define.
|
||
(init_decl_processing): Create the wint_type_node type.
|
||
* c-common.c (T_WI): Define.
|
||
(print_char_table): Use T_WI for %lc format.
|
||
|
||
2000-08-04 Bruce Korb <bkorb@gnu.org>
|
||
|
||
* fixinc/: Verified that the MSDOS patch does not break
|
||
the UNIX functionality and applied the next three patches
|
||
from July:
|
||
|
||
2000-07-28 Eli Zaretskii <eliz@is.elta.co.il>
|
||
|
||
* fixinc/fixfixes.c (main) [__MSDOS__]: Avoid overwriting the
|
||
output file with the temporary one by appending ".X" to generate
|
||
the temporary fuile's name. If the output file already has an
|
||
extension, replace it with ".X".
|
||
|
||
* fixinc/fixincl.c (fix_with_system) [__MSDOS__]: Use $ORIGDIR,
|
||
not $DESTDIR, to find applyfix. Use sprintf instead of snprintf;
|
||
reallocate the command buffer while copying the command-line
|
||
argument. Redirect the output directly to the temporary file,
|
||
instead of going through another temporary file.
|
||
(process): Close the temporary file before unlinking it.
|
||
(machine_matches) [__MSDOS__]: If the machine doesn't match, set
|
||
the FD_SKIP_TEST flag. Pay attention to the FD_MACH_IFNOT flag.
|
||
(run_compiles): Pass p_fixd argument to machine_matches, as it
|
||
expects.
|
||
|
||
* fixinc/fixincl.sh: Export ORIGDIR. If $DJDIR is set in the
|
||
environment, assume there are no symlinks in the include
|
||
directory. When cleaning up the DONE files, look for them
|
||
case-insensitively. Don't try to remove symlinks if they aren't
|
||
there.
|
||
|
||
* fixinc/fixlib.c (make_raw_shell_str): Accept new argument smax;
|
||
all callers changed. Declare pz "const char *", to avoid compiler
|
||
warnings.
|
||
|
||
* fixinc/fixlib.h (ENV_TABLE): Get ORIGDIR from the environment.
|
||
Change prototype of make_raw_shell_str.
|
||
|
||
2000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
|
||
|
||
* fixinc/fixincl.c [__MSDOS__]: Don't include "server.h".
|
||
(initialize) [__MSDOS__]: Use tempnam.
|
||
(initialize): Don't use SIGPIPE if it is not defined.
|
||
|
||
* fixinc/fixfixes.c (main) [__MSDOS__]: freopen for stdout should
|
||
return stdout.
|
||
|
||
2000-07-25 Bruce Korb <bkorb@gnu.org>
|
||
|
||
* fixinc/fix*.[ch]: substantially reworked to make it possible
|
||
to run this program without using fork(2) or pipe(2) (i.e. in
|
||
a DOS environment).
|
||
|
||
2000-08-04 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* cppdefault.h (WINT_TYPE): Define.
|
||
* cppinit.c (builtin_array): Define __WINT_TYPE__.
|
||
* tradcpp.c (initialize_builtins): Define __WINT_TYPE__.
|
||
* tm.texi (NO_BUILTIN_WINT_TYPE, WINT_TYPE): Document.
|
||
|
||
Fri Aug 4 06:53:46 2000 Clinton Popetz <cpopetz@cygnus.com>
|
||
|
||
* (mips_legitimate_address_p): Don't allow register+offset
|
||
if the offset is large and negative, and we are compiling
|
||
for 64 bit registers.
|
||
|
||
2000-08-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
|
||
|
||
* gencodes.c (main): Define CODE_FOR_nothing as the last possible
|
||
insn_code_number + 1.
|
||
|
||
2000-08-04 Kazu Hirata <kazu@hxi.com>
|
||
|
||
* h8300.c (function_prologue): Rearrange code for conciseness.
|
||
(function_epilogue): Likewise.
|
||
* h8300.h (OK_FOR_U): Fix formatting.
|
||
|
||
* cse.c: Fix a comment typo. Fix formatting.
|
||
|
||
2000-08-03 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/i386/i386.md (return_indirect_internal): New.
|
||
* config/i386/i386.c (ix86_expand_epilogue): Use it.
|
||
|
||
2000-08-03 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* cpplex.c (parse_name): Might have to glue a CPP_OTHER token
|
||
before the name.
|
||
(lex_line): Glue @ onto the beginning of identifiers and
|
||
string constants, in Objective-C mode.
|
||
(output_token, spell_token): Handle CPP_OSTRING.
|
||
(can_paste, maybe_paste_with_next): Handle pasting @ onto the
|
||
beginning of a NAME or a STRING, in objc mode.
|
||
|
||
* cpplib.c (get_define_node): Do not permit identifiers that
|
||
begin with @ to be #defined.
|
||
* cppmacro.c (CAN_PASTE_AFTER): Add CPP_OTHER.
|
||
* cpplib.h (TTYPE_TABLE): Add CPP_OSTRING.
|
||
|
||
* c-lang.c, objc/objc-act.c (build_objc_string): Delete.
|
||
* c-tree.h (build_objc_string): Delete prototype.
|
||
* objc/objc-tree.def: Delete OBJC_STRING_CST.
|
||
* c-lex.c (yylex): Use build_string for all three kinds of strings.
|
||
|
||
* c-parse.in, objc/objc-act.c: Update commentary.
|
||
|
||
2000-08-03 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* extend.texi: Fix typo in last change.
|
||
|
||
* extend.texi: Add commentary on statement-expressions and their
|
||
interactions with C++.
|
||
|
||
2000-08-03 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* dwarf2.h (DW_LANG_Java): Change value to 0x000b.
|
||
* dwarf.h (LANG_JAVA): Change value to 0x000b.
|
||
|
||
2000-08-03 Anthony Green <green@cygnus.com>
|
||
|
||
* dwarf2out.c (gen_compile_unit_die): Add java language support.
|
||
(add_bound_info): Check for java language.
|
||
(is_java): New function.
|
||
* dwarfout.c (output_compile_unit_die): Ditto.
|
||
* dwarf.h (dwarf_source_language): Add java source language type.
|
||
* dwarf2.h (dwarf_source_language): Ditto.
|
||
|
||
Thu Aug 3 20:32:25 MET DST 2000 Jan Hubicka <jh@suse.cz>
|
||
|
||
* reg-stack.c (subst_stack_regs_pat): Use replace_reg to swap
|
||
operands.
|
||
|
||
* i386.c (ix86_expand_branch): Mode of comparison in
|
||
IF_THEN_ELSE is VOIDmode.
|
||
|
||
Thu Aug 3 10:05:53 2000 Akiko Matsushita <matusita@sra.co.jp>
|
||
|
||
* gengenrtl.c, rtl.c: Avoid #elif.
|
||
|
||
2000-08-03 Michael Poole <poole@troilus.org>
|
||
|
||
* tm.texi (Register Classes): Clarify order of sub-initializers
|
||
in REG_CLASS_CONTENTS.
|
||
|
||
Thu Aug 3 15:53:03 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
From SAITOH Masanobu:
|
||
* sh.h (ASM_OUTPUT_REG_PUSH): Fix syntax.
|
||
|
||
2000-08-03 David Billinghurst <David.Billinghurst@riotinto.com.au>
|
||
|
||
* config/i386/cygwin.h: Remove -remap from CPP_SPEC since this option
|
||
is not supported by tradcpp and isn't actually needed for cygwin.
|
||
|
||
2000-08-03 Kazu Hirata <kazu@hxi.com>
|
||
|
||
* h8300.c: Fix a comment typo.
|
||
* h8300.h (OK_FOR_U): Accept a 32-bit constant address on H8/S.
|
||
|
||
* jump.c: Fix formatting.
|
||
|
||
* toplev.c: Fix formatting.
|
||
|
||
Thu Aug 3 01:05:32 2000 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* flow.c (find_auto_inc): Verify that we've got a REG before
|
||
peeking at its regno. Fail, don't abort if we can't find
|
||
the increment of the desired register.
|
||
|
||
* pa.md (shadd height reduction patterns/splitters): Remove.
|
||
|
||
2000-08-02 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* config/ia64/ia64-protos.h (flag_ssa): Declare.
|
||
* config/ia64/ia64.md (movti_internal, movti_internal+1): New.
|
||
|
||
2000-08-02 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* dce.c: Remove all uses of assert.
|
||
* dwarf2out.c: Likewise.
|
||
* dwarfout.c: Likewise.
|
||
* ssa.c: Likewise.
|
||
|
||
2000-08-02 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* gcc.h (lang_specific_driver): Constify second argument.
|
||
* gcc.c (translate_options, process_command, main): Likewise.
|
||
Constify variables to match. Cast second argument to
|
||
pexecute.
|
||
|
||
* cppspec.c, gccspec.c: Adjust type of second argument to
|
||
lang_specific_driver, and update code as necessary.
|
||
|
||
2000-08-02 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* loop.c (scan_loop): Ensure update_end label does not
|
||
go away until reg_scan_update is run.
|
||
|
||
2000-08-02 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* c-common.h: Prototype min_precision and c_build_qualified_type here...
|
||
* c-tree.h: ... not here.
|
||
* errors.h: Prototype fancy_abort.
|
||
|
||
* emit-rtl.c (gen_lowpart_common): Move variable 'c' into
|
||
HOST_BITS_PER_WIDE_INT == 64 ifdef block.
|
||
* regrename.c (regrename_optimize): Make control flow explicit.
|
||
(replace_reg_in_block): Initialize reg_use to 0.
|
||
|
||
* i386.c (legitimate_address_p): Rename error label to
|
||
report_error to avoid namespace clash.
|
||
|
||
2000-08-02 Kazu Hirata <kazu@hxi.com>
|
||
|
||
* fold-const.c: Fix formatting.
|
||
|
||
Wed Aug 2 16:26:15 MET DST 2000 Jan Hubicka <jh@suse.cz>
|
||
|
||
* i386.c (legitimate_address_p): Accept other bases than
|
||
pic_offset_table_rtx for GOTOFF constructs.
|
||
|
||
Wed Aug 2 15:59:34 MET DST 2000 Jan Hubicka <jh@suse.cz>
|
||
|
||
* i386.md (shift to lea splitter): Use const_int_operand.
|
||
|
||
2000-08-02 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* cppexp.c, cppinit.c, cpplex.c, cpplib.c, cppmacro.c,
|
||
cppspec.c: Do not use 'legal' or 'illegal' in error messages
|
||
and comments.
|
||
|
||
* cppmain.c (cb_define, cb_undef): Don't generate any output
|
||
if not done_initializing.
|
||
* cpplex.c (maybe_paste_with_next): When the token after a ##
|
||
is an omitted rest argument, only delete the token before it
|
||
if that token is a comma. Do not warn about bogus token
|
||
pastes for , ## rest_arg.
|
||
|
||
* cpp.texi: Update.
|
||
* cpp.1: Regenerate.
|
||
|
||
2000-08-02 Fred Fish <fnf@be.com>
|
||
|
||
* config/i386/beos-elf.h (STARTFILE_SPEC): Add i386-mcount.o
|
||
when user gives -p option. Add init_term_dyn.o for BeOS 5.0
|
||
and later.
|
||
|
||
* config/i386/beos-elf.h (INCLUDE_DEFAULTS): Add additional
|
||
Be directories to search path.
|
||
|
||
Remove support for __declspec(dllimport) and __declspec(dllexport).
|
||
This is leftover cruft from the earlier BeOS gcc port when BeOS
|
||
used Microsoft's PE object file format.
|
||
* configure.in (i*86-*-beoself): Remove extra_objs=winnt.o.
|
||
* config/i386/t-beos (winnt.o): Remove Makefile frag.
|
||
* config/i386/beos-elf.h (TARGET_NOP_FUN_DLLIMPORT): Remove.
|
||
(VALID_MACHINE_DECL_ATTRIBUTE): Remove.
|
||
(VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
|
||
(MERGE_MACHINE_DECL_ATTRIBUTES): Remove.
|
||
(REDO_SECTION_INFO_P): Remove.
|
||
(ASM_EXPORT_DECL): Remove.
|
||
(ASM_DECLARE_FUNCTION_NAME): Remove.
|
||
(ASM_DECLARE_OBJECT_NAME): Remove.
|
||
(ASM_OUTPUT_ALIGNED_COMMON): Remove.
|
||
(ASM_OUTPUT_ALIGNED_DECL_COMMON): Remove.
|
||
(ASM_OUTPUT_ALIGNED_LOCAL): Remove.
|
||
(STRIP_NAME_ENCODING): Remove.
|
||
|
||
Remove support for obsolete version of BeOS that is no longer
|
||
supported by Be.
|
||
* configure.in (i*86-*-beospe*): Remove.
|
||
* config/i386/beos-pe.h: Remove.
|
||
|
||
2000-08-01 Jeffrey Oldham <oldham@codesourcery.com>
|
||
Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* Makefile.in (OBJS): Added dce.o.
|
||
(ssa.o): Updated target to include ssa.h.
|
||
(flow.o): Likewise.
|
||
(toplev.o): Likewise.
|
||
(dce.o): Created target.
|
||
* basic-block.h: Added comments.
|
||
(INVALID_BLOCK): Added definition.
|
||
(connect_infinite_loops_to_exit): Added declaration.
|
||
Moved SSA declarations to ssa.h.
|
||
* flow.c: Added inclusion of ssa.h.
|
||
(struct depth_first_search_dsS, depth_first_search_ds):
|
||
Added definitions.
|
||
(compute_immediate_postdominators): Added definition.
|
||
(connect_infinite_loops_to_exit): Likewise.
|
||
(flow_dfs_compute_reverse_init): Likewise.
|
||
(flow_dfs_compute_reverse_add_bb): Likewise.
|
||
(flow_dfs_compute_reverse_execute): Likewise.
|
||
(flow_dfs_compute_reverse_finish): Likewise.
|
||
* rtl.h (rtx/in_struct): Added use to determine insn necessity.
|
||
(LABEL_P): Added definition.
|
||
(JUMP_P): Likewise.
|
||
(NOTE_P): Likewise.
|
||
(BARRIER_P): Likewise.
|
||
(JUMP_TABLE_DATA_P): Likewise.
|
||
(INSN_DEAD_CODE_P): Likewise.
|
||
* ssa.c: Replaced inclusions with ssa.h inclusion.
|
||
(CONVERT_HARD_REGISTER_TO_SSA_P): Moved to ssa.h.
|
||
(rename_registers): Removed unnecessary variables.
|
||
* ssa.h: Created by moving declarations from ssa.c and
|
||
basic-block.h.
|
||
* timevar.def: Defined TV_DEAD_CODE_ELIM.
|
||
* toplev.c: Added ssa.h inclusion.
|
||
(dump_file_index): Added DFI_dce.
|
||
(dump_file): Added "dce" entry.
|
||
Defined flag_ssa.
|
||
(f_options): Added dce entry.
|
||
* invoke.texi: Document -fdce. Emphasize experimental status of
|
||
-fssa.
|
||
* dce.c: New file.
|
||
|
||
2000-08-01 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* cpperror.c (v_message): Split into _cpp_begin_message and
|
||
v_message macro. All callers updated.
|
||
(_cpp_begin_message): Do inhibit_errors/inhibit_warnings
|
||
checks here.
|
||
|
||
* cppfiles.c (cpp_syshdr_flags): New function.
|
||
(read_include_file): Don't call cpp_output_tokens. Call
|
||
enter_file hook.
|
||
* cppinit.c (dump_macros_helper): Moved to cppmain.c.
|
||
(cpp_reader_init): Don't initialize token_buffer. Call
|
||
_cpp_init_internal_pragmas.
|
||
(cpp_cleanup): Don't clear token_buffer.
|
||
(cpp_start_read): Don't worry about output from -D processing.
|
||
Don't call cpp_output_tokens.
|
||
(cpp_finish): Don't dump macros here. Don't call
|
||
cpp_output_tokens.
|
||
* cppmacro.c (_cpp_dump_definition): Rename
|
||
cpp_dump_definition. Write directly to a FILE *.
|
||
(dump_funlike_macro): Delete.
|
||
(dump_macro_args): New.
|
||
|
||
* cpplex.c (TOKEN_LEN): Convert to inline function.
|
||
(_cpp_grow_token_buffer, safe_fwrite, cpp_output_tokens,
|
||
cpp_scan_line, _cpp_dump_list): Delete.
|
||
(cpp_printf, cpp_output_list): New.
|
||
(output_line_command): Don't worry about entering or leaving files.
|
||
(cpp_scan_buffer): Just output each token as we hit it.
|
||
(process_directive): Don't call cpp_output_tokens.
|
||
(_cpp_glue_header_name): Don't use token_buffer.
|
||
(output_token, dump_param_spelling): Write directly to a FILE *.
|
||
|
||
* cpplib.c (pass_thru_directive, dump_macro_name,
|
||
pragma_dispatch, do_pragma_gcc): Delete.
|
||
(do_define, do_undef, parse_include, do_line, do_ident, do_pragma,
|
||
do_pragma_poison, cpp_pop_buffer): Call the appropriate hook
|
||
functions.
|
||
(do_error, do_warning, pragma_dependency): Call
|
||
_cpp_begin_message, then cpp_output_list.
|
||
(cpp_register_pragma, cpp_register_pragma_space,
|
||
_cpp_init_internal_pragmas): New.
|
||
(do_pragma): Walk the pragmas table here.
|
||
(do_pragma_once, do_pragma_poison, do_pragma_system_header,
|
||
do_pragma_dependency): Return void.
|
||
(do_pragma_implementation): Moved to cppmain.c.
|
||
|
||
* cpplib.h: Update prototypes.
|
||
(struct cpp_reader): Remove printer, token_buffer,
|
||
token_buffer_size, and limit. Add struct cb, and pragmas.
|
||
(struct cpp_printer): Remove last_id and written.
|
||
(CPP_WRITTEN, CPP_PWRITTEN, CPP_SET_WRITTEN,
|
||
CPP_ADJUST_WRITTEN): Delete.
|
||
* cpphash.h: Update prototypes.
|
||
(ufputs): New wrapper.
|
||
|
||
* cppmain.c (cb_define, cb_undef, cb_include, cb_ident,
|
||
cb_enter_file, cb_leave_file, cb_def_pragma): New functions.
|
||
(main): Set up callbacks. Register #pragma implementation.
|
||
Dump macros from here.
|
||
|
||
2000-08-01 Geoff Keating <geoffk@cygnus.com>
|
||
|
||
* rtl.h (enum reg_note): Add REG_MAYBE_DEAD.
|
||
* rtl.c (reg_note_name): Add REG_MAYBE_DEAD.
|
||
* flow.c (propagate_one_insn): Allow deletion of prologue/epilogue
|
||
insns if they have a REG_MAYBE_DEAD note attached.
|
||
* config/rs6000/rs6000.c (rs6000_maybe_dead): New function.
|
||
(rs6000_emit_load_toc_table): TOC loads may go dead.
|
||
|
||
2000-08-01 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* config/ia64/ia64.c (ia64_function_arg): Fix last change. Verify
|
||
type exists before using it. Use number of words as alignment
|
||
otherwise.
|
||
(ia64_function_arg_partial_nregs, ia64_function_arg_advance,
|
||
ia64_va_arg): Propagate ia64_function_args changes here.
|
||
|
||
2000-08-01 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/elfos.h (ASM_DECLARE_OBJECT_NAME): Care for null DECL.
|
||
* config/ia64/sysv4.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
|
||
|
||
2000-08-01 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
From Joern Rennecke:
|
||
* sh.h (CPP_SPEC, TARGET_SWITCHES): Add m4-nofpu.
|
||
* sh.md (udivsi3, divsi3): Don't use libcalls that use the FPU
|
||
unless TARGET_SH3E is set.
|
||
* t-sh (MULTILIB_MATCHES): Add m2=m4-nofpu.
|
||
|
||
* sh.md (ashlsi3_d, ashlsi3_k): Remove, replace with
|
||
(ashlsi3_std): New pattern.
|
||
(ashlsi3 expander): Use it for TARGET_SH3.
|
||
* sh.c (gen_ashift): Use it instead of ashlsi3_k.
|
||
|
||
Tue Aug 1 12:34:21 MET DST 2000 Jan Hubicka <jh@suse.cz>
|
||
|
||
* loop.c (canonicalize_condition): Use destination, not source to
|
||
determine SET's mode.
|
||
|
||
2000-07-31 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* flow.c (clear_log_links): Fix typo.
|
||
|
||
Mon Jul 31 22:19:24 2000 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* loop.c (check_dbra_loop): Make change from July 17, 2000 work
|
||
on targets which need more than one insn for a compare/cbranch
|
||
operation.
|
||
|
||
2000-07-31 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* config/ia64/ia64.c (ia64_function_arg): Use alignment not size
|
||
when computing offset.
|
||
|
||
Mon Jul 31 20:35:50 2000 Denis Chertykov <denisc@overta.ru>
|
||
|
||
* genpeep.c (main): Handle DEFINE_PEEPHOLE2.
|
||
|
||
2000-07-31 Geoff Keating <geoffk@cygnus.com>
|
||
|
||
* flow.c (clear_log_links): Nuke global_live_at_start and
|
||
global_live_at_end data, since if the log_links stuff is invalid
|
||
so is global_live_at_*.
|
||
|
||
2000-07-31 Richard Henderson <rth@cygnus.com>
|
||
|
||
* tm.texi (Addressing Modes): Clarify PRE/POST_MODIFY descriptions.
|
||
|
||
2000-07-31 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* cpplex.c (_cpp_get_line): If index is 0, return line 0 col 0.
|
||
(_cpp_get_token): Don't macro expand a just pasted token if it
|
||
was pasted at no_expand_level.
|
||
|
||
2000-07-31 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* cppmacro.c (find_param, count_params, save_expansion):
|
||
Permit 'defined' as a macro parameter name.
|
||
|
||
2000-07-31 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* Makefile.in: Rename cpp to cpp0, tradcpp to tradcpp0, and
|
||
xcpp to cpp throughout.
|
||
(native): Remove unnecessary dependency on cpp.
|
||
|
||
* gcc.c (trad_capable_cpp, C specs): Rename cpp to cpp,
|
||
tradcpp to tradcpp0.
|
||
(.i spec): Add missing output-file spec to cc1 command line.
|
||
* objc/lang-specs.h: Rename cpp to cpp0 and/or tradcpp to tradcpp0.
|
||
|
||
2000-07-31 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* c-decl.c (mesg_implicit_function_declaration): Init to -1.
|
||
(implicit_decl_warning): New function.
|
||
(implicitly_declare): Use it.
|
||
* c-typeck.c (build_external_ref): Use implicit_decl_warning
|
||
to complain about implicit decls of builtins.
|
||
|
||
* c-lang.c (lang_init): Set mesg_implicit_function_declaration
|
||
based on pedantic && flag_isoc99, if not already set.
|
||
* c-tree.h: Declare mesg_implicit_function_declaration.
|
||
Prototype implicit_decl_warning.
|
||
|
||
2000-07-30 Jeffrey D. Oldham <oldham@codesourcery.com>
|
||
|
||
* Makefile.in (ssa.o): Updated header files in dependences.
|
||
* basic-block.h: Added compute_immediate_postdominators declaration.
|
||
* config/i386/i386.h (CONVERT_HARD_REGISTER_TO_SSA_P): Added
|
||
definition.
|
||
* flow.c (compute_immediate_dominators): Updated comment.
|
||
(compute_immediate_postdominators): Added definition.
|
||
* rtl.h (HARD_REGISTER_P): Added definition.
|
||
* ssa.c: Include additional header files.
|
||
(assert): Added definition.
|
||
(ssa_rename_to_lookup): Added to reimplement ssa_rename_to to
|
||
include select hard registers.
|
||
(ssa_rename_to_insert): Likewise.
|
||
(ssa_rename_from_initialize): Likewise.
|
||
(ssa_rename_from_lookup): Likewise.
|
||
(original_register): Likewise.
|
||
(ssa_rename_from_insert): Added to reimplement ssa_rename_from to
|
||
include select hard reigsters.
|
||
(ssa_rename_from_traverse): Likewise.
|
||
(ssa_rename_from_free): Likewise.
|
||
(ssa_rename_from_print): Likewise.
|
||
(ssa_rename_from_print_1): Likewise.
|
||
(ssa_rename_from_hash_function): Likewise.
|
||
(ssa_rename_from_equal): Likewise.
|
||
(ssa_rename_from_delete): Likewise.
|
||
(simplify_to_immediate_dominators): Removed in favor of
|
||
flow.c:compute_immediate_dominators.
|
||
(find_evaluations_1): Modified to work with hard registers.
|
||
(insert_phi_node): Likewise.
|
||
(insert_phi_nodes): Likewise.
|
||
(struct rename_set_data): Updated prev_reg comment.
|
||
(create_delayed_rename): Modified to work with hard registers.
|
||
(RENAME_NO_RTX): Updated comment.
|
||
(apply_delayed_renames): Modified to work with hard registers.
|
||
(rename_insn_1): Likewise and added handling of CLOBBER rtls.
|
||
(rename_block): Updated to use revised ssa_rename_to interface.
|
||
(rename_registers): Updated to use revised ssa_rename_to and
|
||
ssa_rename_from interface.
|
||
(convert_to_ssa): Revised to use compute_immediate_dominators and
|
||
deal with hard registers.
|
||
(make_regs_equivalent_over_bad_edges): Modified to work with hard
|
||
registers. Added check for illegal unification of hard register.
|
||
(make_equivalent_phi_alternatives_equivalent): Modified to work
|
||
with hard registers.
|
||
(compute_conservative_reg_partition): Likewise.
|
||
(coalesce_if_unconflicting): Modified to work with hard registers
|
||
and check for conflicting hard registers.
|
||
(mark_phi_and_copy_regs): Revised loop to work only on pseudo
|
||
registers.
|
||
(rename_equivalent_regs_in_insn): Modified to work with hard
|
||
registers.
|
||
(record_canonical_element_1): Added definition.
|
||
(check_hard_regs_in_partition): Added definition.
|
||
(convert_from_ssa): Added data structure deallocation and check
|
||
for illegal hard register unification.
|
||
(conflict_hard_regs_p): Added definition.
|
||
* toplev.c (rest_of_compilation): Added comment.
|
||
|
||
2000-07-31 Anthony Green <green@redhat.com>
|
||
|
||
* config/ia64/crtbegin.asm (__EH_FRAME_BEGIN__): Align correctly.
|
||
|
||
2000-07-31 Jason McMullan <jmcmullan@linuxcare.com>
|
||
|
||
* builtins.c (expand_builtin_apply): Don't defer pop during
|
||
argument setup.
|
||
|
||
2000-07-31 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
|
||
|
||
* calls.c (combine_pending_stack_adjustment_and_call): Only use
|
||
preferred_unit_stack_boundary when it is > 1.
|
||
|
||
2000-07-31 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-common.c (init_function_format_info): Add C99 format functions
|
||
in C99 mode.
|
||
|
||
* c-decl.c (get_parm_info): Don't treat 'const void', 'volatile
|
||
void' or 'register void' as being the special case of 'void' alone
|
||
in a parameter list.
|
||
|
||
* c-typeck.c (build_c_cast): Change -Wcast-qual pedwarn for
|
||
discarding qualifiers into a plain warning.
|
||
|
||
2000-07-31 Kazu Hirata <kazu@hxi.com>
|
||
|
||
* combine.c: Fix formatting.
|
||
|
||
* h8300.md: Fix formatting.
|
||
|
||
* local-alloc.c: Fix formatting.
|
||
|
||
* h8300.c (get_shift_alg): Remove the variable alg.
|
||
(emit_a_shift): Rearrange code to improve readability.
|
||
|
||
* h8300.md (movsi_h8300hs): Rearrange code to improve readability.
|
||
|
||
* h8300.h (MODES_TIEABLE_P): Accept a combination of QImode and
|
||
HImode on all architectures and a combination of HImode and SImode
|
||
on H8/300H and H8/S.
|
||
|
||
* h8300.c (split_adds_subs): Rearrange code for conciseness.
|
||
|
||
Mon Jul 31 12:27:55 MET DST 2000 Jan Hubicka <jh@suse.cz>
|
||
|
||
* i386.md (addsi to lea splitter, ashlqi3_1_lea): Fix bugs
|
||
in my last checkin.
|
||
|
||
Mon Jul 31 10:41:01 MET DST 2000 Jan Hubicka <jh@suse.cz>
|
||
|
||
* recog.c (extract_insn): Set operand_mode according to
|
||
operand if match_operand is VOIDmode.
|
||
|
||
Mon Jul 31 10:36:38 MET DST 2000 Jan Hubicka <jh@suse.cz>
|
||
|
||
* recog.c (validate_replace_rtx_1): Do not abort for (nil) expression.
|
||
|
||
2000-07-31 Geoff Keating <geoffk@cygnus.com>
|
||
|
||
* c-parse.in (extdefs): Call ggc_collect between external
|
||
definitions.
|
||
|
||
2000-07-30 Michael Hayes <mhayes@cygnus.com>
|
||
Richard Henderson <rth@cygnus.com>
|
||
|
||
* Makefile.in (OBJS): Add doloop.o.
|
||
* doloop.c: New file.
|
||
|
||
* final.c (insn_current_reference_address): Return 0 before final.
|
||
* flags.h (flag_branch_on_count_reg): Fix typos in commentary.
|
||
* jump.c (any_uncondjump_p): Likewise.
|
||
* loop.c (indirect_jump_in_function): Make static.
|
||
(strength_reduce): Call doloop_optimize.
|
||
(insert_bct, instrument_loop_bct): Remove.
|
||
* loop.h (doloop_optimize): Prototype.
|
||
* recog.c (split_all_insns): Split all INSN_P.
|
||
* toplev.c (flag_branch_on_count_reg): Default on.
|
||
|
||
* config/c4x/c4x.c (c4x_optimization_options): Don't set
|
||
flag_branch_on_count_reg.
|
||
* config/i386/i386.c (override_options): Likewise.
|
||
* config/rs6000/rs6000.c (optimization_options): Likewise.
|
||
|
||
* config/i386/i386.md (decrement_and_branch_on_count): Remove.
|
||
(doloop_end): New.
|
||
(dbra_ge): Remove, as well as all it's splitters.
|
||
|
||
* config/rs6000/rs6000.md (decrement_and_branch_on_count): Remove.
|
||
(doloop_end): New.
|
||
|
||
* config/ia64/ia64-protos.h (ar_lc_reg_operand): Declare.
|
||
(ia64_register_move_cost): Declare.
|
||
* config/ia64/ia64.c (ar_lc_reg_operand): New.
|
||
(struct ia64_frame_info): Add ar_size.
|
||
(ia64_compute_frame_size): Set it.
|
||
(save_restore_insns): Save and restore ar.lc.
|
||
(ia64_register_move_cost): New, moved from header file. Handle
|
||
application registers.
|
||
(REG_AR_PFS, REG_AR_EC): Remove. Replace with AR_*_REGNUM numbers.
|
||
(emit_insn_group_barriers): Special case doloop_end_internal.
|
||
(ia64_epilogue_uses): Mark ar.lc live at end.
|
||
* config/ia64/ia64.h (AR_CCV_REGNUM, AR_LC_REGNUM): New registers.
|
||
(AR_EC_REGNUM, AR_PFS_REGNUM): New registers.
|
||
(FIRST_PSEUDO_REGISTER): Make room.
|
||
(AR_M_REGNO_P, AR_I_REGNO_P, AR_REGNO_P): New.
|
||
(FIXED_REGISTERS, CALL_USED_REGISTERS): Update.
|
||
(REG_ALLOC_ORDER): Update.
|
||
(HARD_REGNO_MODE_OK): Update.
|
||
(REGISTER_NAMES): Update.
|
||
(enum reg_class): Add AR_M_REGS and AR_I_REGS.
|
||
(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
|
||
(REGNO_REG_CLASS): Update.
|
||
(LEGITIMATE_ADDRESS_DISP): Displacement range is 9 bits, not 10.
|
||
(REGISTER_MOVE_COST): Move out of line.
|
||
(PREDICATE_CODES): Update.
|
||
* config/ia64/ia64.md (movdi patterns): Handle ar register classes.
|
||
(addsi3_plus1_alt, adddi3_plus1_alt): New.
|
||
(shladd_elim splitter): Allow constants in the predicate.
|
||
(doloop_end, doloop_end_internal): New.
|
||
|
||
2000-07-30 Richard Henderson <rth@cygnus.com>
|
||
|
||
* genattrtab.c (struct insn_def): Add lineno member.
|
||
(struct insn_ent): Likewise.
|
||
(struct attr_desc): Likewise.
|
||
(struct delay_desc): Likewise.
|
||
(struct function_unit_op): Likewise.
|
||
(struct function_unit): Likewise.
|
||
(check_attr_value): Use message_with_line.
|
||
(check_defs): Likewise.
|
||
(expand_units): Likewise.
|
||
(check_attr_test): Take a lineno argument.
|
||
(gen_attr): Likewise.
|
||
(gen_insn): Likewise.
|
||
(gen_delay): Likewise.
|
||
(gen_unit): Likewise.
|
||
(main): Give it to them.
|
||
(convert_set_attr_alternative): Take an insn_def argument
|
||
instead of num_alt and insn_index.
|
||
(convert_set_attr): Likewise.
|
||
(write_test_expr): Protect INSN_ADDRESSES load
|
||
with INSN_ADDRESSES_SET_P.
|
||
|
||
2000-07-30 Richard Henderson <rth@cygnus.com>
|
||
|
||
* flow.c (init_propagate_block_info): Use pc_set.
|
||
|
||
Sun Jul 30 20:58:34 MET DST 2000 Jan Hubicka <jh@suse.cz>
|
||
|
||
* i386.md (*lea_general_[123]) New insns and splits.
|
||
(addsi3 to lea splitter): Handle other modes too.
|
||
(shlsi3 to lea splitter): Likewise.
|
||
(addhi_1_lea, shlhi_1_lea): New patterns.
|
||
(addhi_1, shlhi_1): Conditionize by PARTIAL_REG_STALL.
|
||
|
||
Sun Jul 30 20:51:25 MET DST 2000 Jan Hubicka <jh@suse.cz>
|
||
|
||
* recog.c (general_operand, nonimmediate_operand): Accept
|
||
any mode for VOIDmode CONSTANT_P operands.
|
||
|
||
Sun Jul 30 20:42:21 MET DST 2000 Jan Hubicka <jh@suse.cz>
|
||
|
||
* gcse.c (try_replace_reg): Use validate_replace_rtx_subexp
|
||
instead of replace_rtx.
|
||
* recog.c (validate_replace_rtx_subexp): New function.
|
||
* recog.h (validate_replace_rtx_subexp): Declare.
|
||
|
||
Sun Jul 30 20:38:26 MET DST 2000 Jan Hubicka <jh@suse.cz>
|
||
|
||
* combine.c (simplify_set, make_extraction, make_compound_operation
|
||
make_field_assignment): Use full mask instead of GET_MODE_MASK (mode)
|
||
as force_to_mode argument.
|
||
|
||
Sun Jul 30 20:30:41 MET DST 2000 Jan Hubicka <jh@suse.cz>
|
||
|
||
* combine.c (if_then_else_cond): Be sure that mode fits in
|
||
HOST_WIDE_INT.
|
||
|
||
Sun Jul 30 20:27:36 MET DST 2000 Jan Hubicka <jh@suse.cz>
|
||
|
||
* combine.c (record_promoted_value): Allow bitsize of mode
|
||
to be equivalent to HOST_BITS_PER_WISE_INT.
|
||
|
||
Sun Jul 30 20:25:21 MET DST 2000 Jan Hubicka <jh@suse.cz>
|
||
|
||
* function.c (assign_stack_local_1, assign_stack_temp_for_type):
|
||
Do not call gen_mode_alignment when mode is BLKmode.
|
||
|
||
Sun Jul 30 20:21:54 MET DST 2000 Jan Hubicka <jh@suse.cz>
|
||
|
||
* loop.c (express_from_1): Fix call of simplify_gen_binary.
|
||
|
||
Sun Jul 30 20:08:37 MET DST 2000 Jan Hubicka <jh@suse.cz>
|
||
|
||
* simplify-rtx.c (simplify_relational_operation): Verify that mode ==
|
||
VOIDmode implies both operands to be VOIDmode.
|
||
(simplify_ternary_operation): Compute properly the mode of comparison.
|
||
* combine.c (combine_simplify_rtx): Likewise.
|
||
|
||
2000-07-25 Michael Hayes <mph@paradise.net.nz>
|
||
|
||
* basic-block.h (struct loops): New field rc_order.
|
||
* flow.c (flow_loops_cfg_dump): Dump rc_order if computed.
|
||
(flow_loops_free): Free rc_order.
|
||
(flow_depth_first_order_compute): New parameter rc_order.
|
||
(flow_loops_find): Allocate rc_order and swap usage with
|
||
dfs_order.
|
||
|
||
2000-07-30 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
|
||
Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.md (set_ldp_prologue): Add for RTL prologue/epilogue.
|
||
(push_st, push_dp, pop_st, pop_dp, popqi_unspec): Likewise.
|
||
(nodb_call, return_from_epilogue): Likewise.
|
||
(return_from_interrupt_epilogue, prologue, epilogue): Likewise.
|
||
* config/c4x/c4x.c (c4x_expand_prologue, c4x_expand_eplilogue): Add.
|
||
* config/c4x/c4x-protos.h (c4x_interrupt_function_p): Add.
|
||
(c4x_expand_prologue, c4x_expand_epilogue): Likewise.
|
||
(c4x_valid_type_attribute_p): Likewise.
|
||
* config/c4x/c4x.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Delete.
|
||
(FUNCTION_BLOCK_PROFILER_EXIT): Convert to emit RTL.
|
||
|
||
2000-07-30 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.c (c4x_emit_move_sequence): Use loadqi_big_constant
|
||
and loadhi_big_constant if applicable.
|
||
* config/c4x/c4x.md (loadqi_big_constant, loadhi_big_constant): Tweak
|
||
and add new splitter.s
|
||
|
||
2000-07-30 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.c (c4x_rptb_insert): Make more robust.
|
||
|
||
2000-07-30 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.h (ASM_FORMAT_PRIVATE_NAME): Output $ in label.
|
||
|
||
2000-07-30 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.h (IS_XXX_REGNO): Rewrite to avoid unsigned warnings.
|
||
|
||
2000-07-30 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/libgcc.S (divqf3): Improve accuracy.
|
||
|
||
2000-07-27 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
Put phi nodes after NOTE_INSN_BASIC_BLOCK.
|
||
* rtl.h (NOTE_INSN_BASIC_BLOCK_P): New macro.
|
||
* bb-reorder.c (get_next_bb_note): Use NOTE_INSN_BASIC_BLOCK_P.
|
||
(get_prev_bb_note): Likewise.
|
||
(remove_scope_notes): Likewise.
|
||
* flow.c (commit_one_edge_insertion): Likewise.
|
||
(merge_blocks_nomove): Likewise.
|
||
(verify_flow_info): Likewise.
|
||
* gcse.c (insert_insn_end_bb): Likewise.
|
||
* reg-stack.c (emit_swap_insn): Likewise.
|
||
* ssa.c (first_insn_after_basic_block_note): New function.
|
||
(insert_phi_node): Use it.
|
||
(rename_block): Likewise.
|
||
(eliminate_phi): Likewise.
|
||
(make_regs_equivalent_over_bad_edges): Likewise.
|
||
(make_equivalent_phi_alternatives_equivalent): Likewise.
|
||
(for_each_successor_phi): Likewise.
|
||
(convert_from_ssa): Modify phi-node deletion algorithm.
|
||
|
||
2000-07-29 Andreas Jaeger <aj@suse.de>
|
||
|
||
* configure.in (mips*-*-linux*): Use mips*el to check for little
|
||
endian MIPS, add tmake_file.
|
||
|
||
* config/mips/linux.h (TARGET_VERSION): Use GNU/Linux.
|
||
(SUBTARGET_CPP_SPEC): Default MIPS_ISA is 1.
|
||
Patches by Maciej W. Rozycki <macro@ds2.pg.gda.pl>.
|
||
|
||
2000-07-28 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/ia64/ia64.c (ia64_print_operand): Fix typos.
|
||
Sign extend mode size before negating.
|
||
|
||
2000-07-28 Richard Henderson <rth@cygnus.com>
|
||
|
||
* emit-rtl.c (gen_lowpart_common): Add missing 'c' variable.
|
||
|
||
2000-07-28 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* cse.c (canon_hash): Handle PRE_MODIFY/POST_MODIFY.
|
||
(cse_insn): Likewise.
|
||
(addr_affects_sp_p): Likewise.
|
||
* expr.c (move_by_pieces): Likewise.
|
||
(clear_by_pieces): Likewise.
|
||
* gcse.c (oprs_unchanged_p): Likewise.
|
||
* haifa-sched.c (sched_analyze_2): Likewise.
|
||
* recog.c (offsettable_address_p): Likewise.
|
||
* regclass.c (record_address_regs): Likewise.
|
||
* reload.c (find_reusable_reload): Likewise.
|
||
(push_reload): Likewise.
|
||
(operands_match_p): Likewise.
|
||
(decompose): Likewise.
|
||
(find_reloads_address_1): Likewise.
|
||
(find_inc_amount): Likewise.
|
||
* reload1.c (elimination_effects): Likewise.
|
||
* resource.c (mark_set_resources): Likewise.
|
||
* flow.c (attempt_auto_inc): New function; mostly broken out
|
||
of find_auto_inc.
|
||
(find_auto_inc): Split into two functions and enhanced to
|
||
generate POST_MODIFY.
|
||
* rtl.def (PRE_MODIFY, POST_MODIFY): Adjust comment.
|
||
* rtl.h (count_all_occurrences): Declare.
|
||
(HAVE_{PRE,POST}_MODIFY_{DISP,REG}): Provide default of 0 if not
|
||
defined.
|
||
* rtlanal.c (count_all_occurrences): New function.
|
||
* tm.texi (HAVE_POST_MODIFY_DISP, HAVE_PRE_MODIFY_DISP,
|
||
HAVE_POST_MODIFY_REG, HAVE_PRE_MODIFY_REG): Document.
|
||
|
||
* config/ia64/ia64-protos.h (destination_operand): Declare.
|
||
* config/ia64/ia64.c (destination_operand): New function.
|
||
(ia64_print_operand): Handle POST_MODIFY.
|
||
(rtx_needs_barrier): Likewise.
|
||
* config/ia64/ia64.h (HAVE_POST_MODIFY_DISP): Define to 1.
|
||
(HAVE_POST_MODIFY_REG): Define to 1.
|
||
(MAX_REGS_PER_ADDRESS): Change to 2.
|
||
(GO_IF_LEGITIMATE_ADDRESS): Accept POST_MODIFY too.
|
||
(LEGITIMATE_ADDRESS_REG): New helper macro.
|
||
(LEGITIMATE_ADDRESS_DISP): Likewise.
|
||
(PREDICATE_CODES): Add entry for destination_operand.
|
||
* config/ia64/ia64.md (all mov patterns): Use destination_operand
|
||
predicate for operand 0.
|
||
|
||
2000-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* dwarf2out.c: Indent #error directive.
|
||
|
||
* gbl-ctors.h: Fix typo in comment.
|
||
(__do_global_ctors): Prototype.
|
||
|
||
* gcse.c (record_one_set, pre_delete): Remove unused variables.
|
||
|
||
* rs6000.c (rs6000_maybe_dead): Delete unused prototype.
|
||
(print_operand): Initialize variable `t'.
|
||
|
||
2000-07-27 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* config/arm/arm.md ("call_value"): removed constraints.
|
||
Constraints are ignored in expanders.
|
||
(*call_value_reg): split =rf into various constraints.
|
||
(*call_value_mem): same
|
||
(*call_value_symbol): same
|
||
(*sibcall_value_insn): same
|
||
|
||
2000-07-28 Philipp Thomas <pthomas@suse.de>
|
||
|
||
* install.texi (--enable-nls): Change the description of the NLS
|
||
related configure options to match the current state.
|
||
(--with-included-gettext): Likewise.
|
||
(--enable-maintainer-mode): New description added.
|
||
* extend.texi (-fstrict-prototype): Add missing '.'.
|
||
|
||
2000-07-27 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* dwarf2out.c (gen_decl_die): Don't call gen_abstract_function if
|
||
DECL_INITIAL (decl) == NULL_TREE.
|
||
|
||
2000-07-27 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* Makefile.in (INSN_ATTR_H): New macro. Replace all dependencies
|
||
on insn-attr.h with it.
|
||
* genattr.c: Generate `#include "insn-addr.h"' if HAVE_ATTR_length.
|
||
* insn-addr.h: New header.
|
||
(insn_addresses_): Renamed from insn_addresses.
|
||
(INSN_ADDRESSES_DEFN, INSN_ADDRESSES, INSN_ADDRESSES_ALLOC,
|
||
INSN_ADDRESSES_FREE, INSN_ADDRESSES_SET_P, INSN_ADDRESSES_SIZE,
|
||
INSN_ADDRESSES_NEW): New macros.
|
||
* genattrtab.c (write_test_expr): Use new macros.
|
||
* final.c (insn_addresses, init_insn_lengths): Likewise.
|
||
(align_fuzz, shorten_branches): Likewise.
|
||
(final): Likewise. Do not reject new insns if their addresses
|
||
have been added to INSN_ADDRESSES.
|
||
* config/arm/arm.c, config/avr/avr.c: Use new macros.
|
||
* config/h8300/h8300.c, config/i370/i370.c: Likewise.
|
||
* config/m88k/m88k.c, config/pa/pa.c, config/pa/pa.md: Likewise.
|
||
* config/sparc/sparc.c, config/sparc/sparc.md: Likewise.
|
||
* config/sh/sh.c: Likewise.
|
||
(output_branchy_insn): Use INSN_ADDRESSES_NEW.
|
||
|
||
* Makefile.in (bootstrap): Move -BstageN/ back to the beginning.
|
||
|
||
2000-07-27 Andrew Cagney <cagney@b1.cygnus.com>
|
||
|
||
* gcc.c (struct prefix_list): Add member priority.
|
||
(enum path_prefix_priority): Declare.
|
||
(add_prefix): Replace ``first'' with ``priority''. Append new
|
||
entry but keep list in priority order.
|
||
(process_command): Update. Pass PREFIX_PRIORITY_B_OPT or
|
||
PREFIX_PRIORITY_LAST to add_prefix.
|
||
(process_command): Move include kludge - foo/stageN - to before
|
||
foo/include.
|
||
|
||
2000-07-27 Jason Merrill <jason@redhat.com>
|
||
|
||
* dwarf2out.c (gen_typedef_die): Abort if we get identical
|
||
TREE_TYPE and DECL_ORIGINAL_TYPE on a typedef.
|
||
|
||
2000-07-27 RodneyBrown <RodneyBrown@pmsc.com>
|
||
|
||
* expr.h (get_alias_set, lang_get_alias_set): Delete prototypes.
|
||
* tree.h (get_alias_set, lang_get_alias_set): Prototype.
|
||
|
||
2000-07-27 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-decl.c (finish_function): Don't treat 'main' specially unless
|
||
flag_hosted. In C99 mode, return 0 from 'main' unless
|
||
DEFAULT_MAIN_RETURN is otherwise defined.
|
||
|
||
* c-decl.c (store_parm_decls): In C99 mode, pedwarn for function
|
||
parameters defaulting to int in an old-style function definition.
|
||
|
||
2000-07-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* c-parse.in (string): For -Wtraditional, warn about string
|
||
concatenation only once per line.
|
||
|
||
Thu Jul 27 09:25:17 2000 Akiko Matsushita <matusita@sra.co.jp>
|
||
|
||
* pa/x-pa-hpux: Add -D_HIUX_SOURCE to FIXPROTO_DEFINES
|
||
for HI-UX/WE2 systems.
|
||
|
||
2000-07-24 Bruce Korb <bkorb@gnu.org>
|
||
|
||
* fixincl/fixfixes.c(emit_gnu_type): rewrote to *rely* on GCC
|
||
defining the __xxx_TYPE__ macros.
|
||
* fixincl/fixincl.tpl(gnu_type_map): now obsolete
|
||
* fixincl/fixlib.h: don't need to include "tm.h" anymore
|
||
* fixincl/inclhack.def(type_map): now obsolete
|
||
|
||
Thu Jul 27 11:54:17 2000 Andrew Cagney <cagney@b1.cygnus.com>
|
||
|
||
* cpp.texi: Append a trailing full-stop to xrefs where needed.
|
||
|
||
2000-07-26 Dave Pitts <dpitts@cozx.com>
|
||
|
||
* i370.c: Remove LONGEXTERNAL ifdef from alias_number. Added hash
|
||
routine constants.
|
||
(mvs_hash_alias): New function.
|
||
(mvs_add_alias): Change argument spacing.
|
||
(mvs_need_alias): Change aliasing criteria. Added documentation.
|
||
(mvs_get_alias): Change to use hashed name. The hashed name prevents
|
||
CSECT name collisions.
|
||
(mvs_check_alias): Likewise.
|
||
(handle_pragma): Change documentation.
|
||
* i370.md (mulsi3, divsi3, udivsi3, modsi3, umodsi3): Changed gen_rtx
|
||
mode from SImode to DImode.
|
||
(iorhi3): Changed LTORG size for insn.
|
||
|
||
Wed Jul 26 19:44:05 2000 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
|
||
mem if the address is a mode_dependent_address_p.
|
||
|
||
2000-07-26 Kazu Hirata <kazu@hxi.com>
|
||
|
||
* h8300.c (print_operand): Print ":8" when the 'R' operand is
|
||
suitable for 8-bit absolute.
|
||
* h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): New.
|
||
(OK_FOR_U): Add a case for the 8-bit constant address on the
|
||
H8/300H.
|
||
|
||
Wed Jul 26 19:26:21 2000 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* varasm.c (assemble_variable) [! defined(ASM_OUTPUT_ALIGNED_COMMON)
|
||
&& ! defined (ASM_OUTPUT_ALIGNED_BSS]): Also test
|
||
! defined(ASM_OUTPUT_ALIGNED_DECL_COMMON) before complaining about
|
||
lack of implemented alignment.
|
||
|
||
2000-07-26 Geoffrey Keating <geoffk@cygnus.com>
|
||
|
||
* emit-rtl.c (gen_lowpart_common) [REAL_ARITHMETIC]: Handle
|
||
cross-compiling between 64-bit and 32-bit machines.
|
||
|
||
2000-07-27 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/ia64/ia64.md (movqicc_astep, movqi_internal_astep): New.
|
||
(movhicc_astep, movhi_internal_astep): New.
|
||
(movsicc_astep, movsi_internal_astep): New.
|
||
(movdicc_astep, movdi_internal_astep): New.
|
||
(movsfcc_astep, movsf_internal_astep): New.
|
||
(movdfcc_astep, movdf_internal_astep): New.
|
||
(movxfcc_astep, movxf_internal_astep): New.
|
||
(cmovdi_internal_astep, cmovsi_internal_astep): New.
|
||
Unify the cmov[ds]i splitters.
|
||
|
||
2000-07-27 Rodney Brown <RodneyBrown@pmsc.com>
|
||
|
||
* real.c (asctoeg): Rename `error' label to unexpected_char_error
|
||
|
||
2000-07-26 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/arm/vxarm.h (CPP_PREDEFINES): Remove definition of
|
||
__arm__. Allow it to be defined by CPP_ISA_SPEC in arm.h
|
||
|
||
* dwarf2out.c (dwarf2out_frame_debug_expr): Accept SEQUENCE as
|
||
well as PARALLEL blocks in FRAME_RELATED_EXPR notes.
|
||
|
||
2000-07-26 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* c-decl.c (finish_enum): Convert enumerations that fit in an
|
||
`int' to `int'.
|
||
(build_enumerator): In pedantic mode, cast to `int' those that
|
||
don't.
|
||
|
||
2000-07-25 Rodney Brown <RodneyBrown@pmsc.com>
|
||
|
||
* config/alpha/osf.h (SIZE_TYPE, PTRDIFF_TYPE): New.
|
||
|
||
Tue Jul 25 23:08:33 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.md (cmpgtdi_t): Must be split.
|
||
(cmpgtdi_t+1): New splitter.
|
||
|
||
2000-07-25 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* cpplib.c (_cpp_check_directive): Issue -Wtraditional
|
||
warnings for indented directives even if we are skipping.
|
||
|
||
2000-07-25 Nathan Sidwell <nathan@codesourcery.com>
|
||
|
||
* invoke.texi (strict-prototypes): Remove.
|
||
* extend.texi (Deprecated Features): Add strict-prototypes.
|
||
(Backwards Compatibility): New node.
|
||
|
||
2000-07-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/i386/i386.md (andsi_1+1): Allow HImode.
|
||
(andsi_1+2): Require q_regs_operand.
|
||
|
||
2000-07-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/i386/i386.md (call_pop): Check operands[0],
|
||
not operands[1]. Only check SYMBOL_REF_FLAG for a SYMBOL_REF.
|
||
(call): Likewise.
|
||
(call_value_pop): Only check SYMBOL_REF_FLAG for a SYMBOL_REF.
|
||
(call_value): Likewise.
|
||
|
||
2000-07-25 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* toplev.c (pipe_closed): Delete.
|
||
(crash_signal): New. Generate ICE for a fatal signal.
|
||
(float_signal): Call crash_signal outside a float-handler
|
||
block, not abort.
|
||
(main): Install crash_signal as handler for core-dumping signals.
|
||
|
||
2000-07-25 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* rs6000.c (print_operand, case 'T'): New case.
|
||
|
||
* rs6000.md (call_indirect_aix32): Convert to expander of
|
||
scheduled instructions.
|
||
(call_indirect_aix64): Likewise.
|
||
(call_value_indirect_aix{32,64}): Likewise.
|
||
(call, call_value): Invoke expanders for AIX. Fall through to
|
||
matchers for SysV.
|
||
(call_indirect_nonlocal_aix{32,64}): New patterns (ctr and lr).
|
||
(call_value_indirect_nonlocal_aix{32,64}): New patterns.
|
||
(call_nonlocal_aix32): Remove CALL_LONG alternative. Operand 1
|
||
only "g" constraint.
|
||
(call_nonlocal_aix64): Likewise.
|
||
(call_value_nonlocal_aix{32,64}): Likewise.
|
||
(call_nonlocal_sysv): New pattern for ctr, lr, and symbolic
|
||
operands.
|
||
(call_value_nonlocal_sysv): New pattern.
|
||
(indirect_jump{si,di}): Use new 'T' modifier.
|
||
(tablejump{si,di} matchers): Likewise.
|
||
(return_internal_{si,di}): Likewise.
|
||
(return_eh_{si,di}): Likewise.
|
||
|
||
2000-07-24 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/ia64/ia64.c (ia64_print_operand): Handle "%,".
|
||
* config/ia64/ia64.h (PRINT_OPERAND_PUNCT_VALID_P): Likewise.
|
||
* config/ia64/ia64.md (movdi_internal): Use it.
|
||
|
||
2000-07-24 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* cppexp.c: Warn about unary + if -Wtraditional.
|
||
* cpplex.c (lex_line): Always set BOL on the first token of a line.
|
||
|
||
2000-07-24 Michael Meissner <meissner@redhat.com>
|
||
|
||
* d30v.h (FUNCTION_ARG_KEEP_AS_REFERENCE): Delete references to
|
||
unsupported macro.
|
||
|
||
2000-07-24 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/arm/arm.c (emit_multi_reg_push): Generate a
|
||
REG_FRAME_RELEATED_NOTE that is compatible with the code in
|
||
dwarf2out_debug_frame_expr.
|
||
|
||
2000-07-24 Jason Merrill <jason@redhat.com>
|
||
|
||
* dwarf2out.c: Complain if DWARF2_DEBUGGING_INFO is defined without
|
||
UNALIGNED_INT_ASM_OP.
|
||
(def_cfa_1): Don't emit def_cfa_register or def_cfa_offset to adjust
|
||
a location expression.
|
||
(dwarf2out_frame_debug_expr): Lose cfa_old_reg stuff. Don't
|
||
assume indirect access if we're saving the CFA address exactly.
|
||
|
||
* Makefile.in (bootstrap): Move -BstageN/ to the end.
|
||
|
||
2000-07-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* tradcpp.c (main): Update max_include_len for cpp_include_defaults
|
||
as well.
|
||
|
||
2000-07-24 Michael Meissner <meissner@redhat.com>
|
||
|
||
* invoke.texi (D30V Options): Add d30v options.
|
||
|
||
Mon Jul 24 02:04:52 2000 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* gcse.c (alloc_pre_mem): Do not alloc TRANSPOUT, it is not
|
||
needed by our gcse pass anymore.
|
||
(free_pre_mem): Corresponding changes.
|
||
(compute_pre_data): Do not call compute_transpout anymore.
|
||
|
||
* gcse.c (alloc_avail_expr_mem): Kill unused 'u_bitmap'.
|
||
(free_avail_expr_mem, alloc_pre_mem, free_pre_mem): Corresponding
|
||
changes.
|
||
|
||
* gcse.c (free_pre_mem): Do not free ANTLOC and AE_KILL here.
|
||
(compute_pre_data): Do it here instead.
|
||
|
||
* gcse.c (alloc_pre_mem, free_pre_mem): Delete unused bitmap
|
||
'temp_bitmap'.
|
||
(pre_delete): Corresponding changes.
|
||
|
||
2000-07-23 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* c-semantics.c (make_rtl_for_local_static): Use TREE_ASM_WRITTEN
|
||
to figure out whether or not a variable has already been emitted.
|
||
|
||
Sun Jul 23 14:49:12 2000 Jason Eckhardt <jle@cygnus.com>
|
||
|
||
* config/i860/i860.md (untyped_call expander): Use GEN_CALL
|
||
instead of gen_call.
|
||
|
||
Sun Jul 23 11:52:03 2000 George Helffrich (george@gly.bris.ac.uk)
|
||
|
||
* dbxout.c (dbxout_type, case COMPLEX_TYPE): Fix length field in stab.
|
||
|
||
2000-07-23 Kazu Hirata <kazu@hxi.com>
|
||
|
||
* h8300.c: Fix formatting.
|
||
|
||
2000-07-23 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* c-typeck.c (c_expand_start_case): Change -Wtraditional pedwarn
|
||
for `long' switch expression into a plain warning.
|
||
|
||
* c-lex.c (init_lex): Keep the "inline" keyword in C99 mode.
|
||
(yylex): Don't pedwarn for "inline" in C99 mode.
|
||
|
||
* bitmap.c (debug_bitmap_file): Cast pointers to PTR for printing
|
||
with %p.
|
||
* ggc-page.c (debug_print_page_list, alloc_page, free_page,
|
||
ggc_alloc): Likewise.
|
||
* bb-reorder.c (dump_scope_forest_1): Likewise.
|
||
|
||
2000-07-22 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* reload.c (find_reloads_toplev): Add new parameter
|
||
"address_reloaded".
|
||
(find_reloads): Add new parameter to find_reloads_toplev calls.
|
||
|
||
2000-07-22 Jeffrey Oldham <oldham@codesourcery.com>
|
||
|
||
* collect2.c (main): Typo fixed.
|
||
* diagnostic.c: Typo fixed.
|
||
* dwarf2out.c (dwarf2out_frame_debug_expr): Typo fixed.
|
||
* eh-common.h: Typo fixed.
|
||
* emit-rtl.c (start_sequence): Typo fixed.
|
||
* flow.c (find_label_refs): Typo fixed.
|
||
(calculate_global_regs_live): Typo fixed.
|
||
(mark_regno_cond_dead): Typo fixed.
|
||
(create_edge_list): Typos fixed.
|
||
(verify_edge_list): Typo fixed.
|
||
* ggc-common.c (ggc_mark_rtx_children): Typo fixed.
|
||
* loop.c (strength_reduce): Typo in function name fixed.
|
||
* rtl.h: Added comments. Typo in function name fixed.
|
||
* rtlanal.c: Typo in function name fixed.
|
||
(insn_dependant_p): Rename to ...
|
||
(insn_dependent_p): ... this.
|
||
(computed_jumo_p): Typo fixed.
|
||
|
||
2000-07-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* system.h (__FUNCTION__): Wrap definition in #ifndef.
|
||
|
||
2000-07-21 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* rs6000.h (SIZE_TYPE): Define.
|
||
|
||
2000-07-21 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* ssa.c (rename_insn_1): Don't rename registers that are
|
||
CLOBBERed.
|
||
|
||
2000-07-21 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* diagnostic.c (trim_filename, fancy_abort): Moved here from
|
||
rtl.c.
|
||
(fatal_function, set_fatal_function): Removed.
|
||
(fatal): Don't prepare for or call the fatal_function.
|
||
(diagnostic_lock, error_recursion): New.
|
||
(diagnostic_for_decl, report_diagnostic): Guard against
|
||
re-entering the error reporting routines.
|
||
(fancy_abort): Assume function is not NULL.
|
||
|
||
* errors.c (fancy_abort): New. Assume function is not NULL.
|
||
* tradcpp.c (fancy_abort): Assume function is not NULL.
|
||
|
||
* system.h: Provide default definition of __FUNCTION__.
|
||
* rtl.h: Use __FUNCTION__ not __PRETTY_FUNCTION__ throughout.
|
||
Always use __FUNCTION__ in definition of abort.
|
||
* tree.h: Likewise.
|
||
* varray.h: Likewise.
|
||
* toplev.h: Likewise. Don't prototype set_fatal_function.
|
||
|
||
2000-07-20 Geoff Keating <geoffk@cygnus.com>
|
||
|
||
* config/rs6000/aix43.h (CPP_SPEC): Define __LONG_MAX__ correctly
|
||
in 64-bit mode.
|
||
* glimits.h: Don't do #if defined for ARCH_PPC.
|
||
|
||
* config/rs6000/rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): All
|
||
constants of size no larger than a pointer should go in the TOC.
|
||
Add 'MODE' parameter.
|
||
(LEGITIMIZE_RELOAD_ADDRESS): Add MODE parameter to
|
||
ASM_OUTPUT_SPECIAL_POOL_ENTRY_P.
|
||
(ASM_OUTPUT_SPECIAL_POOL_ENTRY): Likewise.
|
||
* config/rs6000/aix.h (SELECT_RTX_SECTION): Likewise.
|
||
* config/rs6000/netware.h (SELECT_RTX_SECTION): Likewise.
|
||
* config/rs6000/rs6000.c (constant_pool_expr_1): Likewise.
|
||
(rs6000_legitimize_address): Likewise.
|
||
(rs6000_emit_move): Likewise.
|
||
(rs6000_select_rtx_section): Likewise.
|
||
(output_toc): Deal properly with outputting small constants like
|
||
HImode, and SFmode in 32-bit mode, and DFmode in 64-bit mode.
|
||
* config/rs6000/sysv4.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Add
|
||
MODE parameter. Put small constants in the TOC.
|
||
|
||
* config/rs6000/rs6000.c (easy_fp_constant_p): All constants are
|
||
easy in SImode.
|
||
(rs6000_emit_move): When reload calls us with an illegitimate
|
||
address, exit early. Move the change_address calls to one place
|
||
at the end of the routine. Merge the SImode and DImode expanders.
|
||
When called by reload to put an integer into a FP register, force
|
||
it to memory.
|
||
|
||
* config/rs6000/rs6000.c (struct toc_hash_struct): Add 'key_mode'
|
||
field.
|
||
(rs6000_hash_constant): Hash mode too.
|
||
(toc_hash_function): Allow for key_mode.
|
||
(toc_hash_eq): Structures are different if key_mode differs.
|
||
(output_toc): Add 'mode' parameter. Save key_mode.
|
||
* config/rs6000/rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY):
|
||
Pass 'mode' parameter.
|
||
* config/rs6000/rs6000-protos.h (output_toc): Add 'mode' param.
|
||
|
||
* config/rs6000/rs6000.c (output_toc): Use RS6000_OUTPUT_BASENAME
|
||
for vtable references.
|
||
|
||
* config/rs6000/rs6000.h (PREFERRED_RELOAD_CLASS): If we have a
|
||
choice, don't put integer values in FP regs.
|
||
|
||
Thu Jul 20 18:13:52 2000 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* flow.c (verify_flow_info): Revamp code to verify that the
|
||
head and end of each basic block are in the insn chain.
|
||
|
||
Thu Jul 20 18:02:35 2000 Michael Matz <matzmich@cs.tu-berlin.de>
|
||
|
||
* gcse.c (record_one_set): Prepend instead of append onto
|
||
reg_set_table, making it O(n) instead O(n^2).
|
||
* lcm.c (compute_antinout_edge,compute_laterin,compute_available):
|
||
Use a queue instead of a stack as worklist.
|
||
|
||
2000-07-20 Kazu Hirata <kazu@hxi.com>
|
||
|
||
* h8300.c (two_insn_adds_subs_operand): Fix a typo.
|
||
* h8300.h (OK_FOR_T): New.
|
||
(EXTRA_CONSTRAINT): Support OK_FOR_T.
|
||
* h8300.md: Use inc/dec.[wl] for increment/decrement
|
||
by 1 and 2 in HI and SI modes.
|
||
|
||
2000-07-20 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Handle DELTA values
|
||
larger than 14 bits.
|
||
|
||
2000-07-20 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* cppmacro.c (CAN_PASTE_AFTER): New macro.
|
||
(count_params): Don't set GNU_REST_ARGS on anything.
|
||
(save_expansion): Set PASTE_LEFT only on tokens for which
|
||
CAN_PASTE_AFTER is true, or which are named operators.
|
||
|
||
* cpplex.c (parse_args): Distinguish between a rest argument
|
||
given one empty argument, and a rest argument given zero arguments.
|
||
(maybe_paste_with_next): Look for VOID_REST tag, and trigger
|
||
deletion of previous token based on that.
|
||
(get_raw_token): Flatten some control structure.
|
||
|
||
* cpplib.h (CPP_LAST_EQ): Correct.
|
||
(VOID_REST): New token flag.
|
||
(GNU_REST_ARGS): Delete.
|
||
|
||
* tradcpp.c (main): Don't munge -D options.
|
||
(make_definition): Bring -D handling in line with cpplib.
|
||
(do_define): Strip all leading whitespace from macro definitions.
|
||
|
||
2000-07-20 David Billinghurst <David.Billinghurst@riotinto.com.au>
|
||
|
||
* Makefile.in (tradcpp): Depend on intl.o and version.o.
|
||
|
||
2000-07-20 Bruce Korb <bkorb@gnu.org>
|
||
|
||
* fixincl/check.tpl: strip the platform specific types before testing
|
||
* fixincl/fixfixes.c(gnu_type_fix): use platform specific types
|
||
* fixincl/fixincl.tpl: use platform specific types
|
||
* fixincl/fixlib.h: include the platform specific types
|
||
* fixincl/inclhack.def(gnu_types): don't supply the types
|
||
* fixincl/fixincl.x: regen
|
||
|
||
2000-07-19 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* config/ia64/ia64.h (HARD_REGNO_MODE_OK): Don't allow XFmode in
|
||
GR_REGS.
|
||
|
||
2000-07-19 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* tradcpp.c (rescan): Do not recognize directives when the #
|
||
is indented.
|
||
|
||
2000-07-19 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
Implement C++ named operators.
|
||
|
||
* cpplib.h (TTYPE_TABLE): Move CPP_MIN and CPP_MAX into block
|
||
of operators allowed in #if and having an _EQ variant. Add
|
||
CPP_MIN_EQ, CPP_MAX_EQ, and CPP_DEFINED.
|
||
(cpp_token flags): Add NAMED_OP.
|
||
(enum node_type): Add T_OPERATOR.
|
||
(struct cpp_hashnode): Add code slot to value union.
|
||
* cpphash.h (spec_nodes): Remove n_defined.
|
||
|
||
* cpplex.c (lex_line): Convert T_OPERATOR nodes to their proper types.
|
||
(spell_token, can_paste, maybe_paste_with_next): Handle named operators.
|
||
(is_macro_disabled): Tweak error messages.
|
||
|
||
* cpplib.c (get_define_node): Disallow all named operators as
|
||
macro names. Tweak error messages.
|
||
(_cpp_init_stacks): Don't set up spec_nodes->n_defined.
|
||
|
||
* cppinit.c (builtin_array): Add entries for the named operators.
|
||
* cppexp.c (lex): Check for CPP_DEFINED token.
|
||
(priority table): Add entries for CPP_MIN and CPP_MAX.
|
||
(_cpp_parse_expr): Handle CPP_MIN and CPP_MAX.
|
||
|
||
2000-07-19 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* gcse.c (INSN_CUID): If ENABLE_CHECKING, abort if the uid is
|
||
larger than the array of cuids.
|
||
(alloc_gcse_mem): Use uid_cuid rather than INSN_CUID when computing
|
||
cuids.
|
||
|
||
2000-07-19 Bruce Korb <bkorb@gnu.org>
|
||
|
||
* fixinc/fixincl.c: Convert to using a table of environment variables
|
||
and activate the auto-edit marker on the fixed output files.
|
||
* fixinc/fixlib.h: Define the environment table
|
||
* fixinc/fixincl.sh: export the ${INPUT} dir
|
||
* fixinc/check.tpl: likewise
|
||
|
||
2000-07-18 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* gcc.c (.h spec): Fix typo.
|
||
|
||
Wed Jul 19 01:22:15 CEST 2000 Marc Espie <espie@cvs.openbsd.org>
|
||
|
||
* Makefile.in: Fix tradcif.c path.
|
||
|
||
2000-07-18 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* cpplib.h (TTYPE_TABLE): Rearrange to use only two per-entry
|
||
macros, not five.
|
||
|
||
* cpphash.h (TOKEN_NAME): New macro.
|
||
(_cpp_spell_operator): Deleted.
|
||
(token_spellings): Now _cpp_token_spellings.
|
||
|
||
* cppexp.c: Use TOKEN_NAME or TYPE_NAME, not _cpp_spell_operator.
|
||
* cpplex.c: Use OP and TK macros when expanding the
|
||
TTYPE_TABLE. Eliminate token_names. For non-OPERATOR tokens,
|
||
store the stringification of the enumeration name (CPP_CHAR,
|
||
etc.) in the name slot of token_spellings.
|
||
Use TOKEN_NAME and/or TOKEN_SPELL, do not reference
|
||
token_spellings directly.
|
||
* cpplib.c: Use TOKEN_SPELL.
|
||
|
||
* cpplex.c (_cpp_push_token): If the token being pushed back
|
||
is the previous token in this context, just subtract one from
|
||
context->posn.
|
||
* cppmacro.c (save_expansion): Clear aux field when storing a
|
||
placemarker.
|
||
|
||
2000-07-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* cpplex.c (cpp_scan_buffer): Output line command even at the stop
|
||
buffer, provided it is not NULL.
|
||
|
||
2000-07-18 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* c-decl.c (duplicate_decls): Do not call make_var_volatile() in
|
||
case of invalid volatile re-declaration.
|
||
|
||
2000-07-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* calls.c (store_arg): Return non-zero if sibcall_failure is desired.
|
||
(expand_call): Adjust caller.
|
||
|
||
2000-07-17 Gabriel Dos Reis <gdr@codesourcery.com>
|
||
|
||
* diagnostic.h (report_diagnostic): Change prototype.
|
||
|
||
* diagnostic.c (output_do_verbatim, diagnostic_for_asm,
|
||
diagnostic_for_decl): Change prototype.
|
||
(error_with_decl, warning_with_decl, pedwarn_with_decl, warning,
|
||
error, warning, error_with_file_and_line,
|
||
warning_with_file_and_line, pedwarn_with_file_and_line, fatal):
|
||
Adjust call to report_diagnostic, diagnostic_for_decl.
|
||
(error_for_asm, warning_for_asm): Adjust call to diagnostic_for_asm.
|
||
(output_verbatim, verbatim): Adjust call to output_do_verbatim.
|
||
|
||
* c-errors.c (pedwarn_c99): Adjust call to report_diagnostic. End
|
||
varaible argument list.
|
||
|
||
2000-07-17 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* cpphash.c: Don't include hashtab.h. Most macro-handling code
|
||
moved to cppmacro.c.
|
||
(hash_HASHNODE, eq_HASHNODE, _cpp_dump_macro_hash,
|
||
dump_hash_helper): Delete.
|
||
(expand_hash, higher_prime_number, _cpp_lookup_with_hash,
|
||
cpp_forall_identifiers): New. Implement specialized version of
|
||
Vlad's expandable hash table.
|
||
(cpp_lookup): Use new functions.
|
||
(_cpp_init_macros, _cpp_cleanup_macros): Adjust for new
|
||
implementation.
|
||
* cppmacro.c: New file.
|
||
* cppinit.c (dump_macros_helper): New.
|
||
(cpp_finish): Iterate over the identifier table directly.
|
||
* cpplex.c (parse_name): Calculate the hash of the identifier
|
||
while we scan it. Use _cpp_lookup_with_hash when we can.
|
||
|
||
* cpphash.h: Update prototypes.
|
||
(xcnewvec, HASHSTEP): New helper macros.
|
||
* cpplib.h: Update prototypes.
|
||
* Makefile.in (LIBCPP_OBJS): Add cppmacro.o.
|
||
(cppmacro.o): New rule.
|
||
(cpphash.o): Update deps.
|
||
|
||
* cppmain.c: Do not set pfile->printer if no_output is on.
|
||
|
||
2000-07-15 Neil Booth <neilb@earthling.net>
|
||
|
||
* cpplib.c: Change all directive-handler functions to return
|
||
void, not int.
|
||
* cpphash.h: Update typedefs.
|
||
|
||
2000-07-17 Geoffrey Keating <geoffk@cygnus.com>
|
||
|
||
* configure: Regenerate.
|
||
|
||
* extend.texi (Extended Asm): Mention that a memory clobber
|
||
does not count as a side-effect.
|
||
|
||
* unroll.c (copy_loop_body): Fix one instance of using host
|
||
arithmetic on the target; fixes loop-4 on a 32-bit -> 64-bit
|
||
cross-compile.
|
||
|
||
* tlink.c (scan_linker_output): Tweak for output of AIX ld.
|
||
|
||
2000-07-17 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/ia64/ia64.md (movdi): Split out load address code.
|
||
New post-reload splitter for symbolic operands.
|
||
(movdi_internal): Abort if we didn't split symbolic operands
|
||
when we should have.
|
||
* config/ia64/ia64.c (ia64_expand_load_address): New, from movdi bits.
|
||
(ia64_reorg): Split insns when not optimizing.
|
||
* config/ia64/ia64-protos.h (ia64_expand_load_address): Declare.
|
||
|
||
Mon Jul 17 23:43:26 MET DST 2000 Jan Hubicka <jh@suse.cz>
|
||
|
||
* real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Use LONG_DOUBLE_TYPE_SIZE
|
||
instead of MAX_LONG_DOUBLE_TYPE_SIZE to decide output format.
|
||
|
||
2000-07-17 Chandrakala Chavva <cchavva@cygnus.com>
|
||
|
||
* loop.c (check_dbra_loop) : Changed loop_continue to loop->cont.
|
||
|
||
2000-07-17 Jason Merrill <jason@redhat.com>
|
||
|
||
* Makefile.in (clean): Remove libgcc directory.
|
||
|
||
* configure.in (-Wno-long-long check): Use higher-level macros.
|
||
|
||
2000-07-17 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* simplify-rtx.c (simplify_binary_operation): Recognize
|
||
(compare (gt[u] (cc) 0) (lt[u] (cc) 0)).
|
||
(simplify_ternary_operation): Do not examine MODE_BITSIZE of
|
||
a CONST_INT, it will always be zero.
|
||
|
||
2000-07-17 Chandrakala Chavva <cchavva@cygnus.com>
|
||
|
||
* loop.c (check_dbra_loop) : Return if more than one condition is
|
||
present to control the loop.
|
||
|
||
Mon Jul 17 08:26:35 2000 Clinton Popetz <cpopetz@cygnus.com>
|
||
|
||
* mips.c (mips_expand_prologue): Don't calculate the last argument
|
||
register unless we need it. When we are calculating this, make
|
||
sure FUNCTION_ARG is giving us a REG.
|
||
|
||
2000-07-17 Stephane Carrez <Stephane.Carrez@worldnet.fr>
|
||
|
||
* flow.c (libcall_dead_p): Use single_set to verify the insn
|
||
has only one set and get for analysis.
|
||
(propagate_one_insn): Don't pass the PATTERN of the insn.
|
||
|
||
2000-07-17 Mark Klein <mklein@dis.com>
|
||
|
||
* pa.c (emit_hpdiv_const): Update to match new pattern for udivsi3.
|
||
|
||
2000-07-17 J. David Anglin <dave@hiauly1.hia.nrc.ca>
|
||
|
||
* Makefile.in (TARGET_GETGROUPS_T): New configuration variable.
|
||
* configure.in (TARGET_GETGROUPS_T): Evaluate.
|
||
* sys-protos.h (getgroups): Use TARGET_GETGROUPS_T for array type
|
||
of second argument of getgroups.
|
||
* configure, config.in: Rebuilt.
|
||
|
||
2000-07-17 Geoffrey Keating <geoffk@cygnus.com>
|
||
|
||
* simplify-rtx.c (simplify_relational_operation): Two signed
|
||
values with equal high words are less/greater than each other if
|
||
their low words are less/greater when considered as unsigned.
|
||
|
||
Mon Jul 17 02:37:06 2000 Marc Espie <espie@openbsd.org>
|
||
|
||
* configure.in (vax-*-openbsd): Change to new style configuration,
|
||
add collect2/float_format information.
|
||
* configure: Rebuilt.
|
||
* config/vax/openbsd1.h: New.
|
||
* config/vax/openbsd.h: New.
|
||
* config/vax/t-openbsd: New.
|
||
|
||
2000-07-17 Chip Salzenberg <chip@valinux.com>
|
||
|
||
* c-common.c (shorten_compare): Quiet warnings about unsigned
|
||
comparisons with zero when they occur in a system header.
|
||
|
||
2000-07-17 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* invoke.texi (-pedantic): Refer to ISO C instead of ANSI C, and
|
||
update to describe current practice.
|
||
|
||
* glimits.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define for C99.
|
||
|
||
* contrib.texi, cpp.texi, extend.texi, invoke.texi: Update
|
||
references to C9X. Change references to -fstd and -flang-isoc9x
|
||
to refer to -std.
|
||
|
||
* c-common.c (scan_char_table): Allow "z" length modifiers on
|
||
diouxXn formats.
|
||
(check_format_info): Use TYPE_DOMAIN on the type matched against
|
||
for "z" formats, to retrieve the language size_t rather than the
|
||
internal one.
|
||
|
||
* c-common.c (check_format_info): Do not make a pedantic objection
|
||
to the 'L' length modifier if used with a floating point type
|
||
character.
|
||
|
||
* c-lex.c (yylex): Don't pedwarn for hexadecimal floating point
|
||
constants in C99 mode.
|
||
|
||
2000-07-17 Kazu Hirata <kazu@hxi.com>
|
||
|
||
* h8300.md: Fix the format of mac.
|
||
(movsi_h8300hs): Output a tab after stmac instead of a space.
|
||
|
||
* h8300.c (two_insn_adds_subs_operand): Improve code for detecting
|
||
profitable adds/subs sequences.
|
||
|
||
* fold-const.c: Fix comment typos.
|
||
|
||
2000-07-16 Laurynas Biveinis <lauras@softhome.net>
|
||
|
||
* cppfiles.c (read_name_map): Set map_list_ptr->map_list_map to NULL.
|
||
|
||
2000-07-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* fixinc/fixfixes.c (emit_gnu_type): Avoid string concatenation.
|
||
|
||
2000-07-16 Neil Booth <NeilB@earthling.net>
|
||
|
||
* cpplex.c: Update comments.
|
||
* README.Portability: Small update.
|
||
|
||
2000-07-16 Neil Booth <NeilB@earthling.net>
|
||
|
||
* README.Portability: Small update.
|
||
|
||
2000-07-15 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/ia64/ia64-protos.h (ia64_move_ok): Prototype.
|
||
* config/ia64/ia64.c (ia64_move_ok): New function.
|
||
* config/ia64/ia64.md (movqi, movqi_internal): Use it.
|
||
(movhi, movsi, movdi, movsf, movdf, movxf): Likewise.
|
||
|
||
2000-07-15 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* cpphash.c (save_expansion): Clear PREV_WHITE on tokens
|
||
immediately following a paste operator.
|
||
* cppinit.c (sort_options): New function (only for HOST_EBCDIC).
|
||
(cpp_reader_init): Call it, if HOST_EBCDIC.
|
||
(cpp_handle_options): Do not sort option list here.
|
||
(handle_option): Rename to cpp_handle_option and export.
|
||
* cpplex.c (cpp_scan_buffer_nooutput, cpp_scan_buffer): Use
|
||
_cpp_get_token directly.
|
||
(cpp_scan_line): Return 0 at EOF, 1 otherwise.
|
||
* cpplib.c (cpp_push_buffer): Don't set new->lineno to 1.
|
||
* cpplib.h: Prototype cpp_handle_option. Update prototype of
|
||
cpp_scan_line.
|
||
|
||
2000-07-15 Richard Henderson <rth@cygnus.com>
|
||
|
||
* fold-const.c (extract_muldiv): Don't optimize past an unsigned
|
||
cast around an expression. Tidy other unsigned tests.
|
||
|
||
2000-07-15 Gabriel Dos Reis <gdr@codesourcery.com>
|
||
|
||
* diagnostic.c (doing_line_wrapping, line_wrapper_printf, notice,
|
||
v_error_with_decl, v_warning_with_decl, v_pedwarn_with_decl): Remove.
|
||
(v_message_with_decl): Rename to ...
|
||
(format_with_decl): ... this. Tweak
|
||
(diagnostic_for_decl): New function.
|
||
(fatal_io_error): Use verbatim in lieu of notice.
|
||
(announce_function): Use verbatim.
|
||
(default_print_error_function): Likewise.
|
||
(error_with_decl, warning_with_decl, pedwarn_with_decl): Use new
|
||
infratructure.
|
||
|
||
2000-07-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* mips.c (function_arg_pass_by_reference): Don't do automatic
|
||
aggregate initialization.
|
||
(machine_dependent_reorg): Initialize variable `mode'.
|
||
|
||
* mips.md (absdi2): Change variable `regno1' to unsigned int.
|
||
(reload_indi): Rename loword/hiword to lo_word/hi_word to avoid
|
||
conflicts with sys/param.h macro of the same name.
|
||
(reload_outdi): Likewise.
|
||
|
||
2000-07-15 Michael Meissner <meissner@redhat.com>
|
||
|
||
* fold-const.c (fold): When optimizing FOO++ == CONST into ++FOO
|
||
== CONST + INCREMENT, don't overwrite the tree node for FOO++,
|
||
create a new node instead.
|
||
|
||
2000-07-15 Neil Booth <NeilB@earthling.net>
|
||
|
||
* README.Portability: Correct example about calling a function
|
||
through a pointer to function. Format wide paragraphs.
|
||
|
||
2000-07-15 Michael Meissner <meissner@redhat.com>
|
||
|
||
* README.Portability: Update integer suffixes and function
|
||
prototype sections.
|
||
|
||
2000-07-15 Neil Booth <NeilB@earthling.net>
|
||
|
||
* README.Portability: Small update.
|
||
|
||
2000-07-15 Neil Booth <NeilB@earthling.net>
|
||
|
||
* README.Portability: New file.
|
||
|
||
Fri Jul 14 18:13:53 2000 Mark P Mitchell <mark@codesourcery.com>
|
||
|
||
* INSTALL: Give special instructions for building GCC on Irix 6.
|
||
* config/mips/x-iris6 (CC): Don't set it.
|
||
(OLDCC): Likewise.
|
||
|
||
2000-07-14 Jason Merrill <jason@redhat.com>
|
||
|
||
* dwarf2out.c (dwarf2out_frame_debug_expr): If we store the CFA
|
||
register in the stack and later in another register, use the new
|
||
register.
|
||
|
||
Fri Jul 14 10:25:53 2000 Clinton Popetz <cpopetz@cygnus.com>
|
||
|
||
* config/mips/mips.md: (absdi2): Handle sign_extend for
|
||
second operand.
|
||
|
||
2000-07-14 Nathan Sidwell <nathan@codesourcery.com>
|
||
|
||
* cpplib.c (do_pragma_dependency): Tidy warning messages.
|
||
|
||
2000-07-14 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* .cvsignore: Correct typo.
|
||
|
||
2000-07-13 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* .cvsignore: Add generated YACC files.
|
||
* objc/.cvsignore: New file.
|
||
|
||
2000-07-14 Neil Booth <NeilB@earthling.net>
|
||
|
||
* cpplex.c (adjust_column): New function.
|
||
(skip_whitespace): Use it.
|
||
(skip_block_comment): Use it, and warn about /*/* with
|
||
-Wcomments.
|
||
|
||
2000-07-14 Neil Booth <NeilB@earthling.net>
|
||
|
||
* cpphash.c (struct macro_info): Add new members.
|
||
(_cpp_free_definition): Delete the macro directly.
|
||
(count_params): Return void, with first token of
|
||
expansion in struct macro_info on success.
|
||
(parse_define): Return int. Hoist syntax checking from
|
||
save_macro_expansion. Leave call to save_expansion to
|
||
_cpp_create_definition.
|
||
(alloc_macro): Needs just 2 arguments.
|
||
(free_macro): Delete.
|
||
(save_expansion): Don't perform syntax check.
|
||
(_cpp_create_definition): Call save_expansion.
|
||
|
||
2000-07-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* genrecog.c (write_header): Split long string.
|
||
|
||
* cpphash.c (macro_info): Don't use the `signed' keyword.
|
||
|
||
* system.h (alloca): Prototype if __GNUC__ && __SIZE_TYPE__.
|
||
|
||
2000-07-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* calls.c (stored_args_map): New variable.
|
||
(check_sibcall_argument_overlap_1): New.
|
||
(check_sibcall_argument_overlap): New.
|
||
(expand_call): Initialize stored_args_map.
|
||
Call check_sibcall_argument_overlap.
|
||
|
||
2000-07-13 Bruce Korb <bkorb@gnu.org>
|
||
|
||
* fixinc/fixfixes.c: move EXIT_BROKEN to header, add sub-expr max count
|
||
(emit_gnu_type): utility procedure for gnu_type_fix
|
||
(gnu_type_fix): implement various pre-processor guards around
|
||
standard types so these types can be defined over and over
|
||
* fixinc/fixincl.tpl: add a "gnu_type_map" that forces the standard
|
||
types alluded to above will have GNU-compliant base types
|
||
* fixinc/fixlib.h: add EXIT_BROKEN define and the gnu_type_map struct
|
||
* fixinc/inclhack.def: add test_text entries and utilize the new
|
||
"gnu_types" fix for the ptrdiff_t, size_t and wchar_t types.
|
||
* fixinc/fixincl.x: regenerate
|
||
|
||
2000-07-12 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
|
||
|
||
* diagnostic.c (vline_wrapper_message_with_location,
|
||
v_message_with_file_and_line, v_error_with_file_and_file,
|
||
v_error_for_asm, v_warning_for_asm, vfatal,
|
||
v_warning_with_file_and_line, v_pedwarn_with_file_and_line,
|
||
vsorry, verror, vwarning, vpedwarn): Remove.
|
||
(diagnostic_for_asm): New function.
|
||
(pedwarn, error, warning, pedwarn_with_file_and_line,
|
||
error_with_file_and_line, warning_with_file_and_line, sorry,
|
||
error_for_asm, warning_for_asm, fatal): Reimplement.
|
||
(finish_diagnostic): Clear diagnostic info as well.
|
||
|
||
2000-07-13 Neil Booth <NeilB@earthling.net>
|
||
|
||
* c-common.h (flag_digraphs): New.
|
||
* c-decl.c (c_decode_option): Set flag_digraphs as appropriate.
|
||
* c-lex.c (yylex): Use flag_digraphs to decide whether to
|
||
honour digraphs.
|
||
|
||
2000-07-13 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* gcc.c (do_spec_1): Add new %B operator.
|
||
(set_input): Prepare for %B.
|
||
|
||
(link_command_spec): Move up with the other tm.h-
|
||
overrideable specs. Factor out the portion conditional on
|
||
LINK_LIBGCC_SPECIAL into a new spec, %(link_libgcc).
|
||
(struct compiler): Just have a single spec string. All users
|
||
updated.
|
||
(default_compilers): Remove unnecessary braces.
|
||
(static_specs): Update.
|
||
|
||
(trad_capable_cpp, cpp_options, cc1_options, asm_options): New
|
||
named specs.
|
||
(C and assembly specs): Use the new named specs, as appropriate.
|
||
|
||
* objc/lang-specs.h: Use the new named specs.
|
||
Remove unnecessary braces.
|
||
|
||
2000-07-12 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* gcc.c (execute): If a subprocess gets a fatal signal, report
|
||
strsignal() of the signal number, and ask for a bug report.
|
||
Do not do this for SIGPIPE if there's already been an error.
|
||
|
||
* tradcpp.c: Don't include signal.h. Don't catch SIGPIPE.
|
||
Delete pipe_closed.
|
||
|
||
* tradcif.c: Remove.
|
||
|
||
2000-07-12 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* final.c (profile_function): Do not emit profile counters in
|
||
the data section, if NO_PROFILE_COUNTERS is defined.
|
||
* tm.texi: Document NO_PROFILE_COUNTERS. Update doc for
|
||
FUNCTION_PROFILER.
|
||
|
||
* config/i386/linux.h (NO_PROFILE_COUNTERS): Define.
|
||
(FUNCTION_PROFILER): Just emit a call to mcount.
|
||
|
||
2000-07-12 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* tradcpp.c (main): Rename 'perror' label to 'sys_error'.
|
||
|
||
* cppexp.c, cpphash.c, cpphash.h, cppinit.c, cpplex.c,
|
||
cpplib.c, cpplib.h: Eradicate all traces of code dependent on
|
||
traditional, lang_chill, or lang_fortran.
|
||
|
||
* cppfiles.c: #undef strcmp to suppress warning about macros
|
||
used without arguments.
|
||
(_cpp_execute_include): Use f, not fname, in "No include path"
|
||
error.
|
||
(_cpp_pop_file_buffer): New function.
|
||
* cpplib.c: Don't include <sys/mman.h>.
|
||
(cpp_push_buffer): Set line_base and lineno in new buffer.
|
||
(cpp_pop_buffer): Use _cpp_pop_file_buffer.
|
||
|
||
* cpplex.c: Move all prototypes and structure declarations to the
|
||
top of the file. Properly parenthesise some macro arguments.
|
||
(cpp_scan_line): New function.
|
||
(special_symbol [case T_INCLUDE_DEPTH]): Use pfile->include_depth,
|
||
don't need to walk up the stack counting.
|
||
|
||
2000-07-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* c-common.c (combine_strings): Emit a pedantic warning when a
|
||
string length is greater than the minimum ANSI C is required
|
||
to support.
|
||
|
||
Wed Jul 12 13:24:30 2000 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa/xm-pa64.h (NO_SYS_SIGLIST): Kill.
|
||
* d30v/xm-d30v.h (NO_SYS_SIGLIST): Kill.
|
||
|
||
2000-07-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* c-decl.c (define_label): Warn about identifier conflicts with
|
||
labels in traditional C.
|
||
|
||
* c-parse.in (unop +): Warn about the unary plus operator for
|
||
traditional C.
|
||
|
||
* c-typeck.c (store_init_value): Warn about automatic aggregate
|
||
initialization for traditional C.
|
||
|
||
* invoke.texi (-Wtraditional): Document new warnings.
|
||
|
||
2000-07-12 Gabriel Dos Reis <gdr@codesourcery.com>
|
||
|
||
* Makefile.in (c-errors.o): Fix thinko in dependency.
|
||
|
||
2000-07-12 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* gcc.c (C specs [!USE_CPPLIB]): Invoke tradcpp if any of
|
||
-traditional, -ftraditional, or -traditional-cpp was given.
|
||
Do not pass -traditional to the preprocessor.
|
||
(.S spec): Likewise. Don't bother defining __ASSEMBLER__, the
|
||
preprocessor does it automatically.
|
||
* objc/lang-specs.h: Likewise. Don't bother defining __OBJC__.
|
||
|
||
* ch/lang-specs.h: Always use tradcpp. Do not pass
|
||
-traditional, -trigraphs, or -pedantic to the preprocessor.
|
||
* f/lang-specs.h (.F spec): Likewise. Don't bother defining
|
||
_LANGUAGE_FORTRAN.
|
||
|
||
2000-07-12 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* cppexp.c (LOGICAL): Delete macro.
|
||
(_cpp_parse_expr): Do not use UNARY for unary +. Implement ||
|
||
and && directly.
|
||
|
||
* cpphash.c (HASHSIZE): Increase to 4096.
|
||
(struct hashdummy): Add hash field.
|
||
(eq_HASHNODE): Compare unreduced hashes, then lengths, then
|
||
the string values using memcmp.
|
||
(cpp_lookup): Set dummy.hash.
|
||
|
||
Wed Jul 12 13:15:16 2000 Marc Espie <espie@openbsd.org>
|
||
|
||
* configure.in (m88k-openbsd): Express configuration using new fragment
|
||
style.
|
||
* configure: Rebuilt.
|
||
* m88k/aout-dbx.h: New.
|
||
* m88k/openbsd.h: New.
|
||
* m88k/xm-openbsd.h: New.
|
||
|
||
2000-07-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* expr.c (expand_expr): Return const0_rtx, not error_mark_node.
|
||
|
||
2000-07-12 Richard Henderson <rth@cygnus.com>
|
||
|
||
* reload.c (push_secondary_reload): Make sure to add the new
|
||
reload at the end, after acquiring secondary memory.
|
||
|
||
2000-07-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* cpplex.c (is_macro_disabled): Use CPP_WTRADITIONAL.
|
||
|
||
* c-decl.c (set_current_function_name_declared, anon_aggr_type_p,
|
||
lang_expand_stmt): Mark parameters with ATTRIBUTE_UNUSED.
|
||
|
||
* c-parse.in (stmt): Delete unused variables.
|
||
|
||
* convert.c (convert_to_vector): Likewise.
|
||
|
||
* gensupport.c (process_rtx): Declare attr as `rtvec' not `rtx'.
|
||
|
||
* tree.c (finish_vector_type): Prototype.
|
||
|
||
2000-07-12 Bruce Korb <bkorb@gnu.org>
|
||
|
||
* fixinc/fixfixes.c: use xmalloc
|
||
* fixinc/fixincl.c(initialize): set program name for xmalloc
|
||
* fixinc/fixlib.c(must_malloc): obsolete
|
||
(is_cxx_header): no longer used - disabled
|
||
(skip_quote): inserted and disabled for future use
|
||
* fixinc/fixlib.h: reflects above
|
||
* fixinc/fixtests.c: removed dinkleberries
|
||
|
||
2000-07-12 Neil Booth <NeilB@earthling.net>
|
||
|
||
* cpphash.h: (TOKEN_SPELL) Pulled from cpplex.c.
|
||
* cpplex.c (TOKEN_SPELL) Move to cpphash.h.
|
||
|
||
* cpphash.c: (struct macro_info, alloc_macro, free_macro,
|
||
struct toklist_dummy): New.
|
||
(cpp_free_definition): Free macros with free_macro.
|
||
(count_params): Don't save parameter spellings. Save macro
|
||
information in a struct macro_info.
|
||
(parse_define): Don't allocate a token list.
|
||
(save_expansion): Allocate the macro's token list, and
|
||
save parameter spellings if necessary. Use TOKEN_SPELL.
|
||
(cpp_create_definition): Make list const.
|
||
|
||
2000-07-12 Gabriel Dos Reis <gdr@codesourcery.com>
|
||
|
||
* c-typeck.c (pedwarn_c99): Move to
|
||
* c-errors.c: ... Here.
|
||
* toplev.h (verror, vwarning, vpedwarn): Remove prototypes.
|
||
* diagnostic.c (verror, vwarning, vpedwarn): Make static.
|
||
* Makefile.in (C_AND_OBJC_OBJS): Include c-errors.o
|
||
(c-errors.o): List dependency.
|
||
|
||
2000-07-12 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* c-parse.c: Remove.
|
||
* c-parse.h: Likewise.
|
||
* c-parse.y: Likewise.
|
||
* objc/objc-parse.c: Likewise.
|
||
* objc/objc-pasre.y: Likewise.
|
||
|
||
2000-07-11 Rodney Brown <RodneyBrown@pmsc.com>
|
||
|
||
* gcc.texi: Fix minor typos
|
||
* extend.texi: Fix minor typos
|
||
|
||
2000-07-11 Marc Espie <espie@openbsd.org>
|
||
|
||
* collect2.c (main): Recognize .lo as object files.
|
||
|
||
2000-07-11 J. David Anglin <dave@hiauly1.hia.nrc.ca>
|
||
|
||
* pa.c (hppa_encode_label): Store labels in gc memory when ggc_p is
|
||
true.
|
||
|
||
* aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Extend test to detect systems
|
||
with MAP_ANONYMOUS and MAP_ANON.
|
||
* configure, config.in: Rebuilt.
|
||
|
||
2000-07-12 Gabriel Dos Reis <gdr@codesourcery.com>
|
||
|
||
* diagnostic.c (save_output_state): Remove.
|
||
(restore_output_state): Likewise.
|
||
(clear_text_info): New function.
|
||
(clear_diagnostic_info): Likewise.
|
||
(output_text_length, is_starting_newline, output_prefix,
|
||
line_wrap_cutoff, ideal_line_wrap_cutoff, prefix_was_emitted_for,
|
||
prefixing_policy, output_buffer_ptr_to_format_args): New macros
|
||
(set_real_maximum_length, output_set_maximum_length,
|
||
output_set_prefix, output_get_prefix, output_set_maximum_length,
|
||
output_destroy_prefix, init_output_buffer,
|
||
reshape_diagnostic_buffer, output_space_left, output_emit_prefix,
|
||
output_add_newline, output_add_character, output_add_space,
|
||
output_append_r, output_append, wrap_text, output_format,
|
||
output_do_printf, output_printf, output_do_verbatim,
|
||
output_verbatim, verbatim): Use them.
|
||
(output_clear): Split into cleat_text_info and
|
||
clear_diagnostic_info.
|
||
(struct output_state): Move to...
|
||
|
||
* diagnostic.h: ...Here
|
||
(struct output_buffer): Adjust.
|
||
|
||
2000-07-11 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* cpplex.c (parse_name): No longer inline (premature optimization).
|
||
(do_pop_context): Fold into pop_context.
|
||
(pop_context): Returns int.
|
||
(lex_next): Hoist test for end of directive into pop_context.
|
||
(push_macro_context): Returns int; takes just reader and token.
|
||
Hoist test for excessive nesting to caller.
|
||
(push_arg_context): Returns void; takes just reader and token.
|
||
Do not call stringify_arg or get_raw_token.
|
||
(get_raw_token): Convert tail recursion through push_arg_context
|
||
to a loop at this level. Call stringify_arg here if appropriate.
|
||
(maybe_paste_with_next): Convert tail recursion to a while loop.
|
||
Hoist test of paste_level to caller.
|
||
|
||
(stringify_arg): Push arg context at beginning.
|
||
(cpp_get_token): Split out core into _cpp_get_token. Call
|
||
process_directive here. Throw away CPP_PLACEMARKER tokens.
|
||
(_cpp_get_token): Convert tail recursion through
|
||
push_macro_context to a loop at this level.
|
||
(_cpp_glue_header_name, is_macro_disabled, stringify_arg,
|
||
_cpp_get_raw_token): Use _cpp_get_token.
|
||
(_cpp_skip_rest_of_line): Drop the context stack directly; do
|
||
not call pop_context.
|
||
(_cpp_run_directive): Call lex_next directly.
|
||
|
||
* cpphash.h: Prototype _cpp_get_token.
|
||
* cppexp.c (lex): Use it.
|
||
* cpphash.c (parse_define): Use it.
|
||
* cpplib.c (get_define_node, do_undef, parse_include,
|
||
read_line_number, do_line, do_ident, do_pragma, do_pragma_gcc,
|
||
do_pragma_implementation, do_pragma_poison, do_pragma_dependency,
|
||
parse_ifdef, validate_else): Use it.
|
||
(cpp_push_buffer): Tweak error message; abort if anyone tries
|
||
to push a buffer while macro expansions are stacked.
|
||
|
||
2000-07-11 Donn Terry <donnte@microsoft.com>
|
||
|
||
* cpplex.c (free_macro_args, save_token): Cast arg of free
|
||
and/or xrealloc to PTR.
|
||
(_cpp_init_input_buffer): Clear all fields of the base context.
|
||
|
||
Tue Jul 11 15:28:21 CDT 2000 Clinton Popetz <cpopetz@cygnus.com>
|
||
|
||
* gensupport.c (process_rtx): Make rtl checking stop
|
||
complaining about the define_insn while it is being
|
||
converted from a define_insn_and_split.
|
||
|
||
Tue Jul 11 16:26:17 2000 Clinton Popetz <cpopetz@cygnus.com>
|
||
|
||
* config/mips/mips.c (simple_memory_operand): Access the
|
||
INTVAL of the address, not it's containing MEM.
|
||
|
||
2000-07-11 Bruce Korb <bkorb@gnu.org>
|
||
|
||
* fixinc/fixtests.c(double_slash): obsolete
|
||
(else_endif_label): likewise
|
||
* fixinc/inclhack.def(irix_multiline_cmnt): obsolete
|
||
(libc1_ifdefd_memx): correct initial comment
|
||
and omit the #if/#endif pair from the memxxx declarations
|
||
* fixinc/fixincl.x: regen
|
||
|
||
2000-07-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* cpplex.c (T, I, S, C, N): Avoid non-constant initializers.
|
||
|
||
2000-07-11 Neil Booth <NeilB@earthling.net>
|
||
|
||
* cpp.texi: Update.
|
||
|
||
2000-07-11 Neil Booth <NeilB@earthling.net>
|
||
|
||
* cppinit.c: (cpp_reader_init): Allow digraphs by default.
|
||
(handle_option): Set digraphs according to standard.
|
||
Merge OPT_lang_c89 handler with OPT_std_c89.
|
||
|
||
* cpplex.c: (lex_line, can_paste): Honour digraphs in
|
||
accordance with the digraphs flag.
|
||
|
||
* cpplib.h: (struct cpp_options): New option digraphs.
|
||
|
||
2000-07-10 Hans-Peter Nilsson <hp@axis.com>
|
||
Bruce Korb <bkorb@gnu.org>
|
||
|
||
* fixinc/inclhack.def (libc1_ifdefd_memx): New fix.
|
||
* fixinc/fixincl.x: Regenerate.
|
||
* fixinc/tests/base/testing.h: Add testcase.
|
||
|
||
2000-07-10 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/ia64/ia64.c (got_symbolic_operand): New.
|
||
(symbolic_operand, move_operand): Revert 0701 change.
|
||
* config/ia64/ia64.h (PREDICATE_CODES): Update.
|
||
* config/ia64/ia64-protos.h (got_symbolic_operand): Declare.
|
||
* config/ia64/ia64.md (movdi): Revert 0701 wrt symbolic_operand;
|
||
split the offset into a 14-bit low part instead of a 13-bit low part.
|
||
(load_fptr): Mark the mem as unchanging.
|
||
(load_symptr): Use got_symbolic_operand.
|
||
|
||
2000-07-10 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* libgcc2.c (next_stack_level): Cast result of computation to
|
||
(void **) so that the assignment does not generate a warning.
|
||
|
||
2000-07-10 Chandrakala Chavva <cchavva@redhat.com>
|
||
|
||
* flags.h : Add new variable flag_single_precision_constant.
|
||
* toplev.c (display_help) : Add -fsingle-precision-constant option.
|
||
(flag_single_precision_constant): New.
|
||
* c-lex.c (yylex): Convert floating point constant to single
|
||
precision constant.
|
||
* invoke.texi : Add documentation for this new option.
|
||
|
||
2000-07-10 Gabriel Dos Reis <gdr@codesourcery.com>
|
||
|
||
* diagnostic.c (output_octal): Second parameter is unsigned.
|
||
(output_long_octal): Likewise.
|
||
(output_hexadecimal): Likewise.
|
||
(output_long_hexadecimal): Likewise.
|
||
(output_format): Adjust arguments extraction. Tweak.
|
||
(output_verbatim, verbatim): End variable argument list.
|
||
(report_diagnostic): Improve documentation.
|
||
|
||
2000-07-10 Benjamin Chelf <chelf@codesourcery.com>
|
||
|
||
* c-common.h (build_stmt): Declare.
|
||
(build_continue_stmt): Likewise.
|
||
(build_break_stmt): Likewise.
|
||
(build_return_stmt): Likewise.
|
||
|
||
* c-decl.c (do_case): Rewrite to do what previously done in
|
||
c-parse.in.
|
||
|
||
* c-semantics.c (build_stmt): Define.
|
||
(build_return_stmt): Likewise.
|
||
(build_break_stmt): Likewise.
|
||
(build_continue_stmt): Likewise.
|
||
(build_case_label): Likewise.
|
||
|
||
* c-parse.in (BREAK): Change to build tree, then generate RTL.
|
||
(CONTINUE): Likewise.
|
||
(RETURN): Likewise.
|
||
(CASE): Likewise.
|
||
(DEFAULT): Likewise.
|
||
|
||
* c-parse.y: Regenerate.
|
||
* c-pasre.c: Likewise.
|
||
|
||
2000-07-09 Jason Merrill <jason@redhat.com>
|
||
|
||
* expr.c (expand_expr): Bail earlier if we get an error_mark_node.
|
||
|
||
* tree.h (STRIP_NOPS): Check for error_mark_node.
|
||
(STRIP_SIGN_NOPS, STRIP_TYPE_NOPS): Likewise.
|
||
(dwarf2out_*): Remove duplicate declarations.
|
||
|
||
* c-decl.c (duplicate_decls): Copy DECL_ABSTRACT_ORIGIN from
|
||
DECL_ABSTRACT_ORIGIN, not DECL_ORIGIN.
|
||
|
||
2000-07-10 Gabriel Dos Reis <gdr@codesourcery.com>
|
||
|
||
* diagnostic.c (wrap_text): New function.
|
||
(maybe_wrap_text): Likewise.
|
||
(output_add_string): Use it.
|
||
(output_format): Likewise.
|
||
(count_error): Use verbatim instead of notice.
|
||
(report_error_function): Likewise. Don't use plain fprintf.
|
||
(finish_diagnostic): New function.
|
||
(output_do_verbatim): Tweak. Commonalize functionalities in
|
||
output_verbatim and verbatim.
|
||
(output_verbatim): Adjust.
|
||
(verbatim): Likewise.
|
||
(report_diagnostic): Define.
|
||
|
||
* diagnostic.h (report_diagnostic): Prototype.
|
||
|
||
2000-07-09 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* cppexp.c (_cpp_parse_expr): Don't use unary plus.
|
||
|
||
2000-07-09 Neil Booth <NeilB@earthling.net>
|
||
|
||
* cpphash.h: ISvspace, is_vspace, is_nvspace: New.
|
||
IShspace, ISspace: Update.
|
||
|
||
* cppinit.c: ISTABLE: Update.
|
||
V: New.
|
||
|
||
* cpplex.c (IS_HSPACE, S_NEWLINE): Remove.
|
||
(IS_DIRECTIVE): Rename KNOWN_DIRECTIVE.
|
||
(skip_block_comment, skip_line_comment, parse_string,
|
||
lex_line): Use is_vspace rather than IS_NEWLINE.
|
||
(skip_whitespace, lex_line): Clean up to use is_nvspace.
|
||
(lex_line): Use KNOWN_DIRECTIVE. Any kind of directive
|
||
gets a BOL flag.
|
||
(lex_next): Unconditionally stop if within a directive.
|
||
Treat directives within macro invocations as directives
|
||
(after parse_args emits error), not as the argument.
|
||
|
||
2000-07-09 Gabriel Dos Reis <gdr@codesourcery.com>
|
||
|
||
* diagnostic.c (diagnostic_args): New macro.
|
||
(diagnostic_msg): Likewise.
|
||
(output_formatted_integer): Likewise.
|
||
(output_state): New data type.
|
||
(digit_buffer): Make global.
|
||
(output_add_integer): Rename to output_decimal. Squeeze
|
||
digit_buffer.
|
||
(output_long_decimal, output_unsigned_decimal,
|
||
output_long_unsigned_decimal, output_octal, output_long_octal,
|
||
output_hexadecimal, output_long_hexadecimal): New functions.
|
||
(output_append_r): New function.
|
||
(output_append): Tweak.
|
||
(output_flush_on): Rename to output_to_stream.
|
||
(output_format): Change prototype. Improve documentation. Handle
|
||
more format specifiers.
|
||
(build_location_prefix): Rename to context_as_prefix.
|
||
(output_notice): Rename to output_do_printf.
|
||
(output_printf): Tweak.
|
||
(line_wrapper_printf): Likewise.
|
||
(vline_wrapper_message_with_location): Adjust call to renamed
|
||
functions.
|
||
(v_message_with_decl): Likewise.
|
||
(default_print_error_function): Likewise.
|
||
(save_output_state): New function.
|
||
(restore_output_state): Likewise.
|
||
(output_do_verbatim): Likewise.
|
||
(output_verbatim): Define.
|
||
(verbatim): Likewise.
|
||
|
||
* diagnostic.h (printer_fn): Change return type from void to int.
|
||
Improve documentation.
|
||
(output_add_integer): Rename to output_decimal.
|
||
(output_flush_on, output_format): Don't export.
|
||
(output_verbatim, verbatim): Declare.
|
||
|
||
2000-07-08 Toon Moene <toon@moene.indiv.nluug.nl>
|
||
|
||
* fold-const.c (extract_muldiv) case PLUS_EXPR, MINUS_EXPR:
|
||
Check whether c divides op1 exactly if operation is not
|
||
multiplication.
|
||
|
||
2000-07-08 Richard Henderson <rth@cygnus.com>
|
||
|
||
* final.c (final): Do not abort when reg-stack introduces
|
||
a new insn.
|
||
|
||
2000-07-08 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* cpplib.h (struct cpp_name): Now struct cpp_string.
|
||
(CPP_INT, CPP_FLOAT, CPP_NUMBER, CPP_COMMENT,
|
||
CPP_HEADER_NAME): Change to type S.
|
||
(struct cpp_token): Rename 'name' field to 'str'. Add 'node'
|
||
field, a cpp_hashnode *. All references to val.name updated
|
||
to use val.str or val.node as appropriate.
|
||
(struct cpp_reader): Add spec_nodes field.
|
||
(cpp_idcmp): Now cpp_ideq; takes a token * and a char *.
|
||
|
||
* cpphash.h (struct spec_nodes): New.
|
||
(enum spell_type): Reorder. Only SPELL_STRING tokens use
|
||
val.str. All references to 'spelling > SPELL_NONE' updated to
|
||
match.
|
||
|
||
(CPP_IN_SYSTEM_HEADER): Check pfile->buffer and
|
||
pfile->buffer->inc are not NULL before dereferencing them.
|
||
|
||
* cpplex.c (parse_name): Take a pointer to the current token,
|
||
plus current position and limit as args; return the new
|
||
position; don't copy the text of a name into the string
|
||
buffer, instead call cpp_lookup and store the node pointer.
|
||
If extending a token, copy out the text of the old into a
|
||
scratch buffer, append the new, look that up and store the new
|
||
node pointer. Inline.
|
||
(maybe_paste_with_next): If the result of paste is a NAME,
|
||
then look up the pasted text and store its node pointer.
|
||
(lex_line): Adjust for new parse_name interface.
|
||
Check for L"str", L'str' using spec_nodes->n_L.
|
||
(spell_token): SPELL_IDENT tokens have their spelling in
|
||
val.node->name. Handle SPELL_STRING tokens that don't have
|
||
string delimiters.
|
||
(_cpp_expand_name_space,
|
||
(can_paste): Check for L ## "str" using spec_nodes->n_L.
|
||
(cpp_get_token, special_symbol): No need to call cpp_lookup.
|
||
(cpp_idcmp): Now cpp_ideq; take a token * and a const char *;
|
||
return 1=equal 0=not, not a tristate.
|
||
|
||
* cpphash.c (var_args_str): Delete.
|
||
(find_param): Compare node fields directly.
|
||
(is__va_args__): Use CPP_PEDANTIC. Just compare
|
||
token->val.node with spec_nodes->n__VA_ARGS__.
|
||
(dump_funlike_macro): Don't use var_args_str.
|
||
|
||
* cpplib.c (_cpp_check_directive): Just walk through
|
||
spec_nodes->dirs comparing pointers.
|
||
(get_define_node, do_pragma_poison, detect_if_not_defined,
|
||
parse_ifdef): The identifier has already been looked up.
|
||
(do_ifdef, do_ifndef): parse_ifdef won't return a poisoned
|
||
node.
|
||
(do_if): Only call detect_if_not_defined at beginning of file.
|
||
(_cpp_parse_assertion): Only copy string pointers for
|
||
SPELL_STRING tokens.
|
||
(pragma_dispatch): Take a node pointer and examine its name
|
||
field.
|
||
(_cpp_init_stacks): Also initialize the spec_nodes structure.
|
||
|
||
* cppinit.c (cpp_reader_init): Call _cpp_init_stacks after
|
||
_cpp_init_macros.
|
||
(cpp_cleanup): Free pfile->spec_nodes. Call _cpp_cleanup_* in
|
||
reverse order from the corresponding _cpp_init_* routines.
|
||
|
||
* cppexp.c (parse_number, parse_charconst, parse_defined,
|
||
lex): Check val.node->type instead of calling cpp_defined.
|
||
Use spec_nodes entries where appropriate.
|
||
|
||
* fix-header.c, scan-decls.c: Update for interface changes.
|
||
|
||
2000-07-08 Geoffrey Keating <geoffk@cygnus.com>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_emit_move): Fix conditions for
|
||
emitting aux_truncdfsf2.
|
||
|
||
2000-07-03 Donn Terry (donnte@microsoft.com)
|
||
|
||
* cppinit.c (print_help): split overlong line into ISO C89
|
||
maximum chunks.
|
||
|
||
2000-07-07 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* cppexp.c: Update all code for new lexer interface.
|
||
(op_t, operator codes, struct token, tokentab2, op_to_str): Remove.
|
||
(struct suffix, vsuf_1, vsuf_2, vsuf_3, op_to_prio): New.
|
||
* cpplex.c (token_names): Trim leading CPP_ from names; make
|
||
the strings unsigned.
|
||
(_cpp_spell_operator): New.
|
||
(is_macro_disabled): Disable all macros if rescanning
|
||
preprocessed text.
|
||
(_cpp_get_directive_token): Remove.
|
||
|
||
* cppinit.c: Don't set no_macro_expand.
|
||
* cpplib.c (read_line_number, do_line): Check only for EOF,
|
||
not VSPACE.
|
||
* cpphash.h: Update prototypes.
|
||
* cpplib.h (CPP_VSPACE): Remove.
|
||
(struct cpp_reader): Remove no_macro_expand.
|
||
|
||
2000-07-08 Neil Booth <NeilB@earthling.net>
|
||
|
||
* cpphash.c (is__va_args__): New function.
|
||
(count_params): Fix line reported in error messages. Use
|
||
is__va_args__. Don't return ')' on error. Flag GNU style
|
||
rest args macro definitions.
|
||
(parse_define): Check macro name is not __VA_ARGS__.
|
||
(save_expansion): Check identifier in non-varargs-macro is
|
||
not __VA_ARGS__. Don't flag GNU_VARARGS.
|
||
* cpplex.c (parse_args): Accept no argument iff GNU_REST_ARGS.
|
||
(maybe_paste_with_next): Use per-macro GNU_REST_ARGS rather
|
||
than per-token GNU_VARARGS.
|
||
* cpplib.h (GNU_VARARGS): Remove.
|
||
(GNU_REST_ARGS): New.
|
||
|
||
Sat Jul 8 01:38:25 MET DST 2000 Jan Hubicka <jh@suse.cz>
|
||
|
||
* i386.md (call_pop, call, call_value_pop): Do not set
|
||
current_function_uses_pic_offset_table for calls to static
|
||
functions or indirect calls.
|
||
|
||
2000-07-07 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* config/ia64/ia64.c (rws_access_reg): New local write_count. If
|
||
is_predicate_reg, then take max write_count of register pair.
|
||
|
||
2000-07-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* tradcpp.c (main): Rename label `include' to `add_include' to
|
||
avoid conflicts with variable `include' in traditional C.
|
||
|
||
2000-07-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* integrate.c (copy_insn_list): Remove REG_LABEL notes.
|
||
|
||
2000-07-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* sibcall.c (uses_addressof): Add INMEM argument, check for
|
||
current_function_internal_arg_pointer outside of MEM rtxs in addition
|
||
to ADDRESSOFs.
|
||
(sequence_uses_addressof): Update caller.
|
||
|
||
2000-07-07 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* tradcpp.c (initialize_builtins): Honor NO_BUILTIN_SIZE_TYPE
|
||
and friends.
|
||
|
||
2000-07-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* system.h (UNION_INIT_ZERO): New macro for initializing union
|
||
members in structs.
|
||
|
||
* cpplex.c (placemarker_token, eof_token): Use UNION_INIT_ZERO.
|
||
|
||
2000-07-07 Neil Booth <NeilB@earthling.net>
|
||
|
||
* cpp.texi: Update.
|
||
|
||
Fri Jul 7 07:47:35 2000 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* final.c (final): Detect out of bounds array access to
|
||
the insn_lengths array.
|
||
|
||
2000-07-07 Kazu Hirata <kazu@hxi.com>
|
||
|
||
* fold-const.c (fold): Fix a comment typo.
|
||
|
||
2000-07-07 Neil Booth <NeilB@earthling.net>
|
||
|
||
* cpp.texi: Update to new lexer.
|
||
|
||
2000-07-06 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* tradcpp.c: New file.
|
||
* tradcif.y: New file.
|
||
* tradcif.c: New generated file.
|
||
|
||
* Makefile.in: Add rules to build tradcpp.o, tradcif.o,
|
||
$(srcdir)/tradcif.c. Add tradcpp to STAGESTUFF and
|
||
dependencies of C. Install tradcpp from install-common, in
|
||
$(libsubdir).
|
||
|
||
2000-07-06 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* cppinit.c: Include cppdefault.h. Refer to
|
||
cpp_GCC_INCLUDE_DIR and cpp_GCC_INCLUDE_DIR_len, not directly
|
||
to GCC_INCLUDE_DIR and its length.
|
||
(SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
|
||
USER_LABEL_PREFIX, REGISTER_PREFIX, struct default_include,
|
||
STANDARD_INCLUDE_DIR, STANDARD_INCLUDE_COMPONENT): Move to
|
||
cppdefault.h.
|
||
(include_defaults_array): Move to cppdefault.c.
|
||
|
||
* cppdefault.h: New file.
|
||
* cppdefault.c: New file.
|
||
|
||
* Makefile.in (LIBCPP_OBJS): Add cppdefault.o.
|
||
(cppinit.o): Don't apply $(PREPROCESSOR_DEFINES) to this file.
|
||
(cppdefault.o): New rule; apply $(PREPROCESSOR_DEFINES) to
|
||
this file.
|
||
|
||
Thu Jul 6 18:30:36 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* reload.c (push_reload): When seeing if can reuse a register,
|
||
check extra registers against widest of INMODE and OUTMODE.
|
||
|
||
2000-07-06 Neil Booth <NeilB@earthling.net>
|
||
|
||
* cpplib.c: (_cpp_parse_assertion): Perform hash lookups
|
||
based on full length of predicate.
|
||
|
||
2000-07-06 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* timevar.c: [HAVE_SYS_RESOURCE_H]: Include <sys/resource.h>.
|
||
[NEED_DECLARATION_GETRUSAGE]: Declare getrusage.
|
||
|
||
2000-07-05 Kazu Hirata <kazu@hxi.com>
|
||
|
||
* h8300-proto.h: Fix formatting.
|
||
* h8300.c: Likewise.
|
||
* h8300.h: Likewise.
|
||
|
||
2000-07-05 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* config/ia64/ia64.h (HARD_REGNO_MODE_OK): If FR_REGNO_P, disallow
|
||
CCmode.
|
||
|
||
2000-07-05 Rodney Brown <RodneyBrown@pmsc.com>
|
||
|
||
* invoke.texi: Fix minor typos
|
||
* md.texi: Fix minor typos
|
||
|
||
2000-07-05 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* cpplib.c (_cpp_parse_assertion): Fix buffer overrun.
|
||
|
||
2000-07-04 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* cpplex.c: Don't include sys/mman.h.
|
||
(cpp_push_buffer, cpp_pop_buffer): Moved to cpplib.c.
|
||
|
||
* cpplib.c: Include sys/mman.h and obstack.h.
|
||
(cpp_push_buffer): Moved from cpplex.c; allocate buffers on an
|
||
obstack.
|
||
(cpp_pop_buffer): Moved from cpplex.c; free buffers from an obstack.
|
||
(_cpp_unwind_if_stack): Now static, unwind_if_stack. Don't
|
||
bother freeing if stack entries (they will be freed with their buffer).
|
||
(do_endif): Free if stack entries from the buffer obstack.
|
||
(push_conditional): Allocate if stack entries from the buffer obstack.
|
||
|
||
(find_answer): Rename to _cpp_find_answer.
|
||
(do_assert, do_unassert): Update.
|
||
|
||
* cpphash.h: Update prototypes.
|
||
(xobnew): New convenience macro.
|
||
* cpplib.h (struct cpp_reader): Add hash_ob and buffer_ob fields.
|
||
Update comments.
|
||
(struct cpp_hashnode): Remove disabled field.
|
||
|
||
* cppinit.c: Don't include hashtab.h or splay-tree.h.
|
||
(report_missing_guard): Moved to cppfiles.c.
|
||
(cpp_reader_init): Call cpp_init_stacks, cpp_init_macros,
|
||
cpp_init_includes.
|
||
(cpp_cleanup): Call cpp_cleanup_stacks, cpp_cleanup_macros,
|
||
cpp_cleanup_includes. Don't destroy hashtab or
|
||
all_include_files here.
|
||
(cpp_finish): Use _cpp_report_missing_guards.
|
||
|
||
* cppfiles.c (report_missing_guard): Moved from cppinit.c.
|
||
(_cpp_init_include_table): Rename _cpp_init_includes.
|
||
(_cpp_cleanup_includes, _cpp_report_missing_guards): New.
|
||
|
||
* cppexp.c (parse_assertion): Update for new name of
|
||
find_answer.
|
||
|
||
* Makefile.in (cpplib.o, cpphash.o, cppinit.o): Update deps.
|
||
|
||
2000-07-04 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* cpplib.c (do_ident): s/VSPACE/EOF/
|
||
|
||
2000-07-05 Neil Booth <NeilB@earthling.net>
|
||
|
||
* cpplex.c: Fix trigraph replacement within strings.
|
||
|
||
2000-07-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* rs6000/aix.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier.
|
||
|
||
* xcoffout.c (assign_type_number): Constify.
|
||
(xcoffout_source_file): Add static prototype. Don't needlessly
|
||
cast away const-ness.
|
||
|
||
2000-07-04 Jason Merrill <jason@redhat.com>
|
||
|
||
* frame.h (frame_state): Move base_offset to end.
|
||
|
||
Mon Jul 3 21:31:43 2000 Clinton Popetz <cpopetz@cygnus.com>
|
||
|
||
* calls.c (emit_library_call_value_1): Revert previous change.
|
||
|
||
2000-07-03 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* fix-header.c (struct partial_proto): Remove unnecessary fields.
|
||
(recognized_extern, recognized_function, read_scan_file):
|
||
Update for new scheme.
|
||
(check_protection): It's still a multiple include guard even
|
||
if it doesn't always trigger.
|
||
* scan-decls.c (skip_to_closing_brace, scan_decls): Update for
|
||
new scheme.
|
||
* scan.h: Declare struct cpp_token. Update prototypes.
|
||
|
||
2000-07-03 Neil Booth <neilb@earthling.net>
|
||
Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
Complete overhaul of the lexer and macro expander.
|
||
|
||
* cpphash.c (object_defn, funct_defn, push_macro_expansion,
|
||
arg, arglist, argdata, reflist, collect_objlike_expansion,
|
||
collect_funlike_expansion, collect_params,
|
||
warn_trad_stringify, trad_stringify, duplicate_arg_p, add_pat,
|
||
unsafe_chars, macarg, compare_defs, special_symbol,
|
||
scan_arguments, stringify, funlike_macroexpand,
|
||
_cpp_quote_string, monthnames): Delete.
|
||
(cpp_lookup, _cpp_free_definition, dump_funlike_macro,
|
||
_cpp_create_definition, _cpp_dump_definition,
|
||
dump_hash_helper): Adjust.
|
||
(find_param, count_params, parse_define, var_args_str,
|
||
check_macro_redefinition, save_expansion): New.
|
||
|
||
* cpplex.c (skip_block_comment, skip_line_comment, parse_name,
|
||
parse_string, output_line_command, trigraph_replace,
|
||
lex_line, cpp_push_buffer, cpp_pop_buffer, cpp_output_tokens,
|
||
cpp_scan_buffer_nooutput, cpp_scan_buffer, cpp_free_toklist,
|
||
cpp_idcmp, _cpp_get_directive_token, _cpp_init_input_buffer,
|
||
_cpp_skip_rest_of_line): Modify.
|
||
|
||
(maybe_macroexpand, skip_comment, copy_comment, skip_string,
|
||
find_position, null_warning, bump_column, expand_name_space,
|
||
pedantic_whitespace, _cpp_output_list, _cpp_slice_toklist,
|
||
_cpp_squeeze_toklist, _cpp_scan_until, _cpp_skip_hspace,
|
||
_cpp_parse_name, _cpp_lex_token, cpp_get_non_space_token,
|
||
_cpp_prescan): Delete.
|
||
|
||
(dump_param_spelling, process_directive, lex_next,
|
||
is_macro_disabled, stringify_arg, expand_context_stack,
|
||
output_token, make_string_token, alloc_number_token,
|
||
special_symbol, duplicate_token, maybe_paste_with_next,
|
||
can_paste, prevent_macro_expansion, restore_macro_expansion,
|
||
get_temp_token, release_temp_tokens, quote_string,
|
||
token_names, token_spellings, _cpp_expand_name_space,
|
||
_cpp_glue_header_name, _cpp_reserve_name_space,
|
||
digraph_spellings, trigraph_ok, skip_whitespace, save_comment,
|
||
placemarker_token, eof_token, cpp_context, macro_args,
|
||
get_raw_token, parse_arg, parse_args, save_token,
|
||
push_arg_context, push_macro_context, pop_context,
|
||
do_pop_context, free_macro_args, _cpp_get_line,
|
||
_cpp_run_directive): New.
|
||
|
||
* cpplib.c (validate_else, parse_include, push_conditional,
|
||
pass_thru_directive, read_line_number, parse_ifdef,
|
||
detect_if_not_defined, _cpp_check_directive, do_define,
|
||
do_undef, do_include, do_import, do_include_next, do_error,
|
||
do_warning, do_ident, do_pragma, pragma_dispatch, gcc_pragmas,
|
||
top_pragmas, do_pragma_gcc, do_pragma_implementation,
|
||
do_pragma_poison, do_pragma_system_header,
|
||
do_pragma_dependency, do_sccs, do_ifdef, do_ifndef, do_else,
|
||
dl_elif, do_endif, _cpp_unwind_if_stack, do_assert,
|
||
do_unassert, cpp_define, cpp_undef, cpp_assert, cpp_unassert,
|
||
cpp_defined): Update for new scheme.
|
||
(strtoul_for_line, get_define_node, dump_macro_name,
|
||
_cpp_check_linemarker, _cpp_parse_assertion): New.
|
||
(_cpp_handle_directive, do_pragma_default): Delete.
|
||
|
||
* cpphash.h (struct predicate): Now struct answer.
|
||
(enum spell_type, struct token_spelling, struct directive,
|
||
directive_handler): New.
|
||
Update prototypes. Remove unused macros.
|
||
* cpplib.h: Update prototypes. Remove unused macros,
|
||
structure definitions, and fields.
|
||
|
||
* cpperror.c (print_containing_files, v_message): Adjust.
|
||
* cppexp.c (parse_assertion, lex, parse_escape,
|
||
_cpp_parse_expr): Adjust.
|
||
* cppfiles.c (open_include_file, _cpp_execute_include,
|
||
_cpp_compare_file_date, cpp_read_file, read_include_file):
|
||
Adjust.
|
||
* cppinit.c (dump_special_to_buffer): Delete.
|
||
(append_include_chain, merge_include_chains, cpp_reader_init,
|
||
cpp_cleanup, initialize_builtins, builtin_array, cpp_start_read,
|
||
cpp_finish, handle_option, print_help): Adjust.
|
||
* cppmain.c (main): Adjust.
|
||
|
||
2000-07-03 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* cppspec.c (lang_specific_driver): Use double quotes in error
|
||
message.
|
||
|
||
Mon Jul 3 16:53:43 2000 Clinton Popetz <cpopetz@cygnus.com>
|
||
|
||
* calls.c (emit_library_call_value_1): Use valreg instead
|
||
of hard_libcall_value.
|
||
|
||
2000-07-03 Geoff Keating <geoffk@cygnus.com>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_emit_move): New function.
|
||
* config/rs6000/rs6000-proto.h: Prototype rs6000_emit_move.
|
||
* config/rs6000/rs6000.md (movsi): Use rs6000_emit_move.
|
||
(movhi): Likewise.
|
||
(movqi): Likewise.
|
||
(movdf): Likewise.
|
||
(movsf): Likewise.
|
||
(movdi): Likewise.
|
||
(movti): Likewise.
|
||
|
||
* expmed.c (expand_mult_highpart): Use op1 instead of wide_op1 when
|
||
mode instead of wider_mode is being used.
|
||
|
||
2000-07-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/i386/i386.md (movstrictqi_xor): Use 'q' constraint instead
|
||
of 'r'. Use q_regs_operand.
|
||
(andsi_1+2): Use q_regs_operand.
|
||
|
||
2000-07-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* builtins.c (get_memory_rtx): Always put into alias set 0.
|
||
|
||
2000-07-03 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/arm/arm.md: Fix post increment and pre increment
|
||
peepholes so that they do not generate UNPREDICATBLE opcodes.
|
||
(ie ones where the increment clobbers the source/destination).
|
||
|
||
2000-07-01 Marek Michalkiewicz <marekm@linux.org.pl>
|
||
|
||
* config/avr/avr.c (out_adj_frame_ptr): Make "frame pointer
|
||
change too big for -mtiny-stack" a warning, if larger than 63.
|
||
(out_set_stack_ptr): Change the logic so -mno-interrupts is
|
||
always safe to use on possible future devices.
|
||
(function_prologue): Write SPH before SPL, for consistency.
|
||
If interrupt_func_p true, we know we have enabled interrupts.
|
||
(avr_num_arg_regs): New function. Round up to even number of
|
||
bytes if no -mpack-args or if calling a libgcc function.
|
||
(function_arg, function_arg_advance): Use it.
|
||
(output_movsisf, ashlsi3_out, ashrsi3_out, lshrsi3_out):
|
||
Output "movw" if available.
|
||
(out_tsthi, out_tstsi, ashlqi3_out, lshrqi3_out): Change uses
|
||
of TEST_HARD_REG_CLASS macro to test_hard_reg_class function.
|
||
(asm_output_section_name): Add blanks for consistent output.
|
||
(encode_section_info): Set TREE_READONLY for progmem data to
|
||
avoid gas warnings about changed section attributes.
|
||
(avr_hard_regno_mode_ok): Force non-QImode data to start in
|
||
even numbered registers on devices with "movw".
|
||
* config/avr/avr.h (MASK_*): Define bits for target_flags.
|
||
(TARGET_SWITCHES): Mark help strings for translation.
|
||
Add new -mpack-args and -menhanced switches.
|
||
(TARGET_OPTIONS): Mark help strings for translation.
|
||
(progmem_section): Add section attributes.
|
||
* config/avr/avr.md (*movhi, call_insn, call_value_insn):
|
||
Output "movw" if available.
|
||
(mulqi3, mulqihi3, umulqihi3, mulhi3, *tablejump_enh):
|
||
New patterns.
|
||
* config/avr/libgcc.S (_mulqi3, _divqi3): Update to the new
|
||
call convention (arguments aligned on even registers).
|
||
(_cleanup, _exit): Make weak symbols libc can override.
|
||
|
||
2000-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* fp-bit.h: New file.
|
||
|
||
* fp-bit.c: Move common code, prototypes, etc into fp-bit.h.
|
||
Comment #endif statements.
|
||
(__thenan_sf, __thenan_df): Add missing braces around initializer.
|
||
|
||
Mon Jul 3 00:32:47 2000 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* gcse.c (compute_pre_data): Compute ae_kill using other local
|
||
properties instead of calling compute_ae_kill.
|
||
|
||
* alias.c (init_alias_analysis): Do not call
|
||
prologue_epilogue_contains until after reload has completed.
|
||
|
||
2000-07-02 Benjamin Chelf <chelf@codesourcery.com>
|
||
|
||
* c-common.h (genrtl_begin_compound_stmt): Remove declaration.
|
||
(genrtl_finish_compound_stmt): Likewise.
|
||
(genrtl_compound_stmt): Change to return void.
|
||
|
||
* c-semantics.c (genrtl_begin_compound_stmt): Remove function and
|
||
move code from here to ...
|
||
(genrtl_compound_stmt): ... here.
|
||
(genrtl_finish_compound_stmt): Remove.
|
||
(expand_stmt): Add comment.
|
||
|
||
2000-07-02 Zack Weinberg <zack@wolery.cumb.org>
|
||
|
||
* c-typeck.c (build_indirect_ref): Use COMPLETE_OR_VOID_TYPE_P
|
||
and VOID_TYPE_P.
|
||
|
||
2000-07-02 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* cpplib.h (struct cpp_reader): New field include_depth.
|
||
(struct cpp_printer): Rename last_bsd to last_id.
|
||
* cppfiles.c (read_include_file): Bump include_depth.
|
||
* cpplex.c (cpp_pop_buffer): Decrement include_depth.
|
||
(output_line_command): Output correct #line if a header
|
||
is including itself and is not protected against multiple inclusion.
|
||
Use include_depth instead of buffer_stack_depth, last_id instead of
|
||
last_bsd.
|
||
* cppinit.c (cpp_start_read): Initialize last_id instead of
|
||
last_bsd.
|
||
|
||
2000-07-01 Benjamin Chelf <chelf@codesourcery.com>
|
||
|
||
* Makefile.in (C_AND_OBJC_OBJS): Added c-semantics.o.
|
||
(c-semantics.o): New target.
|
||
|
||
* c-common.h (TREE_LANG_FLAG_?): Added documentation.
|
||
(genrtl_do_pushlevel): Moved from cp/cp-tree.h.
|
||
(genrtl_clear_out_block): Likewise.
|
||
(genrtl_goto_stmt): Likewise.
|
||
(genrtl_expr_stmt): Likewise.
|
||
(genrtl_decl_stmt): Likewise.
|
||
(genrtl_if_stmt): Likewise.
|
||
(genrtl_while_stmt): Likewise.
|
||
(genrtl_do_stmt): Likewise.
|
||
(genrtl_return_stmt): Likewise.
|
||
(genrtl_for_stmt): Likewise.
|
||
(genrtl_break_stmt): Likewise.
|
||
(genrtl_continue_stmt): Likewise.
|
||
(genrtl_scope_stmt): Likewise.
|
||
(genrtl_switch_stmt): Likewise.
|
||
(genrtl_case_label): Likewise.
|
||
(genrtl_begin_compound_stmt): Likewise.
|
||
(gerntl_finish_compound_stmt): Likewise.
|
||
(genrtl_compound_stmt): Likewise.
|
||
(genrtl_asm_stmt): Likewise.
|
||
(genrtl_decl_cleanup): Likewise.
|
||
(DECL_ANON_UNION_ELEMS): Likewise.
|
||
(emit_local_var): Likewise.
|
||
(make_rtl_for_local_static): Likewise.
|
||
(expand_cond): Likewise.
|
||
(expand_stmt): Likewise.
|
||
(c_expand_return): Likewise.
|
||
(c_expand_start_case): Likewise.
|
||
(do_case): Likewise.
|
||
(COMPOUND_STMT_NO_SCOPE): Likewise.
|
||
(c_expand_asm_operands): Likewise.
|
||
(NEW_FOR_SCOPE_P): New macro.
|
||
(expand_expr_stmt_fn): New type.
|
||
|
||
(set_current_function_name_declared): Likewise.
|
||
(current_function_name_declared): Likewise.
|
||
(lang_expand_stmt): Likewise.
|
||
(stmts_are_full_exprs_p): Likewise.
|
||
(anon_aggr_type_p): Likewise.
|
||
(lang_expand_expr_stmt): Likewise.
|
||
(build_case_label): Likewise.
|
||
|
||
* c-decl.c (lang_expand_expr_stmt): Initialize.
|
||
(stmts_are_full_exprs_p): Define.
|
||
(current_function_name_declared): Likewise.
|
||
(do_case): Likewise.
|
||
(lang_expand_stmt): Likewise.
|
||
(set_current_function_name_declared): Likewise.
|
||
(anon_aggr_type_p): Likewise.
|
||
|
||
* c-semantics.c: New file.
|
||
(expand_cond): Moved from cp/semantics.c.
|
||
(genrtl_do_pushlevel): Likewise.
|
||
(genrtl_clear_out_block): Likewise.
|
||
(genrtl_goto_stmt): Likewise.
|
||
(genrtl_expr_stmt): Likewise.
|
||
(genrtl_decl_stmt): Likewise.
|
||
(genrtl_if_stmt): Likewise.
|
||
(genrtl_while_stmt): Likewise.
|
||
(genrtl_do_stmt): Likewise.
|
||
(genrtl_return_stmt): Likewise.
|
||
(genrtl_for_stmt): Likewise.
|
||
(genrtl_break_stmt): Likewise.
|
||
(genrtl_continue_stmt): Likewise.
|
||
(genrtl_scope_stmt): Likewise.
|
||
(genrtl_switch_stmt): Likewise.
|
||
(genrtl_case_label): Likewise.
|
||
(genrtl_begin_compound_stmt): Likewise.
|
||
(genrtl_finish_compound_stmt): Likewise.
|
||
(genrtl_compound_stmt): Likewise.
|
||
(genrtl_asm_stmt): Likewise.
|
||
(genrtl_decl_cleanup): Likewise.
|
||
(make_rtl_for_local_static): Moved from cp/decl.c.
|
||
(emit_local_var): Likewise.
|
||
(expand_stmt): Define.
|
||
|
||
* c-tree.h: (c_expand_asm_operands): Moved to c-common.h.
|
||
(c_expand_return): Likewise.
|
||
(c_expand_start_case): Likewise.
|
||
|
||
2000-07-01 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/ia64/ia64.c (symbolic_operand): Reject CONST expressions
|
||
with the low 13 bits set.
|
||
(move_operand): Check for CONST|SYMBOL_REF|LABEL_REF directly.
|
||
* config/ia64/ia64.md (movdi): Likewise. Expand a CONST with one
|
||
of the low 13 bits into a CONST plus an adddi3.
|
||
(load_symptr): Set RTX_UNCHANGING_P.
|
||
|
||
See ChangeLog.3 for earlier changes.
|