blob: fcbad249f872d072a2ba0332def0f999e03a7fae [file] [log] [blame]
2000-12-31 Alexandre Oliva <aoliva@redhat.com>
* resource.c (mark_referenced_resources): Abort() before
attempting to mark a pseudo register.
(mark_set_resources): Likewise.
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 optimized.
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 initialized 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 uninitialized 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): Initialize 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 nonzero 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 initialize from
c_target_objs.
(CXX_TARGET_OBJS): Define and initialize 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): Initialize 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>