+2007-02-15 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
+
+ PR c/26494
+ * doc/invoke.texi (Warning Options): Remove
+ -Werror-implicit-function-declaration.
+ (Wimplicit-function-declaration): Update description.
+ * opts.c (common_handle_option): Move handling of -Werror=* to...
+ (enable_warning_as_error): ...here.
+ * opts.h (enable_warning_as_error): Declare.
+ * c-decl.c (implicit_decl_warning): Unless
+ -Wno-implicit-function-declaration is given, emit a pedwarn if
+ -std=c99 or emit a warning if -Wimplicit-function-declaration.
+ * c.opt (Wimplicit-function-declaration): Replace
+ mesg_implicit_function_declaration with
+ warn_implicit_function_declaration.
+ * c-opts.c (c_common_handle_option):
+ -Werror-implicit-function-declaration is exactly equal as
+ -Werror=implicit-function-declaration.
+ (set_Wimplicit): Replace mesg_implicit_function_declaration with
+ warn_implicit_function_declaration.
+ (c_common_post_options): -Wimplict-function-declaration is enabled
+ by default by -std=c99, otherwise is disabled by default.
+ * c-objc-common.c (c_objc_common_init): Remove flawed logic.
+
+2007-02-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gimplify.c (gimplify_modify_expr): During gimplification, attach a
+ DECL on the rhs to a DECL on the lhs for debug info purposes if the
+ former is ignored but not the latter.
+
+2007-02-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * expr.c (expand_expr_real_1) <normal_inner_ref>: If a temporary
+ is made and the reference doesn't use the alias set of its type,
+ do not create the temporary using that type.
+
+2007-02-15 Aldy Hernandez <aldyh@redhat.com>
+
+ * jump.c: Remove prototypes for delete_computation and
+ delete_prior_computation.
+
+2007-02-15 Paolo Bonzini <bonzini@gnu.org>
+
+ * jump.c (get_label_after): Delete.
+ (get_label_before, delete_computation, delete_jump,
+ delete_prior_computation, follow_jumps): Move...
+ * reorg.c (delete_computation, delete_prior_computation): ... here...
+ (get_label_before, delete_jump): ... making these static ...
+ (follow_jumps): ... and simplifying this since it only runs after
+ reload.
+ * rtl.h (get_label_after, get_label_before, delete_jump,
+ follow_jumps): Delete prototypes.
+
+2007-02-15 Paolo Bonzini <bonzini@gnu.org>
+
+ * caller-save.c (save_call_clobbered_regs): Do not process sibcalls.
+
+2007-02-15 Nick Clifton <nickc@redhat.com>
+
+ * varasm.c (default_asm_output_anchor): Prepend * to . symbol in
+ order to prevent it from being munged by the target.
+
+2007-02-15 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md: Remove misleading comment.
+
+2007-02-15 Alexandre Oliva <aoliva@redhat.com>
+
+ * config/frv/frv.md (reload_incc, reload_outcc, reload_incc_uns,
+ reload_outcc_uns, reload_incc_nz, reload_outcc_nz): Remove
+ invalid patterns.
+
+2007-02-15 Alexandre Oliva <aoliva@redhat.com>
+
+ * tree-sra.c (instantiate_missing_elements): Canonicalize
+ bit-field types.
+ (sra_build_assignment): New.
+ (generate_copy_inout, generate_element_copy,
+ generate_element_zero, generate_one_element_init): Use it.
+
+2007-02-15 Alexandre Oliva <aoliva@redhat.com>
+
+ * tree-sra.c (instantiate_missing_elements): Canonicalize
+ bit-field types.
+ (sra_build_assignment): New.
+ (generate_copy_inout, generate_element_copy,
+ generate_element_zero, generate_one_element_init): Use it.
+
+2007-02-15 Alexandre Oliva <aoliva@redhat.com>
+
+ * dwarf2out.c (dwarf2out_finish): Accept namespaces as context of
+ limbo die nodes.
+
+2007-02-14 Joseph Myers <joseph@codesourcery.com>
+
+ * emit-rtl.c (set_mem_attributes_minus_bitpos): Treat complex
+ types as aggregates not scalars.
+ * function.c (assign_stack_temp_for_type): Likewise.
+
+2007-02-14 Roger Sayle <roger@eyesopen.com>
+ Zdenek Dvorak <dvorakz@suse.cz>
+
+ * tree-dump.c (dump_switch_p_1): Require exact match of the option
+ name.
+
+2007-02-14 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * passes.c (next_pass_1): Clear the next field of the copied
+ pass structure.
+
+2007-02-14 Richard Henderson <rth@redhat.com>
+
+ * tree-sra.c (early_sra): New.
+ (decl_can_be_decomposed_p): Deny va_list if early_sra.
+ (tree_sra_early, pass_sra_early): New.
+ * tree-pass.h (pass_sra_early): Declare.
+ * passes.c (init_optimization_passes): Use it.
+
+2007-02-14 Richard Guenther <rguenther@suse.de>
+
+ * flags.h (issue_strict_overflow_warning): Convert to a macro.
+
+2007-02-14 Dorit Nuzman <dorit@il.ibm.com>
+
+ PR tree-optimization/30771
+ * tree-vect-analyze.c (vect_determine_vectorization_factor): Traverse
+ also phi nodes.
+ (vect_analyze_operations): Induction phis can now be marked as
+ used_in_loop.
+ (vect_mark_stmts_to_be_vectorized): No special treatment for phis.
+ Update documentation accordingly.
+
+2007-02-14 Nick Clifton <nickc@redhat.com>
+
+ * builtin-types.def (DEF_FUNCTION_TYPE_x): Do not imply that at
+ most 3 arguments are supported.
+ (DEF_FUNCTION_TYPE_VAR_5): Fix typo in its description.
+
+2007-02-13 Seongbae Park <seongbae.park@gmail.com>
+
+ * bitmap.c (bitmap_and, bitmap_and_compl, bitmap_xor):
+ Ensure dst->current is valid.
+
+2007-02-13 Paul Brook <paul@codesourcery.com>
+
+ * config.gcc: Add arm*-*-uclinux-*eabi.
+ * config/arm/uclinux-elf.h (TARGET_OS_CPP_BUILTINS): Define.
+ (SUBTARGET_EXTRA_LINK_SPEC): Define.
+ (STARTFILE_SPEC, ENDFILE_SPEC): Remove broken -shared handling.
+ (LINK_GCC_C_SEQUENCE_SPEC): Undef.
+ (LINK_SPEC): Define.
+ (LIB_SPEC): Define.
+ * config/arm/arm.c (arm_override_options): Use r9 as EABI PIC
+ register.
+ * config/arm/uclinux-eabi.h: New file.
+ * config/arm/linux-eabi.h (WCHAR_TYPE): Remove.
+ * config/arm/linux-gas.h (WCHAR_TYPE): Use unsigned long on AAPCS
+ based targets.
+
+2007-02-13 Ian Lance Taylor <iant@google.com>
+
+ * common.opt: Add Wstrict-overflow and Wstrict-overflow=.
+ * flags.h (warn_strict_overflow): Declare.
+ (enum warn_strict_overflow_code): Define.
+ (issue_strict_overflow_warning): New static inline function.
+ * opts.c (warn_strict_overflow): New variable.
+ (common_handle_option): Handle OPT_Wstrict_overflow and
+ OPT_Wstrict_overflow_.
+ * c-opts.c (c_common_handle_option): Set warn_strict_overflow for
+ OPT_Wall.
+ * fold-const.c: Include intl.h.
+ (fold_deferring_overflow_warnings): New static variable.
+ (fold_deferred_overflow_warning): New static variable.
+ (fold_deferred_overflow_code): New static variable.
+ (fold_defer_overflow_warnings): New function.
+ (fold_undefer_overflow_warnings): New function.
+ (fold_undefer_and_ignore_overflow_warnings): New function.
+ (fold_deferring_overflow_warnings_p): New function.
+ (fold_overflow_warning): New static function.
+ (make_range): Add strict_overflow_p parameter. Change all
+ callers.
+ (extract_muldiv, extract_muldiv_1): Likewise.
+ (fold_unary) [ABS_EXPR]: Check ABS_EXPR before calling
+ tree_expr_nonnegative_p.
+ (fold_negate_expr): Call fold_overflow_warning.
+ (fold_range_test): Likewise.
+ (fold_comparison): Likewise.
+ (fold_binary): Likewise. Call tree_expr_nonnegative_warnv_p
+ instead of tree_expr_nonnegative_p.
+ (tree_expr_nonnegative_warnv_p): Rename from
+ tree_expr_nonnegative_p, add strict_overflow_p parameter.
+ (tree_expr_nonnegative_p): New function.
+ (tree_expr_nonzero_warnv_p): Rename from tree_expr_nonzero_p, add
+ strict_overflow_p parameter.
+ (tree_expr_nonzero_p): New function.
+ * passes.c (verify_interpass_invariants): New static function.
+ (execute_one_pass): Call it.
+ * tree-ssa-loop-niter.c (expand_simple_operations): Ignore fold
+ warnings.
+ (number_of_iterations_exit, loop_niter_by_eval): Likewise.
+ (estimate_numbers_of_iterations): Likewise.
+ (scev_probably_wraps_p): Likewise.
+ * tree-ssa-ccp.c: Include "toplev.h".
+ (evaluate_stmt): Defer fold overflow warnings until we know we are
+ going to optimize.
+ (struct fold_stmt_r_data): Add stmt field.
+ (fold_stmt_r): Defer fold overflow warnings until we know we
+ optimized.
+ (fold_stmt): Initialize stmt field of fold_stmt_r_data.
+ (fold_stmt_inplace): Likewise.
+ * tree-cfgcleanup.c: Include "toplev.h" rather than "errors.h".
+ (cleanup_control_expr_graph): Defer fold overflow warnings until
+ we know we are going to optimize.
+ * tree-cfg.c (fold_cond_expr_cond): Likewise.
+ * tree-ssa-threadedge.c (simplify_control_stmt_condition):
+ Likewise.
+ * tree-vrp.c (vrp_expr_computes_nonnegative): Call
+ tree_expr_nonnegative_warnv_p instead of tree_expr_nonnegative_p.
+ * tree-ssa-loop-manip.c (create_iv): Likewise.
+ * c-typeck.c (build_conditional_expr): Likewise.
+ (build_binary_op): Likewise.
+ * tree-vrp.c (vrp_expr_computes_nonzero): Call
+ tree_expr_nonzero_warnv_p instead of tree_expr_nonzero_p.
+ (extract_range_from_unary_expr): Likewise.
+ * simplify-rtx.c (simplify_const_relational_operation): Warn when
+ assuming that signed overflow does not occur.
+ * c-common.c (pointer_int_sum): Ignore fold overflow warnings.
+ * tree.h (tree_expr_nonnegative_warnv_p): Declare.
+ (fold_defer_overflow_warnings): Declare.
+ (fold_undefer_overflow_warnings): Declare.
+ (fold_undefer_and_ignore_overflow_warnings): Declare.
+ (fold_deferring_overflow_warnings_p): Declare.
+ (tree_expr_nonzero_warnv_p): Declare.
+ * doc/invoke.texi (Option Summary): Add -Wstrict-overflow to list
+ of warning options.
+ (Warning Options): Document -Wstrict-overflow.
+ * Makefile.in (tree-ssa-threadedge.o): Depend on toplev.h.
+ (tree-ssa-ccp.o): Likewise.
+ (tree-cfgcleanup.o): Change errors.h dependency to toplev.h.
+ (fold-const.o): Depend on intl.h.
+
+2007-02-13 Ian Lance Taylor <iant@google.com>
+
+ PR middle-end/30751
+ * lower-subreg.c (resolve_simple_move): Decompose subregs in
+ addresses.
+
+2007-02-13 Stuart Hastings <stuart@apple.com>
+
+ * gcc/config/i386/i386.md (fixuns_truncdfhi2): Require SSE2.
+
+2007-02-13 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (alpha_stdarg_optimize_hook): Strip
+ handled_component_p before looking for the indirect_ref.
+
+2007-02-13 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.md (bswapsi_1): Rename from bswapsi2,
+ remove flags clobber.
+ (bswapsi2): New expander, emit code for !TARGET_BSWAP.
+ (bswaphi_lowpart): New.
+ (bswapdi2): Rename from bswapdi2_rex, remove flags clobber,
+ remove TARGET_BSWAP test. Delete expander of the same name.
+
+ * optabs.c (widen_bswap, expand_doubleword_bswap): New.
+ (expand_unop): Use them.
+
+2007-02-13 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (cmpdi_ccno_1_rex64, *cmpsi_ccno_1,
+ *cmphi_ccno_1, *cmpqi_ccno_1, *movsi_xor, *movstricthi_xor,
+ *movstrictqi_xor, *movdi_xor_rex64, *ashldi3_1_rex64,
+ *ashldi3_cmp_rex64, *ashldi3_cconly_rex64, ashlsi3, *ashlsi3_1_zext,
+ *ashlsi3_cmp, *ashlsi3_cconly, *ashlsi3_cmp_zext, *ashlhi3_1_lea,
+ *ashlhi3_1, *ashlhi3_cmp, *ashlhi3_cconly, *ashlqi3_1_lea,
+ *ashlqi3_1, *ashlqi3_cmp, *ashlqi3_cconly): Remove equivalent
+ assembler dialect choice from asm templates.
+
+2007-02-12 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.md (fixuns_trunc<SSEMODEF>si_1): New insn.
+ (fixuns_trunc<SSEMODEF>si2): Use it.
+ * config/i386/sse.md (vec_setv4sf_0): Export.
+ * config/i386/i386.c (ix86_build_const_vector): Export.
+ (ix86_split_convert_uns_si_sse): Rename from
+ ix86_expand_convert_uns_si_sse and rewrite as a splitter.
+ * config/i386/i386-protos.h: Update.
+
+2007-02-13 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
+
+ PR c/29521
+ * c-typeck.c (c_finish_return): Improve warning message.
+
+2007-02-12 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
+
+ * alias.c (find_symbolic_term): Delete unused function.
+
+2007-02-12 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (paritydi2, paritysi2): New expanders.
+ (paritydi2_cmp, paritydi2_cmp): New insn and split patterns.
+ (*parityhi2_cmp, *parityqi2_cmp): New insn patterns.
+
+2007-02-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree.h (DECL_IGNORED_P): Document further effect for FUNCTION_DECL.
+ * cgraphunit.c (cgraph_expand_function): If DECL_IGNORED_P is set on
+ the function, temporarily point the debug interface to the null one.
+
+2007-02-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * dwarf2out.c (round_up_to_align): New static function.
+ (field_byte_offset): Use it to round the offset.
+
2007-02-12 Richard Henderson <rth@redhat.com>
* config/alpha/alpha.md (bswapsi2, bswapdi2): New.
mode.
* config/rs6000/rs6000.c (rs6000_builtin_conversion): New.
(TARGET_VECTORIZE_BUILTIN_CONVERSION): Defined.
- (rs6000_expand_builtin): Add handling a case of ALTIVEC_BUILTIN_VCFUX or
- ALTIVEC_BUILTIN_VCFSX.
+ (rs6000_expand_builtin): Add handling a case of ALTIVEC_BUILTIN_VCFUX
+ or ALTIVEC_BUILTIN_VCFSX.
2007-02-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>