+2005-12-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * builtins.def (BUILT_IN_PUTC, BUILT_IN_PUTC_UNLOCKED): New.
+
+ * config/pa/pa.c (pa_init_builtins): If we detect
+ DONT_HAVE_FPUTC_UNLOCKED, set builtin fputc_unlocked to
+ putc_unlocked.
+
+2005-12-01 Richard Guenther <rguenther@suse.de>
+
+ * fold-const.c (fold_binary): Use fold_build2, not
+ fold (build (...)).
+
+2005-12-01 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/ms1/ms1.c (ms1_reorg_hazard): Don't count noop moves.
+
+ * vec.h (VEC_block_remove): New.
+
+2005-12-01 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ PR c/13384
+ * c-common.c (lvalue_error): Fix wording.
+
+2005-12-01 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-forwprop.c (forward_propagate_addr_expr): Fix
+ thinko in last patch.
+
+2005-12-01 Geoffrey Keating <geoffk@apple.com>
+
+ * config/t-slibgcc-darwin (SHLIB_LINK): Use -single_module rather
+ than -flat_namespace.
+
+2005-12-01 Ben Elliston <bje@au.ibm.com>
+
+ * mklibgcc.in: Parameterise the script to build soft float
+ functions by iterating over each type, rather than cloning the
+ code for each type.
+
+2005-11-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ PR middle-end/25158
+ * builtins.c (fold_builtin_fputs): Defer check for missing
+ replacement functions.
+
+2005-11-30 Kean Johnston <jkj@sco.com>
+
+ * config/i386/i386.c: Check the value of SUPPORTS_ONE_ONLY, not
+ simply its presense in case targets #define SUPPORTS_ONE_ONLY 0.
+
+2005-11-30 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/22501
+ * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): New
+ function split out from ...
+ (forward_propagate_addr_expr): ... here. Use it to propagate
+ ADDR_EXPRs to all uses.
+
+2005-11-30 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * tree.h (CASE_FLT_FN, CASE_INT_FN): New macros.
+ * builtins.c (expand_builtin_mathfn): Use them.
+ (expand_builtin_mathfn_2): Likewise.
+ (expand_builtin_mathfn_3): Likewise.
+ (expand_builtin_int_roundingfn): Likewise.
+ (expand_builtin): Likewise.
+ (integer_valued_real_p): Likewise.
+ (fold_builtin_int_roundingfn): Likewise.
+ (fold_builtin_bitop): Likewise.
+ (fold_builtin_logarithm): Likewise.
+ (fold_builtin_1): Likewise.
+ * convert.c (convert_to_integer): Likewise.
+ * fold-const.c (negate_mathfn_p): Likewise.
+ (tree_expr_nonnegative_p): Likewise.
+
+2005-11-30 Dale Johannesen <dalej@apple.com>
+ Andrew Pinski <pinskia@physics.uc.edu>
+
+ * combine.c (find_split_point): Sign extend bitmask
+ when changing bitfield assignment to IOR of AND.
+
+2005-11-30 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/ms1/ms1.md (decrement_and_branch_until_zero): Add early
+ clobber to scratch reg.
+ (*decrement_and_branch_until_zero_no_clobber): Remove.
+ (decrement_and_branch peephole): Add dummy scratch reg to pattern.
+ (mulhish3): Use TARGET_MS1_16_003, TARGET_MS2.
+ * config/ms1/ms1.opt (mmul): Remove.
+ * config/ms1/ms1.h (ASM_SPEC): Cope with uppercase arch names.
+ (LINK_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Default to 16-002.
+
+2005-11-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+ Bernd Schmidt <bernd.schmidt@analog.com>
+
+ * pa/predicates.md (symbolic_operand): Add comment.
+ * pa/pa.md (reload_insi_r1, reload_indi_r1): New reload expanders.
+ * pa/pa-protos.h (pa_secondary_reload_class): Delete.
+ * pa/pa.c (TARGET_SECONDARY_RELOAD): Define.
+ (pa_secondary_reload_class): Delete.
+ (pa_secondary_reload): New function derived from SECONDARY_RELOAD_CLASS
+ and pa_secondary_reload_class. Reorder some checks. Update inline
+ copy of symbolic operand.
+ * pa/pa.h (SECONDARY_RELOAD_CLASS): Delete.
+
+2005-11-30 Nathan Sidwell <nathan@codesourcery.com>
+
+ * loop-doloop.c (add_test): Only add jump notes if we did emit a
+ jump.
+
+2005-11-30 Jeff Law <law@redhat.com>
+
+ * tree-ssa-uncprop.c (associate_equivalences_with_edges): Properly
+ handle SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
+
+2005-11-30 Jakub Jelinek <jakub@redhat.com>
+
+ * config/ia64/ia64.c (ia64_expand_tls_address): Add ORIG_OP1 argument.
+ Move ADDEND_{HI,LO} computation into TLS_MODEL_INITIAL_EXEC case.
+ (ia64_expand_move): Adjust caller.
+
+ * config/ia64/ia64.c (ia64_expand_atomic_op): Only use
+ fetchadd{4,8}.acq instruction if CODE is PLUS or MINUS, for MINUS
+ negate VAL.
+
+2005-11-30 Paolo Bonzini <bonzini@gnu.org>
+
+ * simplify-rtx.c (simplify_plus_minus): Remove final parameter.
+ Always produce an output if we can remove NEGs or canonicalize
+ (minus (minus ...)) expressions. Provide a fast path for the
+ two-operand case.
+ (simplify_gen_binary): Do not call simplify_plus_minus.
+ (simplify_binary_operation_1): Reassociate at the end of the
+ function.
+
+2005-11-29 Evan Cheng <evan.cheng@apple.com>
+
+ * config/i386/xmmintrin.h (_MM_TRANSPOSE4_PS): Rewrite using high/low
+ moves and unpack to speed up.
+
+2005-11-29 David S. Miller <davem@sunset.davemloft.net>
+
+ * config/sparc/sparc.c (gen_compare_reg): Kill 2nd and 3rd
+ argument, they are always sparc_compare_op0 and sparc_compare_op1.
+ (gen_v9_scc): Update callers.
+ * config/sparc/sparc.md: Likewise.
+ * config/sparc/sparc-protos.h: Update extern declaration.
+
+ * tree-into-ssa.c (rewrite_into_ssa): Fix comment typo.
+
+2005-11-29 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * fold-const.c (negate_expr) <case BIT_NOT_EXPR>: Add break after
+ the if.
+
+2005-11-29 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * fold-const.c (negate_expr_p): Return true for BIT_NOT_EXPR.
+ (fold_unary) <case NEGATE_EXPR>: Move -(~a) transformation to ...
+ (negate_expr): Here.
+
+2005-11-29 Ben Elliston <bje@au.ibm.com>
+
+ * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN):
+ Fix typo in comment.
+
+2005-11-29 Ben Elliston <bje@au.ibm.com>
+
+ * Makefile.in (clean-target): Depend on clean-target-libgcc.
+ (clean-target-libgcc): Import rule from the top-level Makefile.in.
+
+2005-11-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ PR middle-end/20109
+ PR middle-end/25120
+ * builtins.c (init_target_chars): New.
+ (expand_builtin_printf, expand_builtin_fprintf,
+ expand_builtin_sprintf, fold_builtin_sprintf,
+ maybe_emit_sprintf_chk_warning, fold_builtin_sprintf_chk,
+ fold_builtin_snprintf_chk, fold_builtin_printf,
+ fold_builtin_fprintf): Check for matching format strings using
+ the target charset.
+
+2005-11-29 Paul Brook <paul@codesourcery.com>
+
+ * config.gcc: Do not use fixproto on m68k-elf.
+
+2005-11-28 Roger Sayle <roger@eyesopen.com>
+
+ * expmed.c (div_cost): Replace with...
+ (sdiv_cost, udiv_cost): New.
+ (init_expmed): Initialize sdiv_cost and udiv_cost, not div_cost.
+ Rename the div and mod fields, used to initialize sdiv_pow2_cheap
+ and smod_pow2_cheap, to sdiv_32 and smod_32 to avoid confusion.
+ (expand_divmod): Replace use of div_cost with either sdiv_cost
+ or udiv_cost depending upon the signedness of the operation.
+
+2005-11-28 Alexandre Oliva <aoliva@redhat.com>
+
+ PR libfortran/24991
+ * config/darwin.c (machopic_indirection_name,
+ machopic_output_indirection): Follow transparent alias chain.
+
+2005-11-28 Alexandre Oliva <aoliva@redhat.com>
+
+ * varasm.c (ultimate_transparent_alias_target): Add comment.
+
+2005-11-28 Kazu Hirata <kazu@codesourcery.com>
+
+ * config/m68k/m68k.c (notice_update_cc): Use SET_DEST and
+ SET_SRC instead of XEXP where appropriate.
+
+2005-11-28 Joseph S. Myers <joseph@codesourcery.com>
+
+ * config/fp-bit.c (isnan, isinf, pack_d, unpack_d): Use
+ __builtin_expect.
+
+2005-11-28 Joseph S. Myers <joseph@codesourcery.com>
+
+ * config/fp-bit.h (LSHIFT): Take shift count parameter.
+ * config/fp-bit.c (_fpadd_parts): Shift in one go instead of one
+ bit at a time.
+
+2005-11-28 Bernd Schmidt <bernd.schmidt@analog.com>
+
+ * config/bfin/bfin.c (bfin_secondary_reload): Renamed from
+ secondary_input_reload_class, made static. Adapt to new
+ infrastructure.
+ (secondary_output_reload_class): Delete.
+ (TARGET_SECONDARY_RELOAD): New macro.
+ * config/bfin/bfin.h (SECONDARY_INPUT_RELOAD_CLASS,
+ SECONDARY_OUTPUT_RELOAD_CLASS): Delete.
+
+2005-11-28 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/21166
+ * c-decl.c (finish_struct): Only set DECL_PACKED on a field
+ when its natural alignment is > BITS_PER_UNIT.
+ * stor-layout.c (finalize_type_size): Revert my patch of 2005-08-08.
+ * c-common.c (handle_packed_attribute): Ignore packing on a field
+ whose type is naturally char aligned.
+
+2005-11-28 Richard Guenther <rguenther@suse.de>
+
+ * c-common.c (strict_aliasing_warning): Handle all
+ component-ref like accesses.
+
+2005-11-28 Roger Sayle <roger@eyesopen.com>
+ Uros Bizjak <uros@kss-loka.si>
+
+ PR middle-end/20219
+ * fold-const.c (fold binary) <RDIV_EXPR>: Optimize
+ sin(x)/tan(x) as cos(x) and tan(x)/sin(x) as 1.0/cos(x)
+ when flag_unsafe_math_optimizations is set and
+ we don't care about NaNs or Infinities.
+
+ Move x/expN(y) and x/pow(y,z) transformation into common
+ flag_unsafe_math_optimizations section.
+
+2005-11-27 Mark Mitchell <mark@codesourcery.com>
+
+ * gcc.c (main): Change type of argv to "char **".
+
+2005-11-28 Alan Modra <amodra@bigpond.net.au>
+
+ * doc/invoke.texi (powerpc msdata-data): Static data doesn't go in
+ small data sections.
+ * config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Make global.
+ * config/rs6000/rs6000-protos.h: (rs6000_elf_in_small_data_p): Declare.
+ * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Rename to..
+ (ASM_OUTPUT_ALIGNED_DECL_LOCAL): ..this, adding extra parm. Don't
+ output locals to sbss if !rs6000_elf_in_small_data_p.
+ (ASM_OUTPUT_ALIGNED_BSS): Adjust for above.
+
+2005-11-28 Alan Modra <amodra@bigpond.net.au>
+
+ PR target/24997
+ * config/rs6000/rs6000.c (legitimate_indexed_address_p): Allow pattern
+ generated by reload.
+ * config/rs6000/predicates.md (indexed_or_indirect_operand): Use
+ indexed_or_indirect_address.
+ (indexed_or_indirect_address): Don't test for base reg. Call
+ address_operand last. Make it a special predicate.
+
+2005-11-27 Kazu Hirata <kazu@codesourcery.com>
+
+ * config/m68k/m68k.c (notice_update_cc): Remove useless code.
+
+2005-11-27 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR middle-end/24575
+ * fold-const.c (negate_expr_p): Add case for signed divides if overflow
+ is undefined.
+ (negate_expr): Likewise.
+
+2005-11-27 Andreas Schwab <schwab@suse.de>
+
+ * config/m68k/m68k.c: Reindent and fix whitespace, remove
+ redundant parens.
+
+2005-11-27 Steven Bosscher <stevenb@suse.de>
+
+ * cfgcleanup.c (try_crossjump_to_edge): Always split SRC2 if it
+ has EH predecessor edges.
+
+2005-11-26 Eric Christopher <echristo@apple.com>
+
+ * config/i386/i386.md (*zero_extendqihi2_movzbw): Avoid partial
+ register stalls by zero extending to the full register.
+
+2005-11-27 Joseph S. Myers <joseph@codesourcery.com>
+
+ * config/floatunsisf.c, config/floatunsidf.c,
+ config/floatunsixf.c, config/floatunsitf.c: New files.
+ * config/ia64/t-hpux: Add floatunsitf.c.
+ * config/ia64/ia64.c (ia64_init_libfuncs): Use
+ _U_Qfcnvxuf_dbl_to_quad for unsigned DImode-to-TFmode conversion.
+
+2005-11-26 Richard Henderson <rth@redhat.com>
+
+ * c-lex.c (pragma_lex): Rename from c_lex.
+ * c-pch.c: Update for pragma_lex rename.
+ * c-pragma.c, c-pragma.h, config/ia64/ia64-c.c: Likewise.
+ * config/m32c/m32c-pragma.c, config/darwin-c.c: Likewise.
+ * config/rs6000/rs6000-c.c, config/c4x/c4x-c.c: Likewise.
+ * config/sol2-c.c, config/v850/v850-c.c: Likewise.
+ * doc/tm.texi: Likewise.
+
+2005-11-26 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR middle-end/23669
+ * fold-const.c (fold_binary): Convert -A/-B to A/B for signed types
+ when overflow is undefined.
+
+2005-11-26 Hans-Peter Nilsson <hp@axis.com>
+
+ * doc/md.texi (Insn Canonicalizations): Refer to the
+ function commutative_operand_precedence for further rules.
+
+2005-11-25 Roger Sayle <roger@eyesopen.com>
+
+ PR middle-end/21309
+ * expmed.c (choose_mult_variant): Return immediately when mult_cost
+ is less than zero. Limit mult_cost to a reasonable upper bound for
+ the synthetic multiplication sequence.
+
+2005-11-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ PR middle-end/25022
+ * builtins.c (expand_builtin_printf, expand_builtin_fprintf,
+ fold_builtin_fputs, fold_builtin_printf, fold_builtin_fprintf):
+ Lookup the explicit replacement functions for any unlocked
+ stdio builtin transformations.
+
+2005-11-25 Hans-Peter Nilsson <hp@axis.com>
+
+ * config/cris/cris.md ("reload_out<mode>"): Mark operand 2 as
+ earlyclobber.
+ * targhooks.c (default_secondary_reload): Don't require operand 2
+ for an input reload to be earlyclobber.
+
+2005-11-25 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * fold-const.c (negate_mathfn_p): Fix comment and add support
+ for BUILT_IN_CBRT, BUILT_IN_SINH, BUILT_IN_TANH, BUILT_IN_ASINH,
+ BUILT_IN_ATANH.
+
+2005-11-25 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR middle-end/24998
+ * config/sparc/sparc.c (sparc_init_libfuncs): Use _Q_utoq and
+ _Q_ulltoq for unsigned conversions from SImode and DImode to
+ TFmode.
+
+2005-11-25 Alan Modra <amodra@bigpond.net.au>
+
+ * config/rs6000/ppc64-fp.c (__floatunditf): New function.
+ (__floatundidf, __floatundisf): Likewise.
+
+2005-11-25 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.c (rs6000_sr_alias_set): Delete.
+ (rs6000_override_options): Remove initialization of
+ rs6000_sr_alias_set.
+ (rs6000_emit_eh_reg_restore): Use gen_frame_mem.
+ (rs6000_emit_stack_tie): Same.
+ (emit_frame_save): Same.
+ (gen_frame_mem_offset): Same.
+ (rs6000_emit_prologue): Same.
+ (rs6000_emit_epilogue): Same.
+
+2005-11-25 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR middle-end/24989
+ * fold-const.c (fold_build): Convert bool_var != 1 and
+ bool_var == 0 to !bool_var.
+
+2005-11-25 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR middle-end/24990
+ * fold-const.c (fold_binary): Fold (~a) == C to a == ~C
+ for C being INTEGER_CST. Likewise for !=.
+
+2005-11-25 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR middle-end/24998
+ * config/rs6000/rs6000.c (rs6000_init_libfuncs): Use _q_utoq for
+ unsigned conversions from SImode to TFmode.
+
+2005-11-24 Bernd Schmidt <bernd.schmidt@analog.com>
+
+ * expr.c (expand_expr_real_1): Fix error in last change.
+
+2005-11-24 J"orn Rennecke <joern.rennecke@st.com>
+
+ * caller-save.c: (this_insn_sets): Move into:
+ (save_call_clobbered_regs).
+ (mark_set_regs): Get this_insn_sets from data.
+
+ (save_call_clobbered_regs): Take sets of the return value by
+ sibcalls into account.
+
+2005-11-24 J"orn Rennecke <joern.rennecke@st.com>
+ PR target/21623:
+
+ * regclass.c (FORBIDDEN_INC_DEC_CLASSES): Remove
+ SECONDARY_INPUT_RELOAD_CLASS and SECONDARY_OUTPUT_RELOAD_CLASS tests.
+ (init_fake_stack_mems): Remove HAVE_SECONDARY_RELOADS test.
+ (memory_move_secondary_cost, init_reg_autoinc): Remove
+ SECONDARY_INPUT_RELOAD_CLASS / SECONDARY_OUTPUT_RELOAD_CLASS tests.
+ Replace SECONDARY_{IN,OUT}PUT_RELOAD_CLASS use with
+ secondary_reload_class call.
+ (copy_cost): Likewise. Add new parameter prev_sri. Changed all
+ callers.
+ * reload.c (entire file): Remove HAVE_SECONDARY_RELOADS checks.
+ (push_secondary_reload): Use secondary_reload target hook.
+ (secondary_reload_class, scratch_reload_class): New functions.
+ (push_reload): Remove SECONDARY_INPUT_RELOAD_CLASS and
+ SECONDARY_OUTPUT_RELOAD_CLASS tests. Replace
+ SECONDARY_{IN,OUT}PUT_RELOAD_CLASS use with secondary_reload_class call.
+ * reload.h (HAVE_SECONDARY_RELOADS): Don't define nor test.
+ (secondary_reload_class, scratch_reload_class): Declare.
+ * reload1.c: Include target.h.
+ (reload_adjust_reg_for_temp): New function.
+ (reload_adjust_reg_for_icode): Likewise.
+ (choose_reload_regs): Remove SECONDARY_INPUT_RELOAD_CLASS test.
+ Replace SECONDARY_INPUT_RELOAD_CLASS use with secondary_reload_class
+ call.
+ (emit_input_reload_insns): Likewise. Rewrite secondary reload checks
+ for inheritance. Support case when both secondary & tertiary reloads
+ are for intermediate registers.
+ (emit_output_reload_insns): Replace SECONDARY_OUTPUT_RELOAD_CLASS use
+ with secondary_reload_class call. Support case when both secondary
+ & tertiary reloads are for intermediate registers.
+ * target-def.h (TARGET_SECONDARY_RELOAD): Provide default definition.
+ (TARGET_INITIALIZER) Add TARGET_SECONDARY_RELOAD.
+ * target.h (secondary_reload_info): New struct / typedef.
+ (struct gcc_target): New member secondary_reload.
+ * targhooks.c Include reload.h, optabs.h and recog.h.
+ (default_secondary_reload): New function.
+ * targhooks.h (default_secondary_reload): Declare.
+ * doc/tm.texi: Document secondary_reload target hook. Update
+ description of SECONDARY_*RELOAD_CLASS and reload_{in,out}<mode>.
+ * doc/md.texi: Likewise.
+
+ * sh-protos.h (sh_secondary_reload): Declare.
+ * sh.c (TARGET_SECONDARY_RELOAD): Override.
+ (sh_secondary_reload): New function.
+ * sh.h (SECONDARY_INOUT_RELOAD_CLASS): Don't define.
+ (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
+ (SECONDARY_INPUT_RELOAD_CLASS): Likewise.
+ (HAVE_SECONDARY_RELOADS): Define.
+ * sh.md (reload_indf): Rename to:
+ (reload_indf__frn).
+ (reload_outdf): Rename to:
+ (reload_outdf__RnFRm).
+ (reload_insf): Rename to:
+ (reload_insf__frn).
+ (reload_insi): Rename to:
+ (reload_insi__i_fpul).
+
+2005-11-24 Uros Bizjak <uros@kss-loka.si>
+
+ * configure.ac: Require at least texinfo 4.4.
+ * configure: Regenerate.
+
+ * doc/install.texi (Tools/packages necessary for building GCC):
+ Update required version of texinfo to at least 4.4.
+ (Installing GCC: Building): Update required version of texinfo
+ to at least 4.4.
+ (Installing GCC: Final installation): Update required version
+ of texi2dvi to at least 4.4.
+ (Host/target specific installation notes for GCC): Update required
+ version of texinfo to at least 4.4.
+
+2005-11-24 Richard Guenther <rguenther@suse.de>
+ Dirk Mueller <dmueller@suse.de>
+
+ PR c++/14024
+ * c-common.h (strict_aliasing_warning): Declare.
+ * c-common.c (strict_aliasing_warning): New function,
+ split out from ...
+ * c-typeck.c (build_c_cast): ... here.
+
+2005-11-24 Paolo Bonzini <bonzini@gnu.org>
+
+ * optabs.c (expand_binop): Use swap_commutative_operands_with_target
+ to order operands.
+ (swap_commutative_operands_with_target): New.
+
+2005-11-24 Paolo Bonzini <bonzini@gnu.org>
+
+ * gcse.c (hash_scan_set): Look through REG_EQUAL or REG_EQUIV notes
+ also when doing PRE, rather than only for global CPROP.
+
+2005-11-24 Ben Elliston <bje@au.ibm.com>
+
+ * machmode.h (CLASS_HAS_WIDER_MODES_P): New macro.
+ * optabs.c (expand_binop): Use CLASS_HAS_WIDER_MODES_P, improve
+ formatting.
+ (expand_twoval_unop): Likewise.
+ (widen_clz): Likewise.
+ (expand_parity): Likewise.
+ (expand_unop): Likewise.
+ (emit_cmp_and_jmp_insn_1): Likewise.
+ (prepare_float_lib_cmp): Likewise.
+
+2005-11-24 Ben Elliston <bje@au.ibm.com>
+
+ * optabs.c (prepare_cmp_insn): Use SCALAR_FLOAT_MODE_P.
+ Remove unused `class' variable.
+
+2005-11-23 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ PR c++/21667
+ * c-typeck.c (build_array_ref): Avoid code duplicate. Use common
+ C/C++ diagnostic function warn_array_subscript_with_type_char.
+ * c-common.h (warn_array_subscript_with_type_char): Declare.
+ * c-common.c (warn_array_subscript_with_type_char): Define.
+
+2005-11-23 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ PR c/21668
+ * c-decl.c (grokdeclarator): Don't warn for 'extern const' when
+ compiling at the intersection of C and C++.
+
+2005-11-23 Mark Mitchell <mark@codesourcery.com>
+
+ * doc/invoke.texi: For man pages, include gcc-vers.texi.
+ List @file in the option summary. Include the libiberty
+ documentation for @file.
+ * gcc.c (main): Call expandargv.
+ * Makefile.in (gcc-vers.texi): Define srcdir.
+
+2005-11-23 Diego Novillo <dnovillo@redhat.com>
+
+ * passes.c (init_optimization_passes): Document
+ sequencing of passes.
+
+2005-11-23 Kazu Hirata <kazu@codesourcery.com>
+
+ * config/m68k/predicates.md (pcrel_address, extend_operator,
+ post_inc_operand, pre_dec_operand): Remove redundant
+ conditionals.
+ (const_uint32_operand, const_sint32_operand): Use gcc_assert
+ instead of abort.
+ (valid_dbcc_comparison_p): Rewrite in the lisp style.
+
+2005-11-23 Ben Elliston <bje@au.ibm.com>
+
+ * dwarf2.h (enum dwarf_type): Add DW_ATE_decimal_float.
+
+2005-11-22 J"orn Rennecke <joern.rennecke@st.com>
+
+ Preparatory work for PR target/21623:
+ * alpha.c (secondary_reload_class): Rename to:
+ (alpha_secondary_reload_class).
+ * alpha.h, alpha-protos.h: Likewise.
+ * mn10300.c (secondary_reload_class): Rename to:
+ (mn10300_secondary_reload_class).
+ * mn10300.h, mn10300-protos.h: Likewise.
+ * pa.c (secondary_reload_class): Rename to:
+ (pa_secondary_reload_class).
+ * pa.h, pa-protos.h: Likewise.
+ * rs6000.c (secondary_reload_class): Rename to:
+ rs6000_secondary_reload_class.
+ * rs6000.h, rs6000-protos.h: Likewise.
+
+2005-11-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/22561
+ * tree-ssa-structalias.c (get_constraint_for): Handle ARRAY_RANGE_REF.
+
+2005-11-22 Ian Lance Taylor <ian@airs.com>
+
+ * optabs.c (expand_unop): Call SCALAR_FLOAT_MODE_P on a mode, not
+ a mode_class.
+ (prepare_cmp_insn): Likewise.
+
+2005-11-22 Kazu Hirata <kazu@codesourcery.com>
+
+ PR target/23435
+ * m68k.md (zero_extendsidi2): Force operands[1] to a register
+ if both operands[0] and operands[1] are memory.
+
+2005-11-22 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR middle-end/23606
+ * fold-const.c (fold_unary) <case NOP_EXPR, CONVERT_EXPR>: For
+ COMPARISON_CLASS_P and an integral types create create a new
+ expression with the new type and fold that.
+
+2005-11-22 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR target/24988
+ * config/rs6000/darwin.h (TARGET_OS_CPP_BUILTINS): Remove call
+ to SUBTARGET_OS_CPP_BUILTINS.
+
+2005-11-22 Richard Earnshaw <richard.earnshaw@arm.com>
+
+ * arm.c (emit_set_insn): New function.
+ (arm_split_constant): Call it.
+ (arm_gen_compare_reg, arm_reload_in_hi, arm_reload_out_hi): Likewise.
+ (arm_legitimize_address): Likewise. Use plus_constant.
+ (arm_expand_prologue): Likewise. Use VOIDmode in SET.
+ (thumb_expand_prologue): Likewise.
+ (arm_gen_load_multiple): Use VOIDmode in SET.
+ (arm_gen_store_multiple): Likewise.
+ (vfp_emit_fstmx): Likewise. Use plus_constant.
+ (emit_multi_reg_push): Likewise.
+ (emit_sfm): Use plus_constant.
+
+2005-11-23 Alan Modra <amodra@bigpond.net.au>
+
+ PR target/24954
+ * config/rs6000/predicates.md (easy_vector_constant_add_self): Fix
+ typo last change.
+
+2005-11-22 Alan Modra <amodra@bigpond.net.au>
+
+ PR middle-end/24950
+ * expmed.c (store_bit_field): Don't attempt to insv a field
+ larger than the reg.
+
+2005-11-22 Alan Modra <amodra@bigpond.net.au>
+
+ PR target/24954
+ * config/rs6000/predicated.md (easy_vector_constant_add_self): Use
+ explicit sign extension, not a (char) cast.
+
+2005-11-22 Ben Elliston <bje@au.ibm.com>
+
+ * optabs.c: Use SCALAR_FLOAT_MODE_P instead of explicitly testing
+ GET_MODE_CLASS (x) == MODE_FLOAT.
+ * config/i386/i386.c: Likewise.
+ * config/rs6000/xcoff.h: Likewise.
+ * config/rs6000/linux64.h: Likewise.
+ * config/rs6000/rs6000.c: Likewise.
+ * config/rs6000/rs6000.h: Likewise.
+ * config/rs6000/predicates.md: Likewise.
+ * config/rs6000/sysv4.h: Likewise.
+
+2005-11-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * c-cppbuiltin.c (c_cpp_builtins): Define __pic__ and __PIC__ when
+ flag_pic is set.
+
+ * config/alpha/freebsd.h, config/alpha/linux.h,
+ config/arm/linux-elf.h, config/bfin/bfin.h,
+ config/cris/linux.h, config/darwin.h, config/freebsd-spec.h,
+ config/i386/beos-elf.h, config/i386/gnu.h,
+ config/i386/linux.h, config/i386/linux64.h, config/i386/nto.h,
+ config/i386/sco5.h, config/m32r/m32r.h, config/m68k/linux.h,
+ config/m68k/m68k.h, config/mips/linux.h, config/pa/pa-linux.h,
+ config/rs6000/linux64.h, config/rs6000/sysv4.h,
+ config/rs6000/vxworks.h, config/s390/linux.h, config/s390/tpf.h,
+ config/sh/linux.h, config/sh/sh.h, config/sol2.h,
+ config/sparc/linux.h, config/sparc/linux64.h,
+ config/xtensa/xtensa.h: Don't define __pic__ or __PIC__.
+
+ * doc/invoke.texi: Document that the macros __pic__ and __PIC__
+ are both defined when either flag -fpic or -fPIC are used.
+
+2005-11-22 Joseph S. Myers <joseph@codesourcery.com>
+
+ * config/fp-bit.c (clzusi): New function.
+ (si_to_float, usi_to_float): Use it to compute proper shift.
+ (usi_to_float): Preserve guard bits when shifting right.
+ * libgcc-std.ver (GCC_4.2.0): New version.
+ * libgcc2.c (__floatundixf, __floatunditf, __floatundidf,
+ __floatundisf): New functions.
+ * libgcc2.h (__floatundixf, __floatunditf, __floatundidf,
+ __floatundisf): Declare.
+ * mklibgcc.in (lib2funcs): Add _floatundidf, _floatundisf,
+ _floatundixf, and _floatunditf.
+ * optabs.c (expand_float): If target does not define a pattern for
+ signed or unsigned conversion, use an unsigned libcall instead of
+ a signed one.
+ (init_optabs): Initialize ufloat_optab.
+
+2005-11-22 Joseph S. Myers <joseph@codesourcery.com>
+
+ * config/rs6000/rs6000.opt (mmulhw): New option.
+ * doc/invoke.texi (-mmulhw): Document.
+ * config/rs6000/rs6000.c (rs6000_override_options): Enable -mmulhw
+ for 405 and 440.
+ * config/rs6000/rs6000.md: Add half-word multiply and
+ multiply-accumulate instructions for 405 and 440.
+
+2005-11-21 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * config/arm/rtems-elf.h: Added definition of LINK_GCC_C_SEQUENCE_SPEC
+ which matches behavior of gcc 4.0 and older for RTEMS targets. The
+ default now includes a linker group which makes the RTEMS one nest.
+
+2005-11-22 Ben Elliston <bje@au.ibm.com>
+
+ * cse.c (fold_rtx): Typo fix.
+ (find_comparison_args): Pass the mode of arg1, not arg1 itself.
+
+2005-11-21 Richard Henderson <rth@redhat.com>
+
+ * c-common.c, config/darwin-c.c, c-decl.c, c-tree.h, c-objc-common.h,
+ langhooks-def.h, langhooks.h: Revert 2005-11-18 lookup_name patch.
+
+ * c-tree.h (lookup_name): Move declaration ...
+ * c-common.h (lookup_name): ... here.
+ * config/darwin-c.c: Include c-common.h.
+ * config/t-darwin: Update dependencies.
+
+2005-11-22 Ben Elliston <bje@au.ibm.com>
+
+ * optabs.c (expand_abs_nojump): Use SCALAR_FLOAT_MODE_P instead of
+ explicitly testing GET_MODE_CLASS (x) == MODE_FLOAT.
+ * genopinit.c (gen_insn): Likewise.
+ * reload.c (find_equiv_reg): Likewise.
+ * loop.c (load_mems): Likewise.
+ * rtlanal.c (may_trap_p_1, canonicalize_condition): Likewise.
+ * cse.c (find_comparison_args, fold_rtx): Likewise.
+ * dwarf2out.c (add_const_value_attribute): Likewise.
+ * expr.c (convert_move): Likewise.
+ * recog.c (general_operand, register_operand): Likewise.
+ * reg-stack.c (replace_reg): Likewise.
+ * tree-vect-generic.c (type_for_widest_vector_mode): Likewise.
+ * c-common.c (handle_vector_size_attribute): Likewise.
+ * simplify-rtx.c (simplify_const_unary_operation): Likewise.
+ (simplify_binary_operation_1): Likewise.
+ (simplify_const_binary_operation): Likewise.
+ (simplify_relational_operation): Likewise.
+ (simplify_const_relational_operation): Likewise.
+ (simplify_immed_subreg): Likewise.
+ * emit-rtl.c (gen_lowpart_common): Likewise.
+ * expmed.c (expand_mult): Likewise.
+ * stor-layout.c (layout_type): Likewise.
+
+2005-11-21 Paolo Bonzini <bonzini@gnu.org>
+
+ PR target/24951
+ * config/rs6000/rs6000.c (output_vec_const_move): Load cst and
+ cst2 only for SPE vectors.
+
+2005-11-21 David Edelsohn <edelsohn@gnu.org>
+
+ PR target/24953
+ * config/rs6000/predicates.md (vrsave_operation): Check
+ UNSPEC_VOLATILE value.
+
+2005-11-21 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/24653
+ * tree-ssa-ccp.c (ccp_fold): Strip down useless conversions.
+
+2005-11-21 Uros Bizjak <uros@kss-loka.si>
+
+ * config/i386/predicates.md (ax_reg_operand): New predicate.
+ (memory_displacement_only_operand): New predicate.
+ * config/i386/i386.md ("modrm" attribute): Return 0 if one
+ operand is AX register and the other operand is memory operand
+ with displacement only.
+
+2005-11-21 Uros Bizjak <uros@kss-loka.si>
+
+ * fold-const.c (fold_binary) <RDIV_EXPR>: Optimize A / A to 1.0
+ if we don't care about NaNs or Infinities.
+
2005-11-20 Ian Lance Taylor <ian@airs.com>
PR rtl-optimization/24883
* langhooks-def.h (LANG_HOOKS_LOOKUP_NAME): Add.
(LANG_HOOKS_DECLS): Add initializer for LANG_HOOKS_LOOKUP_NAME.
* langhooks.h (lang_hooks_for_decls): Add lookup_name.
-
+
2005-11-18 Richard Earnshaw <richard.earnshaw@arm.com>
PR target/24914
as empty.
* config/darwin.h (STARTFILE_SPEC): Use %(darwin_crt2) to possibly
link in crt2.o.
-
+
* config/darwin.h (REAL_LIBGCC_SPEC): Link in shared libgcc depending
on -mmacosx-version-min setting.
2005-11-13 Razya Ladelsky <razya@il.ibm.com>
- * ipa-prop.c (ipa_callsite_compute_param ): Removed obsolete type
+ * ipa-prop.c (ipa_callsite_compute_param ): Removed obsolete type
checking.
2005-11-13 Jason Merrill <jason@redhat.com>
2005-11-11 Jason Merrill <jason@redhat.com>
PR c++/24686
- * gimplify.c (gimplify_cleanup_point_expr): Also save and restore
+ * gimplify.c (gimplify_cleanup_point_expr): Also save and restore
the cleanup list.
2005-11-11 Zdenek Dvorak <dvorakz@suse.cz>
2005-11-10 Daniel Berlin <dberlin@dberlin.org>
- * tree-ssa-alias.c (compute_may_aliases): Remove call to
+ * tree-ssa-alias.c (compute_may_aliases): Remove call to
delete_old_heap_vars.
* tree-dfa.c (referenced_var_remove): Remove function.
* tree-ssa.c (init_tree_ssa): Call init_alias_heapvars.
2005-11-09 Andreas Krebbel <krebbel1@de.ibm.com>
PR 24624
- * config/s390/s390.c (struct s390_frame_layout): New fields
+ * config/s390/s390.c (struct s390_frame_layout): New fields
first_save_gpr_slot and last_save_gpr_slot.
- (cfun_grps_save_area_size, s390_frame_info, s390_emit_prologue,
- s390_emit_epilogue, s390_initial_elimination_offset): Replaced
+ (cfun_grps_save_area_size, s390_frame_info, s390_emit_prologue,
+ s390_emit_epilogue, s390_initial_elimination_offset): Replaced
first_save_gpr and last_save_gpr with the _slot variants.
- (s390_register_info): Calculate first_save_gpr_slot and
+ (s390_register_info): Calculate first_save_gpr_slot and
last_save_gpr_slot using regs_ever_live.
2005-11-09 Andreas Krebbel <krebbel1@de.ibm.com>
2005-11-09 Per Bothner <per@bothner.com>
Uros Bizjak <uros@kss-loka.si>
-
+
PR c/24101
* toplev.c (process_options): Initialize debug_hooks early
in case lang_hooks.post_options ends up calling a debug_hook.
(oldheapvars): Ditto.
(get_constraint_for): Put heap vars on heapvars list.
(delete_old_heap_vars): New function.
-
+
2005-11-08 Jason Merrill <jason@redhat.com>
* tree.h (CALL_FROM_THUNK_P): Add CALL_EXPR_CHECK.
DDR_DIST_VECTS.
(build_classic_dist_vector, build_classic_dir_vector): Push a set
of distance/direction vectors instead of a single one.
- * tree-data-ref.h (dir_vects, dist_vects): Replace dir/dist
+ * tree-data-ref.h (dir_vects, dist_vects): Replace dir/dist
lambda_vectors with a vec of lambda_vectors.
(DDR_DIR_VECT, DDR_DIST_VECT): Redefined as operations on vec.
(DDR_DIR_VECTS, DDR_DIST_VECTS, DDR_NUM_DIR_VECTS,
* predict.c (predict_loops): Use new param.
* predict.def (MAX_PRED_LOOP_ITERATIONS): Remove.
- * ipa-inline.c (cgraph_decide_inlining_of_small_function,
+ * ipa-inline.c (cgraph_decide_inlining_of_small_function,
cgraph_decide_inlining, cgraph_decide_inlining_incrementally):
Do not hold memory returned by cgraph_node_name across other call.
(collapse_rest_of_var): New function.
(do_structure_copy): Collapse if do_simple_structure_copy returns
false.
-
+
2005-11-03 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/24589
(compute_frame_pointer_to_cfa_displacement): Likewise.
(gen_subprogram_die): Restore old code for when DWARF2_UNWIND_INFO is
not defined.
-
+
PR rtl-optimization/17356
* cfgrtl.c (purge_dead_edges): Undo last change. In EDGE_EH code,
add check for CALL_INSN if EDGE_ABRNOMAL_CALL true.
* predict.def (MAX_PRED_LOOP_ITERATIONS): Define.
2005-10-31 Andrew MacLeod <amacleod@redhat.com>
-
+
PR tree-optimization/19097
* tree-ssa-operands.c (correct_use_link): Don't look for modified stmts.
PR/24220
* c-common.c (vector_types_convertible_p): Check vector element type.
-
+
2005-10-21 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/sh.c (prepare_move_operands): Handle the address
PR 23714
* builtins.c (expand_builtin_trap): Export.
* expr.h (expand_builtin_trap): Declare.
- * expr.c (expand_assignment): Emit a trap for integral offsets
+ * expr.c (expand_assignment): Emit a trap for integral offsets
from registers that weren't reduced to bitpos.
* tree-cfg.c (mark_array_ref_addressable_1): Remove.
(struct cxx): Add adjust_class_at_definition target hook.
* target-def.h: (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): New define,
defaulting to hook_bool_tree_true. Add to TARGET_INITIALIZER
- (TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): New define, defaulting to
+ (TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): New define, defaulting to
hook_void_tree. Add to TARGET_CXX.
* tree.h (struct decl_with_vis): Rename non_addr_const_p field to
dllimport_flag.
* tree.c (merge_dllimport_decl_attributes): Check DECL_DLLIMPORT_P
instead of attribute. Check for dllexport override. Warn if
inconsistent dll linkage. Don't lose old dllimport if decl has
- had address referenced. Tweak lookup of dllimport atribute.
+ had address referenced. Tweak lookup of dllimport atribute.
(handle_dll_attribute): Check targetm.valid_dllimport_attribute_p
for target specific rules. Don't add dllimport attribute if
DECL_DECLARED_INLINE_P. Set DECL_DLLIMPORT_P when adding
- dllimport attribute.
+ dllimport attribute.
(staticp): Replace DECL_NON_ADDR_CONSTANT_P with DECL_DLLIMPORT_P.
* varasm.c (initializer_constant_valid_p): Replace
DECL_NON_ADDR_CONSTANT_P with DECL_DLLIMPORT_P
PR target/21801
PR target/23589
- * config.gcc (i[34567]86-*-cygwin*): Add winnt-cxx.o to
+ * config.gcc (i[34567]86-*-cygwin*): Add winnt-cxx.o to
'cxx_target_objs', winnt-stubs,o to 'extra_objs'.
(i[34567]86-*-mingw32*): Likewise.
* doc/tm.texi (TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): Document.
(TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Document.
-
+
* config/i386/winnt.c (i386_pe_dllimport_p): Factor out
- C++-specific code. Change return value to bool.
+ C++-specific code. Change return value to bool.
(i386_pe_dllimport_p): Likewise.
(associated_type): Simplify and make language-independent
(i386_pe_encode_section_info): Replace override of ambiguous
* config/i386/winnt-stubs.c: New file. Define stub versions of
lang-specific functions.
* config/i386/i386-protos.h: Declare winnt-[cxx|stubs].c functions
- i386_pe_type_dllimport_p, i386_pe_type_dllexport_p,
+ i386_pe_type_dllimport_p, i386_pe_type_dllexport_p,
i386_pe_adjust_class_at_definition.
- (i386_pe_valid_dllimport_attribute_p): Declare.
+ (i386_pe_valid_dllimport_attribute_p): Declare.
* config/i386/cygming.h (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Define.
(TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): Define.
* config/i386/t-cygming: Add rules for winnt-cxx.o, winnt-stubs.o.
2005-10-11 Eric Botcazou <ebotcazou@libertysurf.fr>
- PR middle-end/24263
+ PR middle-end/24263
* convert.c (convert_to_real): Revert 2005-10-05 patch.
Only apply the optimization for rounding builtins if the inner
cast is also an extension.
2004-11-22 Mark Mitchell <mark@codesourcery.com>
* config.gcc (arm*-*-linux-gnueabi): Use __cxa_atexit.
-
+
2004-11-19 Mark Mitchell <mark@codesourcery.com>
* config.gcc (arm*-*-linux-gnueabi): Add it.
* config/arm/bpabi.h (FPUTYPE_DEFAULT): Undefine it before
out return_label and naked_return_label.
2005-10-06 Daniel Berlin <dberlin@dberlin.org>
-
+
* tree-ssa-structalias.c (check_for_overlaps): Fix bug in last
change.
being a DECL.
2005-10-06 Daniel Berlin <dberlin@dberlin.org>
-
+
Fix PR tree-optimization/22488
* tree-ssa-structalias.c (check_for_overlaps): New function.
(create_variable_info_for): Use it.
PR Debug/23205
* dbxout.c (dbxout_symbol): Check DECL_RTL_SET_P, after
handling constants. Check NAMESPACE_DECL context for constants.
-
+
2005-10-05 Eric Christopher <echristo@apple.com>
* doc/md.texi (Standard Names): Fix name of pushm1 pattern.