OSDN Git Service

* c-common.c (shorten_compare): Use force_fit_type directly.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 7de4f0b..6465583 100644 (file)
@@ -1,3 +1,361 @@
+2004-08-14  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * c-common.c (shorten_compare): Use force_fit_type directly.
+
+2004-08-14  Gerald Pfeifer  <gerald@pfeifer.com>
+           Dimitri Papadopoulos-Orfanos  <papadopo@shfj.cea.fr>
+           Dave Korn  <dk@artimi.com>
+
+       * doc/install.texi (Building): Avoid duplicate reference to GNU
+       make requirement.
+       (*-*-solaris2*): Do not recommend GNU make any longer.  Simplify.
+
+2004-08-14  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.h (PROMOTE_MODE): Don't promote vector types.
+       * config/alpha/alpha.c (function_value): Use PROMOTE_MODE.
+
+2004-08-13  Richard Henderson  <rth@redhat.com>
+
+       * config/i386/i386.md (call_1, sibcall_1, call_1_rex64): Use Pmode
+       for constant_call_address_operand.
+       (call_value_pop_1, call_value_1): Likewise.
+       (sibcall_value_1, call_value_1_rex64): Likewise.
+
+2004-08-13  James E Wilson  <wilson@specifixinc.com>
+
+       * config/mips/sb1.md (ir_sb1_divdf_2pipes, ir_sb1_divdf_1pipe):
+       Correct mode from SFmode to DFmode.
+
+2004-08-13  Ziemowit Laski  <zlaski@apple.com>
+
+       * config/darwin.h (EXTRA_SECTION_FUNCTIONS): Mark the __sel_fixup,
+       __cstring_object and __image_info sections with the no_dead_strip
+       attribute.
+
+2004-08-13  Roger Sayle  <roger@eyesopen.com>
+           David Billinghurst  <David.Billinghurst@riotinto.com>
+
+       PR libgfortran/15930
+       * fixinc/inclhack.def (irix___generic1, irix___generic2): New.
+       * fixinc/fixincl.x: Regenerate.
+       * fixinc/tests/base/internal/math_core.h: New file.
+
+2004-08-13  Richard Henderson  <rth@redhat.com>
+
+       * dbxout.c (NO_DBX_FUNCTION_END): Default to zero.
+       (dbxout_function_end): Remove ifdefs for it.
+       (dbxout_begin_prologue): Protect N_BNSYM with it, and gdb extensions.
+
+2004-08-13  Richard Henderson  <rth@redhat.com>
+
+       * Makefile.in (insn-preds.o): Depend on TREE_H.
+       * genpreds.c (write_insn_preds_c): Include tree.h.
+       * config/alpha/alpha.c (reg_or_0_operand, reg_or_6bit_operand,
+       reg_or_8bit_operand, cint8_operand, add_operand, sext_add_operand,
+       const48_operand, and_operand, or_operand, mode_width_operand,
+       mode_mask_operand, mul8_operand, const0_operand,
+       hard_fp_register_operand, hard_int_register_operand,
+       reg_or_cint_operand, some_operand, some_ni_operand, input_operand,
+       samegp_function_operand, direct_call_operand, small_symbolic_operand,
+       global_symbolic_operand, call_operand, symbolic_operand, 
+       dtp16_symbolic_operand, dtp32_symbolic_operand,
+       gotdtp_symbolic_operand, tp16_symbolic_operand, tp32_symbolic_operand,
+       gottp_symbolic_operand, alpha_comparison_operator,
+       alpha_zero_comparison_operator, alpha_swapped_comparison_operator,
+       signed_comparison_operator, alpha_fp_comparison_operator,
+       divmod_operator, fix_operator, aligned_memory_operand,
+       unaligned_memory_operand, reg_or_unaligned_mem_operand,
+       any_memory_operand, reg_not_elim_operand, normal_memory_operand,
+       reg_no_subreg_operand, addition_operation): Move to predicates.md.
+       (reg_or_const_int_operand): Remove.  Replace all users with
+       reg_or_cint_operand.
+       (tls_symbolic_operand_1): Export.  Don't check mode or for CONST.
+       (resolve_reload_operand): Split out of aligned_memory_operand.
+       * config/alpha/alpha-protos.h: Update for exports.
+       * config/alpha/alpha.h (PREDICATE_CODES): Remove.
+       * config/alpha/alpha.md: Include predicates.md.
+       * config/alpha/predicates.md: New file.
+
+2004-08-13  Richard Sandiford  <rsandifo@redhat.com>
+
+       * genattrtab.c (insn_ent): Replace insn_code, insn_index and lineno
+       fields with a pointer to the instruction definition.
+       (get_attr_value, fill_attr, make_length_attrs, remove_insn_ent)
+       (insert_insn_ent, simplify_test_exp, optimize_attrs, write_attr_get)
+       (write_attr_case, write_const_num_delay_slots): Update accordingly.
+       (write_attr_case, write_const_num_delay_slots): Write the name of
+       an insn next to its case statement.
+       * genoutput.c (data): Add a filename field.
+       (gen_insn, gen_peephole, gen_expand, gen_split): Set it.
+       (output_insn_data): Print the location of each insn definition.
+       * genrecog.c (write_action): Print the name of an insn above
+       the statement that returns its code.
+
+2004-08-12  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * config/darwin-c.c (find_subframework_file): Fix spelling of cannot.
+       * config/libgloss.h: Likewise.
+       * config/arm/arm.c (arm_gen_load_multiple): Likewise.
+       * c4x/c4x-modes.def: Likewise.
+       * config/c4x/c4x.c (c4x_hard_regno_rename_ok): Likewise.
+       (c4x_rptb_nop_p): Likewise.
+       (c4x_rptb_valid_p): Likewise.
+       (c4x_rptb_insert): Likewise.
+       (c4x_address_conflict): Likewise.
+       * config/c4x/c4x.md: Likewise.
+       * config/frv/frv.md: Likewise.
+       * config/i386/athlon.md: Likewise.
+       * config/i386/i386.md: Likewise.
+       * config/i386/predicates.md: Likewise.
+       * config/ia64/ia64.c: Likewise.
+       * config/ia64/itanium1.md: Likewise.
+       * config/ia64/itanium2.md: Likewise.
+       * config/iq2000/iq2000.md: Likewise.
+       * config/mcore/mcore.c: Likewise.
+       * config/mips/mips.c: Likewise.
+       * config/mips/r3900.h: Likewise.
+       * config/mips/sb1.md: Likewise.
+       * config/pa/milli64.S: Likewise.
+       * config/pa/pa.c: Likewise.
+       * config/pa/pa.h: Likewise.
+       * config/rs6000/8540.md: Likewise.
+
+2004-08-13  Daniel Berlin  <dberlin@dberlin.org>
+
+       * Makefile.in (BOOT_CFLAGS): Remove accidental addition of -dU.
+
+2004-08-13  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * sh.md (cbranch define_delay) Use cond_delay_slot for
+       non-anulled condition too.
+
+2004-08-12  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.c (any_parallel_operand): New predicate.
+       * config/rs6000/rs6000.h (PREDICATE_CODES): Add
+       any_parallel_operand, lmw_operation, stmw_operation,
+       mfcr_operation, mtcrf_operation.  Remove PARALLEL from any_operand.
+       * config/rs6000/rs6000.md (save_fpregs_{si,di}): Use
+       any_parallel_operand.
+       (return_and_restore_fpregs_{si,di}): Same.
+
+2004-08-12  Zack Weinberg  <zack@codesourcery.com>
+
+       * genrecog.c (add_to_sequence): When processing a MATCH_PARALLEL,
+       if pred->singleton != PARALLEL, issue a warning and pretend it was.
+       Also issue a warning for any predicate we don't know about.
+
+2004-08-12  Richard Henderson  <rth@redhat.com>
+
+       * config/i386/i386.c (internal_label_prefix): Export.
+       (internal_label_prefix_len, struct ix86_address,
+       ix86_decompose_address, maybe_get_pool_constant,
+       ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes,
+       memory_address_length): Export.
+       (any_fp_register_operand, fp_register_operand,
+       register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand,
+       x86_64_general_operand, x86_64_szext_general_operand,
+       x86_64_nonmemory_operand, x86_64_movabs_operand,
+       x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
+       x86_64_zext_immediate_operand, const_int_1_31_operand,
+       symbolic_operand, pic_symbolic_operand, local_symbolic_operand,
+       tls_symbolic_operand, global_dynamic_symbolic_operand,
+       local_dynamic_symbolic_operand, initial_exec_symbolic_operand,
+       local_exec_symbolic_operand, call_insn_operand, sibcall_insn_operand,
+       constant_call_address_operand, const0_operand, const1_operand,
+       const248_operand, const_0_to_3_operand, const_0_to_7_operand,
+       const_0_to_15_operand, const_0_to_255_operand, incdec_operand,
+       shiftdi_operand, reg_no_sp_operand, mmx_reg_operand,
+       general_no_elim_operand, nonmemory_no_elim_operand,
+       index_register_operand, q_regs_operand, flags_reg_operand,
+       non_q_regs_operand, zero_extended_scalar_load_operand,
+       vector_move_operand, no_seg_address_operand, sse_comparison_operator,
+       ix86_comparison_operator, ix86_carry_flag_operator,
+       fcmov_comparison_operator, promotable_binary_operator,
+       cmp_fp_expander_operand, ext_register_operand, binary_fp_operator,
+       mult_operator, div_operator, arith_or_logical_operator,
+       memory_displacement_operand, cmpsi_operand, long_memory_operand,
+       aligned_operand): Move to predicates.md as define_predicates.
+       (tls_symbolic_operand_1): Remove.
+       (x86_64_sign_extended_value): Merge into x86_64_immediate_operand.
+       (x86_64_zero_extended_value): Merge into x86_64_zext_immediate_operand.
+       (legitimize_address): Merge tls_symbolic_operand contents.
+       (ix86_expand_move): Likewise.
+       * config/i386/i386-protos.h: Update for exports.
+       * config/i386/i386.h (EXTRA_CONSTRAINT): Update for renames.
+       (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Remove.
+       * config/i386/i386.md: Include predicates.md.
+       * config/i386/predicates.md: New file.
+
+2004-08-13  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/16924
+       * config/i386/winnt.c (i386_pe_mark_dllexport): Set
+       SYMBOL_REF_DECL.
+       (i386_pe_mark_dllimport): Likewise.
+       (i386_pe_encode_section_info): Likewise, when overriding
+       dllimport attribute.
+
+2004-08-12  Geoffrey Keating  <geoffk@apple.com>
+
+       * configure.ac: When testing for flex, nm, ar, and bison, check
+       that they will actually be built.
+       * configure: Regenerate.
+
+2004-08-12  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.h (MAX_FIXED_MODE_SIZE): Define.
+       (MOVE_MAX_PIECES): Define.
+
+2004-08-12  Devang patel  <dpatel@apple.com>
+
+       * dbxout.c (dbxout_begin_prologue): New function.
+       (dbx_debug_hooks): Use new begin prologue hook.
+       (dbxout_function_end): Emit N_ENSYM.
+       * stab.def (N_BNSYM, N_ENSYM): Define and document these two new stabs.
+
+2004-08-12  Janis Johnson  <janis187@us.ibm.com>
+
+       * config/rs6000/altivec.h (vec_dst): Fix C++ functions whose first
+       argument is float*.
+
+       * config/rs6000/rs6000.c (altivec_init_builtins): Fix argument type
+       for vec_dss.
+
+       * doc/extend.texi (AltiVec builtins): Fix description for recent
+       changes.  Update operation list to match current support.
+
+2004-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * config/s390/s390.c (struct s390_frame_layout): New struct as element
+       of struct machine_function.
+       (cfun->machine->frame_size): Moved into cfun->machine->frame_layout and
+       changed all uses.
+       (cfun->machine->save_fprs_p): Replaced by cfun_save_high_fprs and
+       changed all uses.
+       (cfun_frame_layout, cfun_save_high_fprs_p, cfun_gprs_save_area_size)
+       (cfun_set_fpr_bit, cfun_fpr_bit_p): New macros.
+       (s390_frame_area, s390_register_info): New functions.
+       (s390_optimize_prolog): Renamed to s390_optimize_prologue.  Added check
+       for base register.
+       (s390_return_addr_rtx, s390_return_address_offset)
+       (s390_va_start, s390_gimplify_va_arg)
+       (s390_emit_prologue, s390_emit_epilogue): Adjusted for new stack
+       layouts.
+       (s390_frame_info): Functionality partly moved to s390_register_info.
+       Made adaptions for new stack layout.
+       (save_gprs, restore_gprs): Changed meaning of second parameter and
+       adapted all callers.
+
+       * config/s390/s390.h (s390_backchain_string): New global variable.
+       (MASK_BACKCHAIN): Removed definition.
+       (TARGET_BACKCHAIN): Changed check.
+       (TARGET_KERNEL_BACKCHAIN): New macro.
+       (TARGET_SWITCHES): Removed entries of "backchain" and "no-backchain".
+       (TARGET_OPTIONS): Added "backchain", "no-backchain" and
+       "kernel-backchain".
+       (DYNAMIC_CHAIN_ADDRESS): Adjusted for new stack layouts.
+
+       * config/s390/s390.md ("allocate_stack"): Added TARGET_KERNEL_BACKCHAIN
+       as condition.  Adjusted for new stack layout.
+
+       * doc/invoke.texi: Added documentation for new option
+       "-mkernel-backchain" and adjusted documentation of "-mbackchain" and
+       "-mno-backchain".
+
+2004-08-12  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/lib1funcs.asm (ARM_FUNC_ALIAS): Also alias _L__name.
+       (aeabi_uidivmod, aeabi_idivmod): Provide thumb implementation.
+
+2004-08-12  David Daney  <ddaney@avtrex.com>
+
+       * java/gcj.texi:  Add subsection on signal usage.
+
+2004-08-12  David Edelsohn  <edelsohn@gnu.org>
+
+       * expr.c (move_by_pieces): Set alignment for move to minimum of
+       MOVE_MAX_PIECES mode alignment and the largest non-slow mode
+       alignment, but not less than the original alignment.
+       (move_by_pieces_ninsns): Same.
+       (can_store_by_pieces): Similar for store with STORE_MAX_PIECES.
+       (store_by_pieces_1): Same.
+
+2004-08-12  Diego Novillo  <dnovillo@redhat.com>
+
+       PR tree-optimization/16867
+       * tree.c (is_global_var): New function.
+       (needs_to_live_in_memory): Check for TREE_ADDRESSABLE.
+       Call is_global_var.
+       * tree.h (DECL_NEEDS_TO_LIVE_IN_MEMORY_INTERNAL): Remove.
+       Update all users.
+       (is_global_var): Declare.
+       * tree-dfa.c (dump_variable): Display global and addressable
+       attributes.
+       (add_referenced_var): Clarify documentation when marking
+       variables call-clobbered.
+       * tree-flow-inline.h (is_call_clobbered): Call is_global_var
+       instead of needs_to_live_in_memory.
+       (mark_call_clobbered): If the variable is a tag, mark it
+       DECL_EXTERNAL.
+       * tree-gimple.c (is_gimple_reg): Don't check for
+       TREE_ADDRESSABLE.
+       (is_gimple_non_addressable): Likewise.
+       * tree-ssa-alias.c (get_nmt_for): Always check whether the tag
+       needs to be marked call-clobbered.
+       (setup_pointers_and_addressables): Call is_global_var instead
+       of needs_to_live_in_memory.
+       * tree-ssa-dce.c (need_to_preserve_store): Remove.
+       Update all users with is_global_var.
+       (mark_stmt_if_obviously_necessary): Fix processing of aliased
+       stores.  Don't check the virtual definitions.  Rather, check
+       whether the store is going into global memory.
+       (find_obviously_necessary_stmts): Get the symbol from the PHI
+       result.
+       * tree-ssa-operands.c (get_call_expr_operands): Do not add
+       clobbering may-defs if the call does not have side effects.
+
+2004-08-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/16276
+       * output.h (default_function_rodata_section,
+       default_no_function_rodata_section): New prototypes.
+       * target.h (struct gcc_target): Add asm_out.function_rodata_section.
+       * target-def.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Define.
+       (TARGET_ASM_OUT): Add it.
+       * varasm.c (default_function_rodata_section,
+       default_no_function_rodata_section): New functions.
+       * final.c (final_scan_insn): Call
+       targetm.asm_out.function_rodata_section instead of
+       readonly_data_section.
+       * config/darwin.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Define.
+       * config/mcore/mcore.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
+       * config/ip2k/ip2k.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
+       * config/rs6000/xcoff.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
+       Likewise.
+       * config/alpha/alpha.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
+       * config/i386/cygming.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
+       Likewise.
+       * config/i386/i386-interix.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
+       Likewise.
+       * config/arm/pe.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
+       * config/avr/avr.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
+       * doc/tm.texi (TARGET_ASM_FUNCTION_RODATA_SECTION): Document.
+
+2004-08-12  Paul Brook  <paul@codesourcery.com>
+
+       * dwarf2out.h (dwarf2out_frame_finish): Conditionalize outputting eh
+       frame info.
+       * doc/tm.texi: Document interaction between TARGET_UNWIND_INFO and
+       DWARF2_UNWIND_INFO.
+
+2004-08-12  Ben Elliston  <bje@au.ibm.com>
+
+       PR target/16286
+       * config/rs6000/altivec.h: Change vector to __vector throughout.
+       (Except for the `vector' macro itself).
+
 2004-08-12  Zack Weinberg  <zack@codesourcery.com>
 
        * genpreds.c: Add capability to generate predicate bodies as
        * config/i386/xmmintrin.h: Include <mm_malloc.h>.
 
 2004-08-03  H.J. Lu  <hongjiu.lu@intel.com>
-           Tanguy Fautrà <tfautre@pandora.be>
+           Tanguy FautrÃ\83  <tfautre@pandora.be>
 
        * config/i386/pmm_malloc.h: New file.