OSDN Git Service

* config/sh/linux-atomic.asm (ATOMIC_BOOL_COMPARE_AND_SWAP,
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 2d3a15f..e94be4e 100644 (file)
@@ -1,3 +1,214 @@
+2009-08-04  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/linux-atomic.asm (ATOMIC_BOOL_COMPARE_AND_SWAP,
+       ATOMIC_OP_AND_FETCH, ATOMIC_COMBOP_AND_FETCH): Define.
+
+2009-08-03  Janis Johnson  <janis187@us.ibm.com>
+
+       PR c/39902
+       * simplify-rtx.c (simplify_binary_operation_1): Disable
+       simplifications for decimal float operations.
+
+2009-08-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/40943
+       * tree-ssa.c (warn_uninitialized_var): Even on LHS warn for
+       operand of INDIRECT_REF.
+
+2009-08-03  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/alpha/alpha.c (alpha_legitimate_constant_p): Reject CONST
+       constants referencing TLS symbols.
+
+2009-08-03  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
+
+       * config/sh/linux-atomic.asm (ATOMIC_COMPARE_AND_SWAP): Rename
+       __sync_compare_and_swap_* to __sync_val_compare_and_swap_*.
+
+2009-08-03  Richard Guenther  <rguenther@suse.de>
+
+       * tree.c (make_vector_type): Build a main variant first,
+       get the canonical one and then build the variant.
+       * tree-ssa.c (useless_type_conversion_p_1): Handle
+       fixed-point types.
+       (useless_type_conversion_p): Conversions to pointers to
+       incomplete record types are useless.
+
+2009-08-03  Richard Guenther  <rguenther@suse.de>
+
+       * tree-cfg.c (pass_warn_unused_result): Mark name that no dump
+       file will be created.
+       * omp-low.c (pass_diagnose_omp_blocks): Likewise.
+       * toplev.c (compile_file): Adjust comment.
+
+2009-08-03  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh-protos.h (sh_promote_function_mode): Remove.
+       * config/sh/sh.c (sh_promote_function_mode): Wrap long lines.
+       (TARGET_PROMOTE_FUNCTION_MODE): Define.
+       (TARGET_PROMOTE_FUNCTION_ARGS): Remove.
+       (sh_promote_function_mode): Fix typo.
+
+2009-08-03  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * explow.c (promote_mode): Mark TYPE and PUNSIGNEDP as possibly unused.
+
+2009-08-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * pa.c (pa_promote_function_mode): Remove ATTRIBUTE_UNUSED from
+       declaration arguments.
+
+2009-08-02  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (ix86_expand_fp_compare): Use const0_rtx instead
+       of GEN_INT (0x00) and const1_rtx instead of GEN_INT (0x01).
+       (ix86_split_ashl): Ditto.
+       (ix86_expand_vector_init_one_nonzero): Ditto.
+       (ix86_expand_vector_set): Ditto.
+       (ix86_expand_reduc_v4sf): Ditto.
+
+2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
+
+       * explow.c (promote_function_mode): Remove assert.
+       * config/sh/sh.c (sh_promote_function_mode): Declare.
+
+2009-08-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * config/pa/pa.c (pa_promote_function_mode): Declare.
+       Change to static.  Fix promote_mode call.
+
+       * gthr-dce.h (CONST_CAST2): Define if not defined.
+       (__gthread_setspecific): Use CONST_CAST2 to fix warning.
+
+       * config.gcc (hppa[12]*-*-hpux10*): Add stdint support.
+
+2009-08-01  Paolo Bonzini  <bonzini@gnu.org>
+
+       * expr.c (store_constructor): Use promote_decl_mode.  Remove
+       now write-only variable unsignedp.
+       (expand_expr_real_1): Use promote_decl_mode.
+       * expr.h (promote_function_mode, promote_decl_mode): New.
+       (promote_mode): Remove last argument.
+       * function.c (assign_temp): Drop last argument of promote_mode.
+       (assign_parm_find_data_types): Use promote_function_mode.
+       (assign_parm_setup_reg): Likewise.
+       (expand_function_end): Use promote_function_mode.
+       * calls.c (initialize_argument_information): Use promote_function_mode.
+       (precompute_arguments): Use promote_mode instead of checking if
+       only PROMOTE_FUNCTION_MODE is defined.
+       (expand_call): When making sibcall decisions, use promote_function_mode.
+       Below, remove an if for targetm.calls.promote_function_return and
+       and use promote_function_mode.
+       (emit_library_call_value_1): Use promote_function_mode, fix bug
+       where promote_mode was passed FOR_CALL == 0 for a return value in an
+       assertion.
+       * cfgexpand.c (expand_one_register_var): Use promote_decl_mode.
+       * explow.c (promote_function_mode, promote_decl_mode): New.
+       (promote_mode): Keep only the FOR_CALL == 0 case.
+       * combine.c (setup_incoming_promotion): Remove test of
+       promote_function_args.  Use promote_function_mode.
+       * stmt.c (expand_value_return): Use promote_decl_mode.
+       (expand_decl): Use promote_decl_mode.
+
+       * expr.c (store_constructor): Use promote_decl_mode.  Remove
+       now write-only variable unsignedp.
+       (expand_expr_real_1): Use promote_decl_mode.
+       * expr.h (promote_function_mode, promote_decl_mode): New.
+       (promote_mode): Remove last argument.
+       * function.c (assign_temp): Drop last argument of promote_mode.
+       (assign_parm_find_data_types): Use promote_function_mode.
+       (assign_parm_setup_reg): Likewise.
+       (expand_function_end): Use promote_function_mode.
+       * calls.c (initialize_argument_information): Use promote_function_mode.
+       (precompute_arguments): Use promote_mode instead of checking if
+       only PROMOTE_FUNCTION_MODE is defined.
+       (expand_call): When making sibcall decisions, use promote_function_mode.
+       Below, remove an if for targetm.calls.promote_function_return and
+       and use promote_function_mode.
+       (emit_library_call_value_1): Use promote_function_mode, fix bug
+       where promote_mode was passed FOR_CALL == 0 for a return value in an
+       assertion.
+       * cfgexpand.c (expand_one_register_var): Use promote_decl_mode.
+       * explow.c (promote_function_mode, promote_decl_mode): New.
+       (promote_mode): Keep only the FOR_CALL == 0 case.
+       * combine.c (setup_incoming_promotion): Remove test of
+       promote_function_args.  Use promote_function_mode.
+       * stmt.c (expand_value_return): Use promote_decl_mode.
+       (expand_decl): Use promote_decl_mode.
+
+       * explow.c (promote_function_mode): Just call the target hook.
+       * targhooks.c (default_promote_function_mode,
+       default_promote_function_mode_always_promote): New.
+       * targhooks.h (default_promote_function_mode,
+       default_promote_function_mode_always_promote): Declare.
+       * target.h (promote_function_args, promote_function_return): Remove.
+       (promote_function_mode): New.
+       * target-def.h (TARGET_PROMOTE_FUNCTION_ARGS,
+       TARGET_PROMOTE_FUNCTION_RETURN): Remove.
+       (TARGET_PROMOTE_FUNCTION_MODE): New.
+       (TARGET_CALLS): Adjust.
+       * system.h (TARGET_PROMOTE_FUNCTION_ARGS,
+       TARGET_PROMOTE_FUNCTION_RETURN, PROMOTE_FUNCTION_MODE): Poison.
+
+       * config/s390/s390.h (PROMOTE_FUNCTION_MODE): Move...
+       * config/s390/s390.c (s390_promote_function_mode): ... here,
+       with pointer handling.
+       (TARGET_PROMOTE_FUNCTION_MODE): Define.
+       (TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN): Remove.
+
+       * config/sparc/sparc.h (PROMOTE_FUNCTION_MODE): Move...
+       * config/sparc/sparc.c (sparc_promote_function_mode): ... here,
+       with pointer handling.
+       (TARGET_PROMOTE_FUNCTION_MODE): Define.
+       (TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN): Remove.
+       
+       * config/sh/sh-protos.h (sh_promote_function_mode): New.
+       * config/sh/sh.c (sh_promote_function_mode): New.
+       (TARGET_PROMOTE_FUNCTION_MODE): Define.
+       (TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN): Remove.
+
+       * config/cris/cris.h (PROMOTE_FUNCTION_MODE): Move...
+       * config/cris/cris.c (cris_promote_function_mode): ... here.
+       (TARGET_PROMOTE_FUNCTION_MODE): Define.
+       (TARGET_PROMOTE_FUNCTION_ARGS): Remove.
+
+       * config/mmix/mmix.h (PROMOTE_FUNCTION_MODE): Move...
+       * config/mmix/mmix.c (mmix_promote_function_mode): ... here.
+       (TARGET_PROMOTE_FUNCTION_MODE): Define.
+       (TARGET_PROMOTE_FUNCTION_ARGS): Remove.
+
+       * config/arm/arm.h (PROMOTE_FUNCTION_MODE): Move...
+       * config/arm/arm.c (arm_promote_function_mode): ... here, without
+       complex type handling.
+       (TARGET_PROMOTE_FUNCTION_MODE): Define.
+       (TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN): Remove.
+
+       * config/pa/pa.c (pa_promote_function_mode): New.
+       (TARGET_PROMOTE_FUNCTION_MODE): Define.
+       (TARGET_PROMOTE_FUNCTION_RETURN): Remove.
+
+       * config/alpha/alpha.c (TARGET_PROMOTE_FUNCTION_ARGS,
+       TARGET_PROMOTE_FUNCTION_RETURN): Remove.
+       (TARGET_PROMOTE_FUNCTION_MODE): Define equivalently.
+       * config/xtensa/xtensa.c: Likewise.
+       * config/stormy16/stormy16.c: Likewise.
+       * config/iq2000/iq2000.c: Likewise.
+       * config/rs6000/rs6000.c: Likewise.
+       * config/picochip/picochip.c: Likewise.
+       * config/arc/arc.c: Likewise.
+       * config/mcore/mcore.c: Likewise.
+       * config/score/score.c: Likewise.
+       * config/mips/mips.c: Likewise.
+       * config/bfin/bfin.c: Likewise.
+       * config/ia64/ia64.c: Likewise (disabled though).
+
+       * config/frv/frv.h: Remove pointless remark.
+
+       * doc/tm.texi (PROMOTE_FUNCTION_MODE,
+       TARGET_PROMOTE_FUNCTION_ARGS,
+       TARGET_PROMOTE_FUNCTION_RETURN): Consolidate into...
+       (TARGET_PROMOTE_FUNCTION_MODE): ... this.
+
 2009-08-01  Sebastian Pop  <sebastian.pop@amd.com>
 
        * doc/invoke.texi (-fgraphite-force-parallel): Renamed