OSDN Git Service

add fixes for new hp/ux patch
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index d8073b4..c8b988f 100644 (file)
@@ -1,3 +1,378 @@
+2002-10-04  Bruce Korb  <bkorb@gnu.org>
+
+       * fixinc/inclhack.def(hpux11_abs):  use format fix
+       * fixinc/fixincl.x: regenerate
+       * fixinc/tests/base/stdlib.h: accommodate new fix test
+
+Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
+
+       * c-common.c (cb_register_builtins):  Use really_no_inline.
+
+2002-10-04  David Edelsohn  <edelsohn@gnu.org>
+
+       * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
+       copied instruction if the note is not loop invariant.
+
+2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
+
+       * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
+
+2002-10-04  Steve Ellcey  <sje@cup.hp.com>
+
+       * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
+       and -mhp-ld options to list of options.  Add -mgnu-ld
+       and -mhp-ld option descriptions.
+
+2002-10-04  Steve Ellcey  <sje@cup.hp.com>
+
+       * fixinc/inclhack.def (hpux11_abs):  New.
+       (stdio_va_list): change __va_list__ to __gnuc_va_list.
+       * fixinc/fixincl.x: Rebuild.
+
+2002-10-04  Roger Sayle  <roger@eyesopen.com>
+
+       * config/i386/i386.h (processor_costs): Add new fields fadd,
+       fmul, fdiv, fabs, fchs and fsqrt to costs structure.
+       (RTX_COSTS): Use these fields to determine the RTX costs
+       of floating point addition/subtraction, multiplication,
+       division, fabs, negation and square root respectively.
+       * config/i386/i386.c (size_cost): Provide instruction sizes
+       for these new fields.
+       (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
+       k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
+       counts for these new fields for all x86 processor variants.
+
+2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * mips.c (mips_const_double_ok): Delete unused variable.
+
+       * gengtype.c (rtx_next): Change type to int.
+
+2002-10-04  Andreas Jaeger  <aj@suse.de>
+
+       * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
+
+2002-10-04  Richard Henderson  <rth@redhat.com>
+
+       * real.h (SIGNIFICAND_BITS): Add one more word.
+       (CONST_DOUBLE_FORMAT): Accomodate 6 words.
+       * real.c (times_pten): New.
+       (real_to_decimal, real_from_string): Use it.
+       (sticky_rshift_significand): Use & to find modulus.
+       (rshift_significand, lshift_significand): Likewise.
+       (do_divide): Apply sticky bit after normalization.
+       (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
+
+2002-10-03  Andreas Jaeger  <aj@suse.de>
+
+       * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
+       to unsigned long, adjust printf format string.
+       (output_mangled_typename): Likewise.
+
+2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
+
+       * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
+       * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
+       (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
+       assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
+       (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
+       (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
+       * config/vax/elf.h (FUNCTION_PROFILER): Remove.
+       (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
+
+2002-10-03  Mark Mitchell  <mark@codesourcery.com>
+
+       * doc/invoke.texi (-Wabi): Document mangling bug.
+
+2002-10-04  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
+       name for the tbtab label that depends on the function asm name.
+       Don't output tbtab label unless optional_tbtab.
+       (output_mi_thunk): Formatting.
+
+2002-10-03  Richard Henderson  <rth@redhat.com>
+
+       * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
+       * config/m68k/m68k.c (override_options): ... here.
+       * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
+       * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
+       * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
+       * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
+
+2002-10-03  Richard Henderson  <rth@redhat.com>
+
+       * real.h (struct real_value): Use ENUM_BITFIELD.
+
+2002-10-03  Richard Henderson  <rth@redhat.com>
+
+       * config/i960/i960.md (call, call_value): Use emit_call_insn.
+
+2002-10-03  Steve Ellcey  <sje@cup.hp.com>
+
+       * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
+
+2002-10-03  Steve Ellcey  <sje@cup.hp.com>
+
+       * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
+       * config/pa/pa.h (MASK_GNU_LD): New.
+       (TARGET_GNU_LD): New.
+       * config/pa/pa64-hpux.h (LINK_SPEC): Set based
+       on gnu-ld and MASK_GNU_LD.
+       (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
+
+Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
+
+       * i386.c (athlon_cost): Fix the move costs.
+
+Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
+
+       * final.c (final): Use symbol name as function name for profiling.
+       * profile.c (get_exec_counts): Likewise.
+       (branch_prob): Likewise.
+
+2002-10-03  Jakub Jelinek  <jakub@redhat.com>
+
+       * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
+
+2002-10-03  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc.c (print_multi_os_directory): New variable.
+       (option_map): Support --print-multi-os-directory.
+       (struct prefix_list): Add os_multilib field.
+       (multilib_os_dir): New variable.
+       (static_specs): Add multilib_options.
+       (find_a_file): Add multilib argument.  Search in GCC or OS multilib
+       subdirs if non-zero.
+       (read_specs, execute): Update callers.
+       (find_file): Likewise.  Don't prefix name with multilib_dir, instead
+       pass 1 as multilib option.
+       (display_help): Include --print-multi-os-directory.
+       (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
+       (process_command): Update callers.  Handle --print-multi-os-directory.
+       (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
+       set.
+       (main): Update find_a_file and add_prefix callers.
+       Handle print_multi_os_directory.
+       (struct mdswitchstr): New.
+       (mdswitches, n_mdswitches): New variables.
+       (used_arg): Add MULTILIB_DEFAULT switches too if they are not
+       present on the command line nor their mutually incompatible
+       switches.
+       (default_arg): Optimize.
+       (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
+       array.
+       (print_multilib_info): Only print GCC multilib dir name, not OS
+       multilib dirname.
+       * genmultilib: Add osdirnames parameter.  Output multilib_options
+       variable.  If osdirnames is specified, output dirnames as
+       dirname:osdirname.
+       * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
+       and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
+       to compute libgcc_s soname and install path.
+       * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
+       SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
+       (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
+       argument.
+
+       * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
+       (SHLIB_SLIBDIR_SUFFIXES): Remove.
+       * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
+       ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
+       (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
+       and -m64.
+       * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
+       (SHLIB_SLIBDIR_SUFFIXES): Remove.
+       * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
+       (STARTFILE_ARCH_SPEC): Remove.
+       * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
+       (SHLIB_SLIBDIR_SUFFIXES): Remove.
+       * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
+       * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
+       (SHLIB_SLIBDIR_SUFFIXES): Remove.
+
+Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
+
+       * predict.c (choose_function_section): Avoid choice for linkonce functions.
+
+Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
+
+       * i386.md (lea to mul peep2): Fix condition.
+
+2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
+       * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
+
+2002-10-02  Richard Henderson  <rth@redhat.com>
+
+       PR opt/7124
+       * config/i386/i386.c (ix86_register_move_cost): Increase cost
+       for secondary_memory_needed pairs.
+
+2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * doc/vms.texi: Blow away false include file section.
+
+2002-10-02  Roger Sayle  <roger@eyesopen.com>
+
+       PR optimization/6627
+       * toplev.c (force_align_functions_log): New global variable.
+       * flags.h (force_align_functions_log): Add extern prototype.
+       * varasm.c (assemble_start_function): Use it to force minimum
+       function alignment.
+       * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
+       minimum function alignment to one byte.
+       (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
+       the least significant bit of vtable member function pointers.
+       * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
+       here from cp/cp-tree.h.
+
+Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
+
+       * i386.c (print_operand_address): Use RIP addressing for offsetted
+       label refs too.
+
+2002-09-30  David S. Miller  <davem@redhat.com>
+
+       PR middle-end/7151
+       * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
+       (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
+
+2002-10-01  Roger Sayle  <roger@eyesopen.com>
+
+       * unroll.c (loop_iterations): Revert 2002-09-08 change.
+
+2002-10-01  Richard Henderson  <rth@redhat.com>
+
+       * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
+       (real_to_hexadecimal): Likewise.
+       * print-rtl.c (print_rtx): If we are linked with real.c, don't
+       dump the XWINT fields of a floating point CONST_DOUBLE.
+
+2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
+
+       * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
+
+2002-10-01  Richard Henderson  <rth@redhat.com>
+
+       * calls.c (precompute_register_parameters): Force non-legitimate
+       constants into pseudos.
+
+2002-10-01  Nick Clifton  <nickc@redhat.com>
+
+       * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
+       to assembler template.
+
+2002-10-01  Richard Henderson  <rth@redhat.com>
+
+       * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
+       for TLS debug info to !DECL_EXTERNAL.
+
+2002-10-01  Matt Thomas  <matt@3am-software.com>
+           Jason Thorpe  <thorpej@wasabisystems.com>
+
+       * config.gcc (vax-*-netbsdelf*): Enable configuration.
+       * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
+       if not already defined.
+       * config/vax/elf.h: New file.
+       * config/vax/netbsd-elf.h: New file.
+       * config/vax/vax.c: Include "debug.h".
+       (vax_output_function_prologue): Add dwarf2 support.  Use
+       MAIN_NAME_P when checking for VMS_TARGET stack adjust.
+       * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
+       'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
+       'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
+       (VAX_ISTREAM_SYNC): Remove.
+       (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
+       (JUMP_TABLES_IN_TEXT_SECTION): Define.
+       (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
+       (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
+       and assemble_name.
+       (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
+       (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
+       (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
+       (INCOMING_RETURN_ADDR_RTX): Define.
+       * config/vax/vax.md (VUNSPEC_BLOCKAGE)
+       (VUNSPEC_SYNC_ISTREAM): Define.
+       (blockage): Use VUNSPEC_BLOCKAGE.
+       (sync_istream): New insn.
+
+2002-10-01  Richard Henderson  <rth@redhat.com>
+
+       * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
+       (*call_value_pop, call, call_value): Add dwarf2 EH support.
+       (*call): New insn.
+
+2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c/8083
+       * c-typeck.c (build_c_cast): Warn about type punning which breaks
+       type based aliasing.
+
+2002-10-01  Mark Mitchell  <mark@codesourcery.com>
+
+       * stor-layout.c (update_alignment_for_field): New function.
+       (place_union_field): Use it.
+       (place_field): Likewise.
+
+2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR other/8077
+       * gcc.c (cc1_options): Add space on -auxbase-strip.
+
+2002-10-01  Jim Wilson  <wilson@redhat.com>
+
+       * config/v850/v850.h (EPILOGUE_USES): Define.
+
+2002-09-30  Andrew Haley  <aph@redhat.com>
+
+       * flow.c (insn_dead_p): When using non-call-exceptions, don't
+       eliminate insns that may trap.
+       * cse.c (insn_live_p): Likewise.
+
+2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
+       (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
+       * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
+       * config/mips/mips.md: Apply same renaming here.
+
+2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
+       (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
+       * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
+       * config/mips/mips.md (define_attr cpu): Remove r4320.
+       Remove vr4320 scheduler and uses of TARGET_MIPS4320.
+
+2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.c (mips16_strings): New variable.
+       (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
+       symbol in mips16_strings.  Free the list.
+       (mips_encode_section_info): Keep track of local strings.
+
+2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
+       (sordered_df, sordered_sf): Remove.
+       * config/mips/mips.c (get_float_compare_codes): New fn.
+       (gen_int_relational, gen_conditional_move): Use it.
+
+2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
+       * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
+       * config/mips/mips.c (fcc_register_operand): New function.
+       (mips_emit_fcc_reload): New function, extracted from reload_incc.
+       (override_options): Allow TFmode values in float registers
+       if ISA_HAS_8CC.
+       * cnfig/mips/mips.md (reload_incc): Change destination prediate
+       to fcc_register_operand.  Remove misleading source constraint.
+       Use mips_emit_fcc_reload.
+       (reload_outcc): Duplicate reload_incc.
+
 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
 
        * longlong.h: Partially synchronize with GMP-4.1 version:
        * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
        Add new RL_REGS register class.
        (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
-        Call xtensa_preferred_reload_class for both input and output reloads.
+       Call xtensa_preferred_reload_class for both input and output reloads.
        * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
        (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
        instead of either AR_REGS or GR_REGS classes.
@@ -772,7 +1147,7 @@ Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
        (const_float_1_operand): Use dconst1.
        * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
        movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
-       Don't allow arbitrary constants; fix predicates and C constraint.
+       Don't allow arbitrary constants; fix predicates and C constraint.
 
 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>