OSDN Git Service

* real.h (ieee_extended_intel_96_round_53_format): New.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index aa29d39..cd02e3f 100644 (file)
@@ -1,3 +1,925 @@
+2003-06-24  Richard Henderson  <rth@redhat.com>
+           (blame to: Loren James Rittle  <ljrittle@acm.org>)
+
+       * real.h (ieee_extended_intel_96_round_53_format): New.
+       * real.c (ieee_extended_intel_96_round_53_format): New.
+       * config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Use it
+       for XFmode and TFmode.
+
+2003-06-24  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (4 anonymous patterns): Give internal
+       names.
+       (movsi_h8300): Change the name to *movsi_h8300.
+       (movsi_h8300hs): Change the name to *movsi_h8300hs.
+       (movsf_h8300): Change the name to *movsf_h8300.
+       (movsf_h8300hs): Change the name to *movsf_h8300hs.
+
+2003-06-24  Jakub Jelinek  <jakub@redhat.com>
+
+       * builtins.c (expand_builtin_strcpy): Don't evaluate side-effects in
+       src twice.
+
+2003-06-24  J"orn Rennecke <joern.rennecke@superh.com>
+
+       Back out these patches:
+        2003-06-02  J"orn Rennecke <joern.rennecke@superh.com>
+          * sh.h (OLD_ARG_MODE): New macro.
+          (FUNCTION_ARG_ADVANCE, FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
+          (FUNCTION_ARG_1): Break out of:
+          (FUNCTION_ARG).  Use OLD_ARG_MODE.
+        2003-06-06  J"orn Rennecke <joern.rennecke@superh.com>
+          * sh.h (FUNCTION_ARG_1): Consistently use NEW_MODE for the mode
+          of the generated register.
+
+       * sh.h (FUNCTION_ARG_SCmode_WART): Define.
+       (FUNCTION_ARG): Unless FUNCTION_ARG_SCmode_WART is defined and
+       an even number of floating point regs are in use, use the same
+       sequence of argument passing registers for SCmode as would be 
+       used for two SFmode values.
+       * sh.c (sh_va_arg): If FUNCTION_ARG_SCmode_WART is defined,
+       swap real / imaginary parts in incoming SCmode values passed
+       in registers.
+
+2003-06-24  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
+
+        PR target/11260
+        * config/alpha/alpha.md (sqrtdf2): Fix operand substitution.
+
+Tue Jun 24 18:49:33 CEST 2003  Jan Hubicka  <jh@suse.cz>
+
+       * Makefile.in (cgraph.o): Depend on output.h, not depend on
+       tree-inline.h
+       * cgraph.c: Do not include tree-inline.h; include output.h
+       (known_fns): Rename to ...
+       (known_decls): ... this one; update all uses.
+       (cgraph_varpool_hash): New static variable.
+       (cgraph_varpool_n_nodes, cgraph_varpool_nodes_queue): New global
+       variables.
+       (cgraph_varpool_hash_node, eq_cgraph_varpool_node, cgraph_varpool_node,
+       cgraph_varpool_node_for_identifier, cgraph_varpool_mark_needed_node,
+       cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
+       New functions.
+       * cgraph.h (cgraph_varpool_node): New structure.
+       (cgraph_varpool_n_nodes, cgraph_varpool_nodes_queue): Declare.
+       (cgraph_varpool_node, cgraph_varpool_node_for_identifier,
+       cgraph_varpool_finalize_decl, cgraph_varpool_mark_needed_node,
+       cgraph_varpool_asemble_pending_decls): Declare.
+       * cgraphunit.c (record_call_1): Notice variable references.
+       (cgraph_finalize_compilation_unit): Assemble pending variables.
+       * toplev.c (wrapup_global_declarations): Use varpool.
+       (compile_file): Assemble pending declarations.
+       (rest_of_decl_compilation): Use varpool in unit-at-a-time mode.
+       * varasm.c (assemble_name): Notice varpool references.
+
+Tue Jun 24 13:52:11 CEST 2003  Jan Hubicka  <jh@suse.cz>
+
+       * langhooks-def.h (LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE): New macro.
+       * langhooks.h (lang_hooks_for_decls): Add prepare_assemble_variable.
+       * varasm.c (assemble_variable): Call prepare_assemble_variable.
+
+2003-06-23  Roger Sayle  <roger@eyesopen.com>
+
+       * builtins.c (expand_builtin): Use expand_builtin_pow to expand
+       calls for pow, powf, powl and their __builtin_ variants.
+       (expand_builtin_pow): If the second argument is a constant
+       integer and compiling with -ffast-math, use expand_powi to
+       generate RTL if powi_cost is less than POWI_MAX_MULTS.
+       (powi_cost): New function to return the number of multiplications
+       necessary to evaluate an Nth power, for integer constant N.
+       (expand_powi): New function to expand the RTL for evaluating
+       the Nth power of a floating point value, for integer constant N.
+
+       * doc/tm.texi (POWI_MAX_MULTS): Document new target macro.
+
+Mon Jun 23 23:07:35 CEST 2003  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.c (cgraph_nodes_queue): Declare.
+       (eq_node): Take identifier as p2.
+       (cgraph_node): Update htab_find_slot_with_hash call.
+       (cgraph_node_for_identifier): New.
+       (cgraph_mark_needed_node): Move here from cgraphunit.c.
+       * cgraph.h (cgraph_nodes_queue): Declare.
+       (cgraph_node_for_identifier): Declare.
+       * cgraphunit.c (cgraph_finalize_function): Collect entry points here
+       instead of in cgraph_finalize_compilation_unit; constructors and
+       destructors are entry points.
+       (cgraph_finalize_compilation_unit): Reorganize debug outout; 
+       examine nested functions after lowerng; call collect_functions hook.
+       (cgraph_mark_local_functions): DECL_COMDAT functions are not local.
+       (cgraph_finalize_compilation_unit): Do not collect entry points.
+       * varasm.c: Include cgraph.h
+       (assemble_name): Mark referenced identifier as needed.
+
+       * cgraphunit.c (record_call_1): Use get_callee_fndecl.
+
+2003-06-23  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/i386/i386.c (x86_output_mi_thunk): Don't pass MEM to %P0,
+       just SYMBOL_REF.
+       * config/s390/s390.c (s390_output_mi_thunk): Avoid .plt in -m31
+       mode, as it requires pic register loaded.
+
+       * varasm.c (resolve_unique_section): Remove prototype.  No longer
+       static.
+       * tree.h (resolve_unique_section): New prototype.
+
+2003-06-23  Andreas Schwab  <schwab@suse.de>
+
+       PR debug/9905
+       * dwarf2out.c (loc_descriptor_from_tree): Handle MODIFY_EXPR by
+       recursing through first argument.
+
+2003-06-23  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * ChangeLog.1: Fix a typo.
+       * cfgrtl.c: Fix comment typos.
+       * dwarf2out.c: Likewise.
+       * expmed.c: Likewise.
+       * genrecog.c: Likewise.
+       * jump.c: Likewise.
+       * rtlanal.c: Likewise.
+       * ssa-dce.c: Likewise.
+       * toplev.c: Likewise.
+
+2003-06-23  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * doc/extend.texi: Fix typos.
+       * doc/md.texi: Likewise.
+       * doc/tm.texi: Likewise.
+
+2003-06-23  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * basic-block.h: Fix comment formatting.
+       * bt-load.c: Likewise.
+       * builtins.c: Likewise.
+       * c-common.c: Likewise.
+       * c-common.h: Likewise.
+       * c-format.c: Likewise.
+       * coverage.c: Likewise.
+       * cpplib.h: Likewise.
+       * cpppch.c: Likewise.
+       * dbxout.c: Likewise.
+       * diagnostic.c: Likewise.
+       * dwarf2out.c: Likewise.
+       * expr.c: Likewise.
+       * fold-const.c: Likewise.
+       * function.c: Likewise.
+       * gcc.c: Likewise.
+       * gcov-io.c: Likewise.
+       * gcov-io.h: Likewise.
+       * gcov.c: Likewise.
+       * profile.c: Likewise.
+       * real.h: Likewise.
+       * sched-deps.c: Likewise.
+
+2003-06-23  Roger Sayle  <roger@eyesopen.com>
+            Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+
+       * doc/contrib.texi (Contributors): Add a note on testing and
+       remove duplicates from testers list.
+
+2003-06-23  Nick Clifton  <nickc@redhat.com>
+
+       * read-rtl.c (read_braced_string): Check for EOF.  If
+       encountered issue an error message.
+
+2003-06-23  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * doc/invoke.texi: Document dump options, dT and dW.
+
+2003-06-23  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * genrecog.c (pred_table): Remove the entry for
+       mode_independent_operand.
+       * recog.c (next_insns_test_no_inequality): Remove.
+       (mode_independent_operand): Likewise.
+       * recog.h: Remove the prototype for mode_independent_operand.
+
+2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.c (output_simode_bld): Use rotxl.l to
+       store into bit 0.
+       * config/h8300/h8300.md (*extzv_1_r_h8300hs): Change cc of the
+       second alternative to set_znv.
+       (*extzv_1_r_inv_h8300hs): Likewise.
+
+2003-06-23  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * configure.in (in_tree_gas): Find out here whether GAS is ELF,
+       set in_tree_gas_is_elf accordingly.
+       (in_tree_ld): Find out whether LD emulation is ELF, set
+       in_tree_ld_is_elf accordingly.
+       (gcc_cv_as_subsections, gcc_cv_as_hidden, gcc_cv_as_leb128)
+       (gcc_cv_as_eh_frame, gcc_cv_as_shf_merge)
+       (gcc_cv_as_dwarf2_debug_line, gcc_cv_as_gdwarf2_flag)
+       (gcc_cv_as_gstabs_flag): Use $in_tree_gas_is_elf instead of
+       grepping gas/Makefile.
+       (gcc_cv_ld_ro_rw_mix, gcc_cv_ld_eh_frame_hdr, gcc_cv_ld_pie): Use
+       $in_tree_ld_is_elf instead of grepping ld/Makefile.
+       * configure: Regenerate.
+
+2003-06-22  Roger Sayle  <roger@eyesopen.com>
+
+       * builtins.c (expand_builtin_mathfn_2): Use tree_cons to build
+       up the stabilized argument list, not build_tree_list.
+       (expand_builtin_strcpy): Construct new argument list manually
+       instead of using chainon to modify the original argument list.
+       (expand_builtin_stpcpy): Construct new argument list manually
+       instead of using copy_list and chainon.
+       (expand_builtin_sprintf): New function.  Optimize calls to
+       sprintf when the format is "%s" or doesn't contain a '%'.
+       (expand_builtin): Expand BUILT_IN_SPRINTF using the new function
+       expand_builtin_sprintf.
+
+2003-06-22  Andreas Schwab  <schwab@suse.de>
+
+       * function.c (set_insn_locators): Mark as unused.
+
+2003-06-22  Neil Booth  <neil@daikokuya.co.uk>
+
+       * common.opt: Add -finline-limit.
+       * opts.c (common_handle_options): Handle it.
+       * opts.sh: Temporary kludge for -finline-limit.
+       * toplev.c (decode_f_option, independent_decode_option): Die.
+       (parse_options_and_default_flags): No independent_decode_option.
+
+2003-06-22  Andreas Jaeger  <aj@suse.de>
+
+       * calls.c (emit_call_1): Readd lost ATTRIBUTE_UNUSED.
+
+2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * doc/invoke.texi: Document dumps, .btl, .cfg, and .bypass.
+
+2003-06-22  Andreas Schwab  <schwab@suse.de>
+
+       * doc/invoke.texi: Remove leading `-' from options in index.
+
+2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * bt-load.c: Follow spelling conventions.
+
+2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * expr.c (emit_move_insn_1): Fix a comment typo.
+
+2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * doc/invoke.texi: Alphabetize dump options.
+
+2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * doc/invoke.texi: Remove a duplicate -dk.
+
+2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * doc/invoke.texi: Update dump file names.
+
+2003-06-22  Zack Weinberg  <zack@codesourcery.com>
+
+       * config/i370/i370.c, config/i370/i370.h: Use HOST_CHARSET_ASCII
+       and HOST_CHARSET_EBCDIC, not HC_ASCII and HC_EBCDIC.
+
+2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * doc/rtl.texi: Fix the @findex for pre_modify.
+
+2003-06-22  Andreas Jaeger  <aj@suse.de>
+
+       * caller-save.c: Convert to ISO C90.
+       * calls.c: Likewise.
+       * cfg.c: Likewise.
+       * cfganal.c: Likewise.
+       * cfgbuild.c: Likewise.
+       * cfgcleanup.c: Likewise.
+       * cfghooks.c: Likewise.
+       * cfglayout.c: Likewise.
+       * cfglayout.h: Likewise.
+       * cfgloop.c: Likewise.
+       * cfgloop.h: Likewise.
+       * cfgloopanal.c: Likewise.
+       * cfgloopmainip.c: Likewise.
+       * cfgrtl.c: Likewise.
+
+2003-06-22  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.h (BIGGEST_ALIGNMENT): Use TARGET_REALLY_IWMMXT for selecting
+       64-bit alignment.
+
+2003-06-22  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.md (all call_value patterns): Remove register constraints on
+       value operand.
+
+2003-06-22  Neil Booth  <neil@daikokuya.co.uk>
+
+       * common.opt: More -f switches.
+       * opts.c (common_handle_options): Handle them.
+       * toplev.c (time_report): Make extern.
+       (f_options): USe flag_dummy.
+       (decode_f_option): No need to use f_options now.
+       * toplev.h (flag_cprop_registers, flag_ssa, flag_ssa_ccp,
+       flag_ssa_dce, time_report, flag_new_regalloc): Make extern.
+
+2003-06-22  Andreas Jaeger  <aj@suse.de>
+
+       * c-lex.c: Convert to ISO C90.
+       * c-objc-common.c: Likewise.
+       * c-opts.c: Likewise.
+       * c-pch.c: Likewise.
+       * c-ppoutput.c: Likewise.
+       * c-pragma.h: Likewise.
+       * c-pretty-print.c: Likewise.
+       * c-pretty-print.h: Likewise.
+       * c-semantics.c: Likewise.
+       * c-tree.h: Likewise.
+       * c-typeck.c: Likewise.
+
+       * c-lang.c: Convert to ISO C90.
+
+2003-06-22  Neil Booth  <neil@daikokuya.co.uk>
+
+       * opts.c (find_opt): Fix to always guarantee a find of a
+       switch with joined parameter.
+       * opts.h (struct cl_option): New member back_chain.
+       * opts.sh: Update to calculate and add back_chain member.
+
+2003-06-22  Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+       * diagnostic.h (output_host_wide_integer): Declare.
+       * diagnostic.c (output_long_long_decicaml): New function.
+       (output_host_wide_integer): Likewise.
+       (output_format): Use them.  Handle "%ll" and "%w".
+
+2003-06-21  Jason Thorpe  <thorpej@wasabisystems.com>
+
+       * config.gcc (*-*-netbsd*): Add t-libgcc-pic to tmake_file.
+
+2003-06-21  Zack Weinberg  <zack@codesourcery.com>
+
+       * aclocal.m4 (gcc_AC_C_CHARSET): Delete.
+       * configure.in: Don't use gcc_AC_C_CHARSET.
+       * configure, config.in: Regenerate.
+       * config/i370/i370.c, config/i370/i370.h: Use
+       (HOST_CHARSET == HC_EBCDIC) or (HOST_CHARSET == HC_ASCII)
+       instead of HOST_EBCDIC or !HOST_EBCDIC.  Clarify comments a tad.
+
+2003-06-21  Neil Booth  <neil@daikokuya.co.uk>
+
+       * Makefile.in: Update.
+       * common.opt: New switches.
+       * opts.c: Include diagnostic.h.
+       (common_handle_option): Handle new switches.
+       * toplev.c (flag_loop_optimize, flag_crossjumping, flag_if_conversion,
+       flag_if_conversion2, flag_delete_null_pointer_checks,
+       flag_rerun_cse_after_loop): Make extern.
+       (flag_dummy): New.
+       (f_options): Update to use flag_dummy for moved options.
+       (decode_f_option): Some switches moved to opts.c.
+       * toplev.h (flag_loop_optimize, flag_crossjumping, flag_if_conversion,
+       flag_if_conversion2, flag_delete_null_pointer_checks,
+       flag_rerun_cse_after_loop, flag_keep_static_consts, flag_peel_loops,
+       flag_tracer, flag_thread_jumps, flag_unroll_loops,
+       flag_unroll_all_loops, flag_unswitch_loops): New.
+
+Sat Jun 21 13:41:00 CEST 2003  Jan Hubicka  <jh@suse.cz>
+
+       * i386.c (ix86_va_arg): Fix allocation of temporary slot.
+
+2003-06-20  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300-protos.h: Add a prototype for
+       same_cmp_preceding_p.
+       * config/h8300/h8300.c (same_cmp_preceding): New.
+       * config/h8300/h8300.md: Extend peephole2's that transform
+       compare:SI into shorter sequences so that they can deal with
+       signed comparisons.
+
+2003-06-21  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+
+       * doc/contrib.texi (Contributors): Use Windows instead of Win32.
+
+       Update Andreas Jaeger's entry.
+
+       Merge the two entries of Kaveh Ghazi, David Edelsohn, and
+       Loren J. Rittle.
+
+2003-06-21  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * mkconfig.sh: Add multiple inclusion guards to generated headers.
+
+2003-06-20  Neil Booth  <neil@daikokuya.co.uk>
+
+       * c-decl.c (store_parm_decls): Make saved_warn_shadow boolean.
+       * common.opt: Add remaining -W options and -g.
+       * diagnostic.c (warnings_are_errors): Remove.
+       * flags.h: Make most warning flags boolean.
+       * opts.c (common_handle_option): Handle remaining -W options, and -g.
+       Move many warning flags from toplev.c, making them boolean.
+       * toplev.c: Remove many warning flags.
+       (decode_W_option): Remove.
+       (decode_g_option): Make extern.  Error on unknown switch.
+       (lang_independent_W_options): Use warn_dummy.
+       (independent_decode_option): Just handle -f switches now.
+       * toplev.h (decode_g_option): New.
+
+2003-06-20  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR/11092
+       * config/rs6000/rs6000.h (LEGITIMATE_CONSTANT_P): Adjust for
+       vectors.
+
+2003-06-20  Kelley Cook  <kelleycook@wideopenwest.com>
+
+       * opts.sh: Tweak awk script for portability.
+
+2003-06-20  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/10888
+       * tree-inline.c (expand_call_inline): Do not warn about failing to
+       inline functions declared in system headers.
+       * doc/invoke.texi (-Winline): Expand on documentation.
+
+2003-06-20  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.c (alpha_file_start): Disable
+       file_start_file_directive for ELF and not MDEBUG.
+
+2003-06-20  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * sh.h (ROUND_TYPE_ALIGN): Remove.
+
+2003-06-20  Richard Henderson  <rth@redhat.com>
+
+       * hooks.c (hook_int_void_no_regs): Rename from
+       hook_reg_class_void_no_regs; change return type.
+       * hooks.h: Update.
+       * target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Update.
+       * target.h (branch_target_register_class): Change return type to int.
+       Add documentation.
+       * config/sh/sh.c (sh_target_reg_class): Change return type.
+       * doc/tm.texi (TARGET_BRANCH_TARGET_REGISTER_CLASS): Likewise.
+
+2003-06-20  Andreas Tobler <toa@pop.agri.ch>
+
+       * c-format.c: Change _Bool to bool reverting part of the last
+       patch.
+
+2003-06-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * som.h (ASM_OUTPUT_SOURCE_LINE): Use targetm.strip_name_encoding to
+       strip name encoding.
+
+2003-06-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * configure.in (gcc_cv_as_gstabs_flag): Disable if assembler warns.
+       * configure: Regenerate.
+       Fixes PR driver/9362.
+
+2003-06-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * config/alpha/alpha.c (alpha_file_start): Fix typo.
+
+2003-06-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * config/mips/mips.h (PUT_SDB_FUNCTION_END): Pass 0 as third arg
+       to ASM_OUTPUT_SOURCE_LINE.
+
+2003-06-20  Daniel Egger  <degger@fhm.edu>
+           Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+
+       * doc/install.texi (Building): Correct and improve statement
+       about parallel builds.
+
+2003-06-20  Andreas Jaeger  <aj@suse.de>
+
+       * c-common.c: Change _Bool to bool reverting part of the last
+       patch.
+
+2003-06-20  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * tree.h (expand_function_end): Remove all parameters.
+       * function.c (expand_function_end): Remove all parameters.
+       Use input_location. Never expand_end_bindings.
+       * c-decl.c (c_expand_body_1): Adjust expand_function_end call.
+       * coverage.c (create_coverage): Likewise.
+
+2003-06-20  Nick Clifton  <nickc@redhat.com>
+
+       * doc/extend.texi (ARM Built-in Functions): New node.  Document
+       ARM builtin functions for iWMMXt support.
+
+2003-06-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * doc/install.texi (--with-gnu-as): Mention SPARC/Solaris and
+       SPARC64/Solaris as platforms where --with-gnu-as makes a difference.
+       (--with-as): Add @anchor.
+       (--with-gnu-ld): Fix typo.
+       (--with-ld): Add @uref to --with-as.
+
+2003-06-19  Zack Weinberg  <zack@codesourcery.com>
+
+       * doc/tm.texi: Uniformly use @defmac for macros, rather than
+       @table items.  Minor formatting and editorial corrections.
+
+2003-06-20  Neil Booth  <neil@daikokuya.co.uk>
+
+       * line-map.c, line-map.h: Convert to ISO prototypes.
+
+2003-06-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * gcse.c (store_killed_in_insn): Fix.
+
+2003-06-19  Zack Weinberg  <zack@codesourcery.com>
+
+       * target.h (asm_out.file_start, file_start_app_off,
+       file_start_file_directive): New hooks.
+       * target-def.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE,
+       TARGET_ASM_FILE_START_APP_OFF, TARGET_ASM_FILE_START):
+       New hook-definition macros.
+       * doc/tm.texi: Document new hooks; remove docs of ASM_FILE_START.
+       * varasm.c (default_file_start): New.
+       * output.h: Prototype it.
+       * toplev.c (init_asm_output): Use targetm.asm_out.file_start.
+       * system.h: Poison ASM_FILE_START.
+
+       * config/alpha/alpha.c (alpha_write_verstamp): Delete.
+       (alpha_file_start): New, define if !TARGET_ABI_UNICOSMK.
+       (unicosmk_asm_file_start): Rename unicosmk_file_start,
+       make static, take no arguments.
+       (TARGET_ASM_FILE_START, TARGET_ASM_FILE_END,
+       TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set as appropriate.
+       * config/alpha/unicosmk.h: Don't define ASM_FILE_START nor
+       TARGET_ASM_FILE_END.  Remove reference to ASM_FILE_START in
+       comment.
+       * config/arc/arc.c (arc_asm_file_start): Rename
+       arc_file_start, take no arguments, make static.
+       (TARGET_ASM_FILE_START): Set it.
+       * config/arm/arm.c (aof_file_start): New static function.
+       (TARGET_ASM_FILE_START): Set it, when appropriate.
+       * config/arm/coff.h, config/arm/elf.h:
+       Set TARGET_ASM_FILE_START_APP_OFF to true.
+       * config/avr/avr.c (asm_file_start): Rename avr_file_start,
+       take no arguments, make static.
+       (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE):
+       Set them.
+       * config/c4x/c4x.c (c4x_file_start): New static function.
+       (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE):
+       Set them.
+       * config/cris/cris.c (cris_file_start): New static function.
+       (TARGET_ASM_FILE_START): Set it.
+       * config/dsp16xx/dsp16xx.c (coff_dsp16xx_file_start): Rename
+       dsp16xx_file_start, make static.
+       (luxworks_dsp16xx_file_start): Delete.
+       (TARGET_ASM_FILE_START): Set it.
+       * config/h8300/h8300.c (asm_file_start): Rename
+       h8300_file_start, make static, take no arguments.
+       (TARGET_ASM_FILE_START): Set it.
+       * config/i370/i370.c (i370_file_start): New static function.
+       (TARGET_ASM_FILE_START): Set it.
+       * config/i386/i386.c (x86_file_start): New static function.
+       (TARGET_ASM_FILE_START): Set it.
+       * config/i386/i386.h (X86_FILE_START_VERSION_DIRECTIVE,
+       X86_FILE_START_FLTUSED): New macros, default to false.
+       * config/i386/i386-interix.h: Override X86_FILE_START_FLTUSED to 1.
+       * config/i386/sysv4.h, config/i386/sco5.h: Override
+       X86_FILE_START_VERSION_DIRECTIVE to true.
+       * config/ia64/ia64.c (ia64_file_start): New static function.
+       (TARGET_ASM_FILE_START): Set it.
+       (emit_safe_across_calls): Take no arguments.
+       * config/ia64/ia64.md: Update to match.
+       * config/m32r/m32r.c (m32r_asm_file_start): Rename
+       m32r_file_start, make static, take no arguments.
+       (TARGET_ASM_FILE_START): Set it.
+       * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Rename
+       m68hc11_file_start, make static, take no arguments.
+       (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
+       (print_options): Delete.
+       * config/m68k/m68k.c (m68k_hp320_file_start): New static function.
+       (TARGET_ASM_FILE_START_APP_OFF): Set.
+       * config/m68k/hp320.h: Set TARGET_ASM_FILE_START to
+       m68k_hp320_file_start.
+       * config/mips/mips.c (iris6_asm_file_start, mips_asm_file_start):
+       Make static, take no arguments.
+       (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
+       * config/mmix/mmix.c (mmix_asm_file_start): Rename
+       mmix_file_start, make static, take no arguments.
+       (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
+       * config/mn10300/mn10300.c (asm_file_start): Rename
+       mn10300_file_start, make static, take no arguments.
+       (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
+       * config/ns32k/ns32k.c (TARGET_ASM_FILE_START_APP_OFF): Set.
+       * config/pa/pa.c (pa_file_start_level, pa_file_start_space,
+       pa_file_start_file, pa_file_start_mcount, pa_elf_file_start,
+       pa_som_file_start, pa_linux_file_start, pa_hpux64_gas_file_start,
+       pa_hpux64_hpas_file_start): New static functions.
+       * config/pa/elf.h: Set TARGET_ASM_FILE_START to pa_elf_file_start.
+       * config/pa/pa-linux.h: Set TARGET_ASM_FILE_START to
+       pa_linux_file_start.
+       * config/pa/pa64-hpux.h: Set TARGET_ASM_FILE_START to
+       pa_hpux64_gas_file_start or pa_hpux64_hpas_file_start, as
+       appropriate.
+       * config/pa/som.h: Set TARGET_ASM_FILE_START to pa_som_file_start.
+       * config/rs6000/rs6000.c: Include xcoffout.h when TARGET_XCOFF.
+       (rs6000_file_start): Make static, take no arguments.  Reset
+       default_cpu under certain conditions.
+       (rs6000_xcoff_file_start): New function.
+       * config/rs6000/rs6000.h (TARGET_ASM_FILE_START): Set.
+       * config/rs6000/xcoff.h (TARGET_ASM_FILE_START,
+       TARGET_ASM_FILE_START_FILE_DIRECTIVE): Override.
+       * config/sh/sh.c (output_file_start): Rename
+       sh_file_start, make static, take no arguments.  Merge in old
+       code from sh/elf.h's ASM_FILE_START, conditioned on TARGET_ELF.
+       (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
+       * config/sh/sh.c (TARGET_ELF): Define to 0.
+       * config/sh/elf.h (TARGET_ELF): Redefine to 1.
+       * config/v850/v850.c (asm_file_start): Delete.
+       (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
+       * config/vax/vax.c (vax_file_start): New static function.
+       (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_APP_OFF): Set.
+
+       * config/darwin.h: Override ASM_FILE_START_FILE_DIRECTIVE to false.
+       * config/elfos.h, config/svr3.h, config/arm/elf.h, config/arm/pe.h
+       * config/i386/att.h, config/i386/gas.h, config/i386/linux.h
+       * config/i386/sysv4.h, config/i386/sco5.h, config/i960/i960-coff.h
+       * config/m68k/coff.h, config/m68k/hp320.h, config/mcore/mcore-pe.h
+       * config/vax/vaxv.h: Set ASM_FILE_START_FILE_DIRECTIVE to true.
+
+       * config/darwin.h, config/elfos.h, config/alpha/elf.h
+       * config/alpha/openbsd.h, config/alpha/osf.h, config/alpha/vms.h
+       * config/arc/arc.h, config/arm/aof.h, config/arm/aout.h
+       * config/arm/coff.h, config/arm/elf.h, config/arm/pe.h
+       * config/avr/avr.h, config/c4x/c4x.h, config/cris/cris.h
+       * config/dsp16xx/dsp16xx.h, config/h8300/elf.h, config/h8300/h8300.h
+       * config/i370/i370.h, config/i386/att.h, config/i386/gas.h
+       * config/i386/i386-interix.h, config/i386/linux.h, config/i386/sysv4.h
+       * config/i386/sco5.h, config/i960/i960-coff.h, config/i960/i960.h
+       * config/ia64/ia64.h, config/ia64/sysv4.h, config/m32r/m32r.h
+       * config/m68hc11/m68hc11.h, config/m68k/coff.h, config/m68k/m68k.h
+       * config/mcore/mcore-pe.h, config/mips/iris6.h, config/mips/mips.h
+       * config/mmix/mmix.h, config/mn10300/mn10300.h, config/ns32k/ns32k.h
+       * config/pa/elf.h, config/pa/pa-linux.h, config/pa/pa64-hpux.h
+       * config/pa/som.h, config/pdp11/pdp11.h, config/rs6000/linux64.h
+       * config/rs6000/lynx.h, config/rs6000/xcoff.h, config/sh/elf.h
+       * config/sh/sh.h, config/sparc/sparc.h, config/v850/v850.h
+       * config/vax/vax.h, config/vax/vaxv.h: Don't (re)define ASM_FILE_START.
+
+       * config/alpha/alpha-protos.h, config/arc/arc-protos.h
+       * config/avr/avr-protos.h, config/dsp16xx/dsp16xx-protos.h
+       * config/h8300/h8300-protos.h, config/ia64/ia64-protos.h
+       * config/m32r/m32r-protos.h, config/m68hc11/m68hc11-protos.h
+       * config/mips/mips-protos.h, config/mmix/mmix-protos.h
+       * config/mn10300/mn10300-protos.h, config/rs6000/rs6000-protos.h
+       * config/sh/sh-protos.h, config/v850/v850-protos.h: Update.
+
+       * xcoffout.h, config/rs6000/aix.h, config/rs6000/xcoff.h:
+       Remove reference to ASM_FILE_START in comment.
+       * config/arm/aof.h, config/arm/aout.h, config/arm/freebsd.h
+       * config/arm/linux-gas.h, config/arm/netbsd-elf.h
+       * config/arm/netbsd.h: Delete definition of ARM_OS_NAME.
+
+2003-06-19  Graeme Peterson <gp@qnx.com>
+
+       * gcc.c (target_sysroot_suffix, target_sysroot_hdrs_suffix,
+       SYSROOT_SUFFIX_SPEC, SYSROOT_HEADERS_SUFFIX_SPEC, sysroot_suffix_spec,
+       sysroot_hdrs_suffix_spec): New.
+       (static_specs): Initialize new variables.
+       (add_sysroot_suffix_prefix, do_spec_1, main): Use new variables.
+       * doc/tm.texi (SYSROOT_SUFFIX_SPEC, SYSROOT_HEADERS_SUFFIX_SPEC):
+       New macros.
+
+2003-06-19  Andreas Jaeger  <aj@suse.de>
+
+       * c-aux-info.c: Convert to ISO C90.
+       * c-pragma.c: Likewise.
+       * c-common.c: Likewise.
+       * c-common.h: Likewise.
+       * c-convert.c: Likewise.
+       * c-cppbuiltin.c: Likewise.
+       * c-dump.c: Likewise.
+       * c-decl.c: Likewise
+       * c-format.c: Likewise.
+       * c-incpath.c: Likewise.
+       * c-incpath.h: Likewise.
+
+2003-06-19  Roger Sayle  <roger@eyesopen.com>
+
+       * builtins.c (expand_errno_check): Assume that flag_errno_math
+       and HONOR_NANS have been tested before calling here.  Only try
+       to set errno ourselves if the decl can't throw an exception.
+       (expand_builtin_mathfn): Move the code to stabilize the arg
+       after the main switch, so that that its only done when needed.
+       BUILT_IN_SQRT{,F,L} doesn't set errno if its arg is nonnegative.
+       Don't modify the original expr when stabilizing the argument.
+       (expand_builtin_mathfn_2): Likewise, move the code to stabilize
+       the args after the main switch, and don't modify the orginal exp.
+
+2003-06-19  Aldy Hernandez  <aldyh@redhat.com>
+
+       * expr.c (const_vector_from_tree): Initialize remaining elements
+       to 0.
+
+2003-06-19  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/rs6000/spe.md ("spe_evfscfsi"): Change operand types.
+       Change "fix" to "float".
+
+2003-06-19  Andreas Jaeger  <aj@suse.de>
+
+       * c-tree.h: Remove declaration of poplevel.
+
+       * tree.h: Remove declaration of approx_sqrt.
+
+       * c-lex.c: Remove redundant declaration of asm_out_file.
+
+       * flags.h: Remove declaration of warn_unknown_pragma and
+       main_input_filename.
+
+       * rtl.h: Remove functions from fold-const.c since they're already
+       declared in tree.h.
+
+       * regs.h: Remove redundant declaration of reg_names.
+
+       * bt-load.c (migrate_btr_defs): Correct printf arguments.
+
+       * protoize.c: Fix breakage from last patch.
+
+2003-06-19  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * hooks.h (hook_reg_class_void_no_regs): Only declare if tm.h
+       has been included.
+
+2003-06-18  James A Morrison <ja2morri@student.math.uwaterloo.ca>
+
+       * config/sparc/sparc.c: Update copyright year.
+
+2003-06-19  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.c (init_cumulative_args): Limit CALL_LIBCALL
+       to ABI_V4.
+
+2003-06-18  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       PR bootstrap/4068
+       * config/i386/liunx.h: Don't include sys/ucontext.h for glibc 2.0.
+
+2003-06-19  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.c (TARGET_INITIALIZER and friends): Move
+       to the end of the file.  Remove unnecessary prototypes.
+
+2003-06-19  Hans-Peter Nilsson  <hp@axis.com>
+
+       * bt-load.c (migrate_btr_def) [INSN_SCHEDULING]: Conditionalize
+       calls to insn_default_latency and result_ready_cost.  Initialize
+       def_latency to 1.
+
+2003-06-18  Richard Henderson  <rth@redhat.com>
+
+       * config/ia64/unwind-ia64.c (_Unwind_GetCFA): New.
+       (_Unwind_FindEnclosingFunction): Implement.
+
+2003-06-18  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * toplev.c (rest_of_handle_sched): Hide the entire function if
+       INSN_SCHEDULING is not defined.
+       (rest_of_compilation): Call rest_of_handle_sched() only when
+       INSN_SCHEDULING is defined.
+
+2003-06-18  Stephen Clarke <stephen.clarke@superh.com>
+           J"orn Rennecke <joern.rennecke@superh.com>
+
+       * bt-load.c: New file.
+       * Makefile.in (OBJS): Include bt-load.o
+       (bt-load.o): Add dependencies.
+       * flags.h (flag_branch_target_load_optimize): Declare.
+       (flag_branch_target_load_optimize2): Likewise.
+       * hooks.c (hook_reg_class_void_no_regs): New function.
+       (hook_bool_bool_false): Likewise.
+       * hooks.h (hook_reg_class_void_no_regs, hook_bool_bool_false): Declare.
+       * rtl.h (branch_target_load_optimize): Declare.
+       * target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Define.
+       (TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
+       (TARGET_INITIALIZER): Include these.
+       * target.h (struct gcc_target): Add branch_target_register_class
+       and branch_target_register_callee_saved members.
+       * toplev.c (enum dump_file_index): Add DFI_branch_target_load
+       (dump_file) Add "tars" entry.
+       (flag_branch_target_load_optimize): New variable.
+       (flag_branch_target_load_optimize2): Likewise.
+       (lang_independent_options): Add entries for new options.
+       (rest_of_compilation): Call branch_target_load_optimize.
+       * doc/tm.texi (TARGET_BRANCH_TARGET_REGISTER_CLASS): Document.
+       (TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
+       * doc/invoke.texi: Document -fbranch-target-load-optimize and
+       -fbranch-target-load-optimize2.
+       * rtl.h (epilogue_completed): Declare.
+       * recog.c (epilogue_completed): New variable.
+       * toplev.c (rest_of_compilation): Set it.
+       * flow.c (mark_regs_live_at_end): Use it.
+       * config/ia64/ia64.c (ia64_output_mi_thunk): Set it.
+       * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
+       * config/sh/sh.c (sh_output_mi_thunk): Likewise.
+       * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
+
+       * sh.c (shmedia_space_reserved_for_target_registers): New variable.
+       (sh_target_reg_class): New function.
+       (sh_optimize_target_register_callee_saved): Likwise.
+       (shmedia_target_regs_stack_space): Likewise.
+       (shmedia_reserve_space_for_target_registers_p): Likewise.
+       (shmedia_target_regs_stack_adjust): Likewise.
+       (TARGET_BRANCH_TARGET_REGISTER_CLASS): Override.
+       (TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
+       (calc_live_regs): If flag_branch_target_load_optimize2 and
+       TARGET_SAVE_ALL_TARGET_REGS is enabled, and we have space reserved
+       for target registers, make sure that we save all target registers.
+       (sh_expand_prologue, sh_expand_epilogue): Take target register
+       optimizations into account.  Collapse stack adjustments if that
+       is beneficial.
+       (initial_elimination_offset): Reserve space for target registers
+       if necessary.
+       * sh.h (SAVE_ALL_TR_BIT, TARGET_SAVE_ALL_TARGET_REGS): Define.
+       (OPTIMIZATION_OPTIONS): Enable flag_branch_target_load_optimize.
+
+2003-06-18  Nick Clifton  <nickc@redhat.com>
+
+       * config.gcc: Add an extra_header for ARM targets.
+       Support configuring with --with-cpu=iwmmxt.
+       * doc/invoke.texi: Document new value for -mcpu= ARM switch.
+       * config/arm/aof.h (REGISTER_NAMES): Add iwmmxt register
+       names.  Fix formatting.
+       * config/arm/aout.h (REGISTER_NAMES): Add iwmmxt register
+       names.
+       * config/arm/arm-protos.h (arm_emit_vector_const): New
+       prototype.
+       (arm_output_load_gr): New prototype.
+       * config/arm/arm.c (extra_reg_names1): Delete.
+       (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN, FL_IWMMXT,
+       * arch_is_iwmmxt): Define.
+       (all_cores, all_architecture): Add entry for iwmmxt.
+       (arm_override_options): Add support for iwmmxt.
+       (use_return_insn, arm_function_arg, arm_legitimate_index_p,
+       arm_print_value, arm_rtx_costs_1, output_move_double,
+       arm_compute_save_reg_mask, arm_output_epilogue,
+       arm_get_frame_size, arm_expand_prologue, arm_print_operand,
+       arm_assemble_integer, arm_hard_regno_ok, arm_regno_class):
+       Likewise.
+       (arm_init_cumulative_args): Count iwmmxt registers.
+       (arm_function_ok_for_sibcall): Return false of sibcall_blocked
+       has been set.
+       (struct minipool_node): Add fix_size field.
+       (add_minipool_forward_ref): Add support for 8-byte aligning of
+       the pool.
+       (add_minipool_backward_ref, add_minipool_offsets,
+       dump_minipool, push_minipool_fix): Likewise.
+       (struct builtin_description): New struct.
+       (builtin_description): New array of iwmmxt builtin functions.
+       (arm_init_iwmmxt_builtins): New function.
+       (arm_init_builtins): New function.
+       (safe_vector_operand): New function.
+       (arm_expand_binop_builtin): New function.
+       (arm_expand_unop_builtin): New function.
+       (arm_expand_builtin): New function.
+       (arm_emit_vector_const): New function.
+       (arm_output_load_gr): New function.
+       * config/arm/arm.h (TARGET_CPU_iwmmxt, TARGET_IWMMXT,
+       TARGET_REALLY_IWMMXT, arm_arch_iwmmxt, IWMMXT_ALIGNMENT,
+       TYPE_NEEDS_IWMMXT_ALIGNMENT, ADJUST_FIELD_ALIGN,
+       DATA_ALIGNMENT, LOCAL_ALIGNMENT, VECTOR_MODE_SUPPORTED_P): Define.
+       (BIGGEST_ALIGNMENT): Set to 64 if ATPCS support is enabled.
+       (CPP_CPU_ARCH_SPEC): Add entries for iwmmxt.
+       (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER,
+       reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
+       REG_CLASS_FOR_LETTER): Add iwmmxt registers.
+       (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Disable iwmmxt
+       registers unless the iwmmxt target is selected.
+       (FIRST_IWMMXT_GR_REGNUM, LAST_IWMMXT_GR_REGNUM,
+       FIRST_IWMMXT_REGNUM, LAST_IWMMXT_REGNUM, IS_IWMMXT_REGNUM,
+       IS_IWMMXT_GR_REGNUM): Define.
+       (FIRST_PSEUDO_REGISTER): Bump to 63.
+       (struct machine_function): Add sibcall_blocked field.
+       (Struct CUMULATIVE_ARGS): Add iwmmxt_nregs, named_count and
+       nargs fields.
+       (enum arm_builtins): New enum list.
+       * config/arm/arm.md (UNSPEC_WSHUFH, UNSPEC_WACC,
+       UNSPEC_TMOVMSK, UNSPEC_WSAD, UNSPEC_WSADZ, UNSPEC_WMACS,
+       UNSPEC_WMACU, UNSPEC_WMACSZ, UNSPEC_WMACUZ, UNSPEC_CLRDI,
+       UNSPEC_WMADDS, UNSPEC_WMADDU): New unspecs.
+       (VUNSPEC_TMRC, VUNSPEC_TMCR, VUNSPEC_ALIGN8, VUNSPEC_WCMP_EQ,
+       VUNSPEC_WCMP_GTU, VUNSPEC_WCMP_GT): New vunspecs.
+       (movv2si, movv4hi, movv8qi): New expands for vector moves.
+       Include iwmmxt.md.
+       * config/arm/t-xscale-elf (MULTILIB_OPITONS): Add iwmmxt
+       multilib.
+       (MULTILIB_DIRNAMES, MULTILIB_REDUNDANT_DIRS): Likewise.
+       * config/arm/mmintrin.h: New ARM specific header file.
+       * config/arm/iwmmx.md: New iWMMXt specific machine patterns.
+
+2003-06-18  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * toplev.c (Remaining -d letters summary): Update.
+
 2003-06-18  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
 
        * config/rs6000/rs6000.c (init_cumulative_args): Add and handle LIBCALL
        * config/ns32k/NOTES: Likewise.
 
 2003-06-17  Ranjit Mathew  <rmathew@hotmail.com>
-            Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-       
+           Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+
        * doc/sourcebuild.texi (libgcj Tests): Simplify instructions on how
        to run Java runtime tests separately.