OSDN Git Service

Fix doc bug pointed out by Sergei Organov.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index c63f5fc..d07f64e 100644 (file)
@@ -1,3 +1,986 @@
+2005-07-01  James E. Wilson  <wilson@specifixinc.com>
+
+       * doc/invoke.texi (-funit-at-a-time): Correct grammar in second bullet.
+
+2005-07-01  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR tree-opt/22269
+       * tree-ssa-reassoc.c (should_transpose): Fix which operand
+       we check for SSA_NAME for.
+
+2005-06-29  Daniel Berlin  <dberlin@dberlin.org>
+
+       Fix PR tree-optimization/22071
+       
+       * tree-ssa-structalias.c (offset_overlaps_with_access): New
+       function.
+       (get_constraint_for_component_ref): Use it.
+
+2005-07-01  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR other/22264
+       * diagnostic.c (diagnostic_report_current_module): Use pp_newline to
+       print out the last new line.
+
+2005-07-01  Hans-Peter Nilsson  <hp@axis.se>
+
+       * config/cris/cris.md (CRIS_CC0_REGNUM): New constant.
+       Swap numbers for CRIS_AP_REGNUM and CRIS_MOF_REGNUM.
+       * config/cris/cris.c (cris_conditional_register_usage): Adjust
+       reg_names[CRIS_CC0_REGNUM] for early CRIS versions.
+       (cris_print_operand) <case REG>: Handle CRIS_CC0_REGNUM.
+       (cris_md_asm_clobbers): Clobber CRIS_CC0_REGNUM for all asms.
+       * config/cris/cris.h (CRIS_CANONICAL_CC0_REGNUM): New macro.
+       (enum reg_class): New member CC0_REGS.
+       (REG_CLASS_FROM_LETTER): Add 'c' for CC0_REGS.
+       (FIRST_PSEUDO_REGISTER, CALL_USED_REGISTERS, REG_ALLOC_ORDER)
+       (HARD_REGNO_MODE_OK, MODES_TIEABLE_P, REG_CLASS_NAMES)
+       (CRIS_SPECIAL_REGS_CONTENTS, REG_CLASS_CONTENTS, REGNO_REG_CLASS)
+       (PREFERRED_RELOAD_CLASS, REGISTER_NAMES, DBX_REGISTER_NUMBER):
+       Adjust for register now described.
+
+2005-07-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/22262
+       * config/i386/i386.md (stack_protect_test_si,
+       stack_protect_test_di): Add earlyclobber for scratch 3.
+       * config/rs6000/rs6000.md (stack_protect_testsi,
+       stack_protect_testdi): Add earlyclobber for scratch 3,
+       remove earlyclobber from scratch 4.
+
+2005-06-30  Diego Novillo  <dnovillo@redhat.com>
+
+       PR 21584
+       PR 22219
+       * tree-ssa-alias.c (create_name_tags): Also process
+       non-dereferenced pointers.
+       Remove argument 'ai'.  Update all callers.
+
+2005-06-30  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * config/rs6000/darwin.h (STARTING_FRAME_OFFSET):
+       Set to 0 for FRAME_GROWS_DOWNWARD.
+       (REGISTER_NAMES): Add sfp.
+
+2005-07-01  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * config/arm/libunwind.S, config/arm/pr-support.c,
+       config/arm/unwind-arm.c, config/arm/unwind-arm.h,
+       config/c4x/predicates.md, tree-object-size.c: Update FSF address.
+
+2005-06-30  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR target/22260
+       * config/sparc/sparc.c (emit_and_preserve): Add 2nd register.
+       Preserve the 2nd register too, if present.
+       (sparc_output_mi_thunk) <PIC case>: Preserve the PIC register too.
+       Adjust call to emit_and_preserve.
+
+2005-06-30  Zack Weinberg  <zack@codesourcery.com>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       * pretty-print.h (PP_NL_ARGMAX): New.
+       (text_info): Add locus.
+       (struct chunk_info): New.
+       (output_buffer): Add formatted_obstack, chunk_obstack, and
+       cur_chunk_array. Change obstack to a pointer.
+       (pp_wrapping_mode_t, pp_wrapping_mode, pp_set_verbatim_wrapping): New.
+       (struct pretty_print_info): Replace ideal_maximum_length and
+       prefixing_rule with wrapping.
+       (pp_line_cutoff, pp_prefixing_rule): Update to match.
+       Update prototypes and wrapper macros throughout.
+       * pretty-print.c (pp_formatted_text_data, pp_append_r)
+       (pp_base_clear_output_area, pp_construct, pp_base_formatted_text)
+       (pp_base_last_position_in_text, pp_base_newline, pp_base_character):
+       Update for changes to pp structure.
+       (pp_base_prepare_to_format, pp_base_format_text): Delete.
+       (pp_base_format, pp_base_output_formatted_text): New functions.
+       (pp_base_format_verbatim): Use pp_set_verbatim_wrapping.
+       (pp_verbatim): Clear text.locus.
+       (pp_printf): Likewise.  Use pp_format and pp_output_formatted_text.
+       * c-objc-common.c (c_tree_printer): Update function signature.
+       * diagnostic.c (diagnostic_initialize): Update for changes to
+       pp structure.
+       (diagnostic_report_diagnostic): Call pp_format and then
+       pp_output_formatted_text.
+       (verbatim): Clear text.locus.
+       * diagnostic.h (diagnostic_prefixing_rule, diagnostic_line_cutoff):
+       Update for changes to pp structure.
+
+       * c-lang.c: No need to include c-pretty-print.h.
+       * Makefile.in: Remove bogus line containing only a tab.
+       (c-lang.o): Update dependencies.
+       * toplev.c (announce_function): Don't use verbatim.
+       (default_tree_printer): Update signature.
+
+       * objc/objc-lang.c: No need to include c-pretty-print.h.
+       * objc/Make-lang.in: Update dependencies.
+
+2005-06-29  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-complex.c (complex_variable_components): Now a hashtable.
+       (cvc_lookup): Ditto.
+       (cvc_insert): Ditto.
+       (create_components): Use referenced var iterator.
+       Initialize hashtable.   Use cvc_insert/lookup.
+       (extract_components): Use cvc_insert/lookup.
+       (update_complex_components): Ditto.
+       (update_complex_components_on_edge): Ditto.
+       * tree-dfa.c (referenced_vars): Now a hashtable.
+       (dump_referenced_vars): Use iterator.
+       (referenced_var_lookup): New function.
+       (referenced_var_insert): Ditto.
+       (add_referenced_var): Use referenced_var_insert.
+       (mark_new_vars_to_rename): Use DECL_UID.
+       * tree-flow-inline.h (first_htab_element): New function.
+       (end_htab_p): Ditto.
+       (next_htab_element): Ditto.
+       (first_referenced_var): Ditto.
+       (end_referenced_vars_p): Ditto.
+       (next_referenced_var): Ditto.
+       (is_call_clobbered): Use DECL_UID.
+       (mark_call_clobbered): Ditto.
+       (clear_call_clobbered): Ditto.
+       (mark_non_addressable): Ditto.
+       * tree-flow.h (htab_iterator): New struct.
+       (FOR_EACH_HTAB_ELEMENT): New macro.
+       (struct int_tree_map): New struct.
+       (int_tree_map_hash): Prototype.
+       (int_tree_map_eq): Ditto.
+       (referenced_var_iterator): Ditto.
+       (FOR_EACH_REFERENCED_VAR): New macro.
+       (referenced_vars): Now a hashtable.
+       * tree-into-ssa.c (symbol_marked_for_renaming): Use DECL_UID.
+       (add_new_name_mapping): Ditto.
+       (mark_def_sites): Ditto.
+       (insert_phi_nodes): Use referenced_var iterator.
+       (mark_def_site_blocks): Ditto.
+       (mark_sym_for_renaming): Use DECL_UID.
+       * tree-sra.c (is_sra_candidate_decl): Use DECL_UID.
+       (lookup_element): Ditto.
+       (find_candidates_for_sra): Use referenced_vars iterator.
+       Use DECL_UID.
+       * tree-ssa-alias.c (NUM_REFERENCES): New macro.
+       (NUM_REFERENCES_CLEAR): Ditto.
+       (NUM_REFERENCES_INC): Ditto.
+       (NUM_REFERENCES_SET): Ditto.
+       (alias_obstack): New bitmap obstack.
+       (struct alias_map_d): Use bitmap, not sbitmap.
+       (struct alias_info): Remove num_references.
+       (init_alias_info): Use referenced_var iterator.
+       Initialize bitmap obstack.
+       (delete_alias_info): Use referenced_var iterator.
+       Free bitmap obstack.
+       (compute_points_to_and_addr_escape): Use DECL_UID.
+       Use new NUM_REFERENCES macros.
+       (compute_flow_sensitive_aliasing): may_aliases is now a bitmap.
+       Use new NUM_REFERENCES macros.
+       (group_aliases_into): Update prototype to use bitmap.
+       (setup_pointers_and_addressables): Use referenced_vars iterator.
+       Use DECL_UID. Use new NUM_REFERENCES macros.
+       (add_pointed_to_var): Use DECL_UID.
+       (dump_alias_info): Use referenced_var iterator.
+       (add_type_alias): Ditto.
+       (used_portions): Now a hashtable.
+       (used_part_map_eq): New function.
+       (used_part_map_hash): Ditto.
+       (free_used_part_map): Ditto.
+       (up_lookup): Ditto.
+       (up_insert): Ditto.
+       (get_or_create_used_part_for): Use up_lookup.
+       (create_overlap_variables_for): Ditto.
+       (find_used_portions): Use up_insert.
+       Use DECL_UID.
+       (create_structure_vars): Init used_portions hashtable, use
+       referenced_vars iterator.
+       * tree-ssa-live.c (create_ssa_var_map): sbitmaps became bitmaps.
+       Use DECL_UID.
+       * tree-ssa-loop-im.c (gather_mem_refs_stmt): Use DECL_UID.
+       * tree-ssa-operands.c (get_asm_expr_operands): Ditto.
+       (note_addressable): Ditto.
+       * tree-ssa-structalias.c (set_uids_in_ptset): Ditto.
+       * tree-ssa.c (verify_flow_insensitive_alias_info): Use
+       referenced_var iterator.
+       Use DECL_UID.
+       (delete_tree_ssa): Ditto.
+       (int_tree_map_eq): New function.
+       (int_tree_map_hash): Ditto.
+       * tree-stdarg.c (find_va_list_reference): Use DECL_UID.
+       (va_list_ptr_read): Ditto.
+       (va_list_counter_struct_op): Ditto.
+       (va_list_ptr_write): Ditto.
+       (check_va_list_escapes): Ditto.
+       (check_all_va_list_escapes): Ditto.
+       (execute_optimize_stdarg): Ditto.
+       * tree-tailcall.c (suitable_for_tail_opt_p): Used referenced_var
+       iterator. 
+
+2005-06-30  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * config/rs6000/darwin.h (FRAME_POINTER_REGNUM): Rename to ...
+       (HARD_FRAME_POINTER_REGNUM): this.
+
+2005-06-30  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-inline.c (cgraph_clone_inlined_nodes): Revert previous patch.
+
+2005-06-30  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+       PR middle-end/22247
+       * tree-ssa-structalias.c (build_constraint_graph, scc_visit,
+       process_unification_queue, init_topo_info, topo_visit,
+       init_scc_info, free_scc_info, perform_var_substitution,
+       solve_graph): Use unsigned instead of uint.
+       
+2005-06-30  Jakub Jelinek  <jakub@redhat.com>
+
+       * function.c (gen_stack_protect_test): Add third argument.
+
+2005-06-30  J. D. Johnston  <jjohnst@us.ibm.com>
+
+       * gthr-tpf.h (CE2THRCPTR): Change field offset to 16.
+
+2005-06-30  Kazu Hirata  <kazu@codesourcery.com>
+
+       * config/c4x/c4x-protos.h: Remove the prototypes for those
+       functions removed from c4x.c.  Add prototypes for those
+       functions exported in c4x.c.
+       * config/c4x/c4x.c (any_operand, fp_zero_operand,
+       const_operand, stik_const_operand, not_const_operand,
+       reg_operand, r0r1_reg_operand, r2r3_reg_operand,
+       ext_low_reg_operand, ext_reg_operand, std_reg_operand,
+       std_or_reg_operand, addr_reg_operand, index_reg_operand,
+       dp_reg_operand, sp_reg_operand, st_reg_operand,
+       rc_reg_operand, call_address_operand,
+       symbolic_address_operand, dst_operand, src_operand,
+       src_hi_operand, lsrc_operand, tsrc_operand,
+       nonimmediate_src_operand, nonimmediate_lsrc_operand,
+       reg_or_const_operand, par_ind_operand, parallel_operand):
+       Remove.
+       (c4x_immed_float_p, c4x_a_register, c4x_x_register,
+       c4x_K_constant, c4x_N_constant, c4x_O_constant,
+       c4x_S_indirect): Export.
+       * config/c4x/c4x.h (PREDICATE_CODES): Remove.
+       * config/c4x/c4x.md: Include predicates.md.
+       * config/c4x/predicates.md: New.
+
+2005-06-30  Jakub Jelinek  <jakub@redhat.com>
+
+       * function.c (stack_protect_epilogue): Pass label to
+       stack_protect_test, assume it emitted also the conditional
+       branch.
+       * doc/md.texi (stack_protect_test): Adjust documentation.
+       * config/i386/i386.md (stack_protect_test): Add third argument,
+       emit beq with operands[2].
+       * config/rs6000/rs6000.h (FRAME_GROWS_DOWNWARD): Define to
+       flag_stack_protect != 0.
+       * config/rs6000/rs6000.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): New
+       constants.
+       (stack_protect_set, stack_protect_test): New expanders.
+       (stack_protect_setsi, stack_protect_setdi, stack_protect_testsi,
+       stack_protect_testdi): New insns.
+       * config/rs6000/rs6000.c (rs6000_stack_protect_fail): New function.
+       (TARGET_STACK_PROTECT_FAIL): Define.
+       (rs6000_generate_compare): Handle UNSPEC_SP_TEST.
+
+       * config/rs6000/rs6000.h (FIRST_PSEUDO_REGISTER): Increment.
+       (DWARF_FRAME_REGISTERS, DWARF_REG_TO_UNWIND_COLUMN): Adjust, so
+       that addition of sfp doesn't change these.
+       (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
+       REG_ALLOC_ORDER): Add sfp.
+       (INT_REGNO_P): Include FRAME_POINTER_REGNUM.
+       (FRAME_POINTER_REGNUM): Define to 113.
+       (HARD_FRAME_POINTER_REGNUM): Define to 31.
+       (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Add sfp.
+       (STARTING_FRAME_OFFSET): Set to 0 for FRAME_GROWS_DOWNWARD.
+       (ELIMINABLE_REGS): Never eliminate to
+       FRAME_POINTER_REGNUM, but HARD_FRAME_POINTER_REGNUM
+       instead.  Add eliminations from FRAME_POINTER_REGNUM.
+       (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P, INT_REG_OK_FOR_INDEX_P):
+       Include FRAME_POINTER_REGNUM.
+       (REGISTER_NAMES): Add sfp.
+       * config/rs6000/rs6000.c (rs6000_reg_names): Add sfp.
+       (alt_reg_names): Likewise.
+       (rs6000_stack_info): Handle FRAME_GROWS_DOWNWARD.
+       (rs6000_emit_prologue): Use HARD_FRAME_POINTER_REGNUM
+       instead of FRAME_POINTER_REGNUM.
+       (rs6000_initial_elimination_offset): Never eliminate to
+       FRAME_POINTER_REGNUM, but HARD_FRAME_POINTER_REGNUM
+       instead.  Add elimination offsets from FRAME_POINTER_REGNUM.
+
+       * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Only return non-zero
+       if DEFAULT_ABI == ABI_V4.
+
+2005-06-30  Steven Bosscher  <stevenb@suse.de>
+
+       * coretypes.h (tls_model): Add TLS_MODEL_NONE as 0.
+       * tree.h (struct tree_decl): New field `tls_model'.
+       (DECL_TLS_MODEL): New.
+       (DECL_THREAD_LOCAL_P): Rename from DECL_THREAD_LOCAL, make it
+       a predicate.
+       * rtl.h (decl_default_tls_model): Add prototype for it.
+       * varasm.c (decl_tls_model): Rewritten and renamed to ...
+       (decl_default_tls_model): ... this.
+       (default_encode_section_info): Use DECL_TLS_MODEL instead of
+       decl_tls_model.
+       (assemble_variable): Replace DECL_THREAD_LOCAL with
+       DECL_THREAD_LOCAL_P.
+       (default_section_type_flags_1): Likewise.
+       (categorize_decl_for_section): Likewise.
+       * tree.c (staticp): Likewise.
+       (recompute_tree_invarant_for_addr_expr): Likewise.
+       * drawf2out (loc_descriptor_from_tree_1): Likewise.
+       * c-decl.c (diagnose_mismatched_decls): Likewise.
+       with DECL_THREAD_LOCAL_P.
+       (start_decl): Likewise.
+       * print-tree.c (print_node): Likewise.  Print the TLS model.
+       (grokdeclarator): Set the default DECL_TLS_MODEL here.
+       * c-common.c (handle_tls_model_attribute): Rewrite to set the
+       TLS model up based on the attribute.  Never add the attribute
+       to the decl's attributes list.
+       * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): Replace
+       DECL_THREAD_LOCAL with DECL_THREAD_LOCAL_P.
+
+2005-06-30  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR testsuite/21967
+       * tree-ssa-live.c (mark_all_vars_used_1): Ignore variables in
+       TMR_ORIGINAL.
+
+2005-06-30  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * config/bfin/bfin.md (addv2hi3, subv2hi3, sminv2hi3, smaxv2hi3,
+       mulv2hi3, negv2hi2, absv2hi2): Pattern names fixed by appending the
+       necessary digit.
+
+2005-06-29  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.c (rs6000_file_start): Use PPC405_ERRATUM77.
+
+2005-06-29  Diego Novillo  <dnovillo@redhat.com>
+
+       PR 22234
+       * tree-ssa-copy.c (fini_copy_prop): Do not overwrite copy_of
+       when following copy-of chains.
+
+2005-06-30  Jan Hubicka  <jh@suse.cz>
+
+       * function.h (struct function): Add saved blocks/unexpanded var list.
+       * gimple-low.c (record_vars): Insert only VAR_DECLs.
+       * tree-inline.c (add_lexical_block): Declare; do not clear sublocks.
+       (remap_decl): Do not declare vars.
+       (remap_block): Do not care inserting blocks.
+       (remap_blocks): New function.
+       (copy_body_r): Update debug info.
+       (expand_call_inline): Duplicate callee block tree into caller;
+       copy all the unexpanded_var_list.
+       (save_body): Save unexpanded_var_list and blocks.
+       * tree-optimize.c (tree_rest_of_optimization): Restore
+       blocks/unexpanded_var_list.
+
+2005-06-29  Richard Henderson  <rth@redhat.com>
+
+       * config/ia64/ia64.c (ia64_expand_vecint_minmax): Use us_minus and
+       plus for V4HImode UMAX.
+
+2005-06-29  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * c-tree.h (default_function_array_conversion): Take and return
+       struct c_expr.
+       * c-typeck.c (default_function_array_conversion): Split into
+       array_to_pointer_conversion and function_to_pointer_conversion.
+       Take and return struct c_expr.
+       (array_to_pointer_conversion): Do not handle type qualifiers or
+       COMPOUND_EXPRs specially.
+       (build_function_call): Call function_to_pointer_conversion for
+       function designators.
+       (build_unary_op): Call array_to_pointer_conversion, not
+       default_function_array_conversion.
+       (digest_init, output_init_element): Likewise.
+       * c-parser.c: All callers of default_function_array_conversion
+       changed.
+
+2005-06-29  Ziemowit Laski  <zlaski@apple.com>
+
+       * config/darwin.c (machopic_select_section): constant ObjC string
+       objects now always have type "__builtin_ObjCString".
+
+2005-06-29  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.md (vec_shl_<VEC>, vec_shr_<VEC>): New.
+
+2005-06-29  Richard Henderson  <rth@redhat.com>
+
+       * tree-vect-transform.c (vect_min_worthwhile_factor): Declare.
+       (vect_create_epilog_for_reduction): Don't use vec_shr if the
+       operation is emulated.
+       (vectorizable_reduction): Duplicate vect_min_worthwhile_factor
+       tests from vectorizable_operation.
+
+2005-06-29  Caroline Tice  <ctice@apple.com>
+
+       Fix PR 21956
+       * varasm.c (assemble_start_function):  Add "L" to beginning of
+       local labels, so assembler & linker treat them as local.
+       
+2005-06-29  Richard Henderson  <rth@redhat.com>
+
+       * config/i386/i386.c (ix86_expand_int_vcond): Remove unsignedp
+       argument.  Simplify canonicalization of condition.  Use unsigned
+       saturating subtraction for QI and HImode unsigned compares.  Use
+       bit arithmetic tricks for SImode unsigned compares.
+       * config/i386/i386-protos.h (ix86_expand_int_vcond): Update decl.
+       * config/i386/sse.md (SSEMODE14): New.
+       (umaxv8hi3): Use us_minus+plus to avoid vcond.
+       (umaxv4si3): New.
+       (smax<SSEMODE14>3): Rename from smaxv16qi3 and macroize.
+       (smin<SSEMODE14>3): Similarly with sminv16qi3.
+       (umin<SSEMODE24>3): Similarly with uminv8hi3.
+
+2005-06-29  Ian Lance Taylor  <ian@airs.com>
+
+       * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Change
+       GEN_INT to gen_int_for_mode when storing register size to memory.
+
+2005-06-29  Stuart Hastings  <stuart@apple.com>
+
+       * gcc/config/i386/mmintrin.h: Mark vector intrinsics always_inline.
+       * gcc/config/i386/emmintrin.h: Likewise.
+       * gcc/config/i386/pmmintrin.h: Likewise.
+       * gcc/config/i386/xmmintrin.h: Likewise.
+                                       
+2005-06-29  Steve Ellcey  <sje@cup.hp.com>
+
+       PR middle-end/21969
+       * tree.h (TYPE_VECTOR_SUBPARTS): Change to shift expression.
+       (SET_TYPE_VECTOR_SUBPARTS): New.
+       * tree.c (make_vector_type): Replace TYPE_VECTOR_SUBPARTS with
+       SET_TYPE_VECTOR_SUBPARTS.
+       * tree-vect-transform.c (vect_transform_loop): Add cast.
+
+2005-06-29  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * config/s390/s390.c (s390_decompose_address): Accept invalid
+       displacements for addresses containing frame_pointer_rtx or
+       virtual_stack_vars_rtx.
+       (s390_frame_info): Replaced use of STARTING_FRAME_OFFSET.
+       (s390_initial_elimination_offset): New offset when eliminating the 
+       soft frame pointer.
+       * config/s390/s390.h (FRAME_GROWS_DOWNWARD): Defined as 1.
+       (STARTING_FRAME_OFFSET, STACK_DYNAMIC_OFFSET): Definitions changed.
+
+2006-06-28  Ziemowit Laski  <zlaski@apple.com>
+
+       * c-common.c (flag_next_runtime): Move...
+       * toplev.c (flag_next_runtime): ... here.
+       * c-common.h (flag_next_runtime): Move...
+       * flags.h (flag_next_runtime): ... here.
+       * config/darwin-c.c: Include flags.h.
+       * config/t-darwin (darwin-c.o): Depend on flags.h.
+
+2005-06-29  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/linux-unwind.h (shmedia_fallback_frame_state):
+       Disable aliasing warning with void * cast.
+       (sh_fallback_frame_state): Likewise.
+
+2005-06-29  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * target.h (gcc_target): New field allocate_initial_value.
+       * target-def.h (TARGET_ALLOCATE_INITIAL_VALUE): New macro.
+       (TARGET_INITIALIZER): Include it.
+       * integrate.c (allocate_initial_values): Use
+       targetm.allocate_initial_value.
+       * system.h: Poison ALLOCATE_INITIAL_VALUE.
+       * config/sh/sh-protos.h (sh_pr_n_sets): Delete.
+       * config/sh/sh.c (sh_pr_n_sets): Make it static.
+       (sh_allocate_initila_value): New function.
+       (TARGET_ALLOCATE_INITIAL_VALUE): Override default.
+       * config/sh/sh.h (ALLOCATE_INITIAL_VALUE): Delete.
+       * doc/tm.texi (TARGET_ALLOCATE_INITIAL_VALUE): Rename and
+       update from ALLOCATE_INITIAL_VALUE.
+
+2005-06-28  Richard Henderson  <rth@redhat.com>
+
+       * tree-vectorizer.c (vect_is_simple_reduction): Compare types
+       using TYPE_MAIN_VARIANT.
+
+2005-06-28  Richard Henderson  <rth@redhat.com>
+
+       * config/ia64/ia64.c (ia64_expand_vecint_compare): Decompose to EQ
+       when using psubN.uuu.
+
+2005-06-29  Kelley Cook <kcook@gcc.gnu.org>
+
+       * doc/gcc.texi: Update FSF address.
+
+2005-06-28  Eric Christopher  <echristo@redhat.com>
+
+       PR c/22052
+       PR c/21975
+       * c-decl.c (diagnose_mismatched_decls): Define DECL_EXTERN_INLINE.
+       Use. Fix detection of invalid extern inline redefinition.
+
+2005-06-28  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-optimize.c (init_tree_optimization_passes): Fix typo.
+
+2005-06-28  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * config/rs6000/rs6000.md (setmemsi): s/operand/operands/.
+
+2005-06-28  Richard Henderson  <rth@redhat.com>
+
+       * config/ia64/ia64.c (ia64_expand_vecint_compare): Use unsigned
+       saturating subtraction for QI and HImode unsigned compares.  Use
+       bit arithmetic tricks for SImode unsigned compares.
+       (ia64_expand_vcondu_v2si): Remove.
+       (ia64_expand_vecint_cmov): Don't call it.
+
+2005-06-28  Richard Henderson  <rth@redhat.com>
+
+       * rtlanal.c (nonzero_bits1): Use the mode of the value for
+       determining integral-ness for comparisons.
+
+2005-06-28  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * config/rs6000/rs6000.md (setmemsi): Fix operand 2.
+
+2005-06-28  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * target.h (invalid_conversion, invalid_unary_op,
+       invalid_binary_op): New hooks.
+       * target-def.h (TARGET_INVALID_CONVERSION,
+       TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP,
+       TARGET_INITIALIZER): Likewise.
+       * hooks.h (hook_constcharptr_tree_tree_null,
+       hook_constcharptr_int_tree_null,
+       hook_constcharptr_int_tree_tree_null): New.
+       * hooks.c (hook_constcharptr_tree_tree_null,
+       hook_constcharptr_int_tree_null,
+       hook_constcharptr_int_tree_tree_null): Likewise.
+       * gcc/doc/tm.texi (TARGET_INVALID_CONVERSION,
+       TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Document.
+       * c-convert.c (convert): Use invalid_conversion hook.
+       * c-typeck.c (build_unary_op): Use invalid_unary_op hook.
+       (build_binary_op): Use invalid_binary_op hook.
+       * config/ia64/ia64-modes.def: Define RFmode.
+       * config/ia64/ia64-protos.h (spill_xfmode_operand): Remove.
+       (ia64_expand_movxf_movrf): New.
+       * config/ia64/ia64.md (movxf): Move code to
+       ia64_expand_movxf_movrf.
+       (movrf, movrf_internal): New.
+       * ia64.c (ia64_invalid_conversion, ia64_invalid_unary_op,
+       ia64_invalid_binary_op, TARGET_INVALID_CONVERSION,
+       TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): New.
+       (spill_xfmode_operand): Rename to spill_xfmode_rfmode_operand.
+       Add mode parameter.  Make static.
+       (ia64_expand_movxf_movrf): New, moved from ia64.md.  Handle RFmode
+       as well as XFmode.
+       (ia64_function_arg, ia64_function_value, ia64_register_move_cost,
+       ia64_scalar_mode_supported_p): Handle RFmode as well as XFmode.
+       (ia64_init_builtins): Set up __fpreg as RFmode.
+       (ia64_mangle_fundamental_type): Mangle __fpreg as u7__fpreg.
+
+2006-06-28  Adrian Straetling  <straetling@de.ibm.com>
+
+       * builtins.c: (expand_builtin_memset): Rewrite to support
+       'set_storage_via_setmem'.
+       * expr.c: (enum insn_code setmem_optab): Define.
+       (enum insn_code clrmem_optab): Remove.
+       (set_storage_via_setmem): New function.
+       (clear_storage_via_setmem): Remove.
+       (clear_storage): Replace call to "clear_storage_via_clrmem" with
+       "set_storage_via_setmem".
+       * expr.h: (set_storage_via_setmem): Declare.
+       (CLEAR_RATIO): Redefine using HAVE_setmemM.
+       * optabs.h: (enum insn_code setmem_optab): Declare.
+       (enum insn_code clrmem_optab): Remove.
+       * optabs.c: (init_optabs): Initialize setmem_optab.
+       (enum insn_code clrmem_optab): Remove.
+       * genopinit.c: (otabs): Likewise.
+       * doc/md.texi: Document new standard pattern 'setmem'. Remove
+         'clrmem'.
+       * config/alpha/alpha.c: (alpha_expand_block_clear): Adjust
+       'operands' ordering.
+       * config/frv/frv.c: (frv_expand_block_clear): Likewise.
+       * config/rs6000/rs6000.c: (expand_block_clear): Likewise.
+       * config/alpha/alpha.md: ("clrmemqi", "clrmemdi"): Rename to "setmemM".
+       FAIL on operands[2]!=const0_rtx. Adjust 'operands' ordering.
+       * config/avr/avr.md: ("clrmemhi"): Likewise.
+       * config/frv/frv.md: ("clrmemsi"): Likewise.
+       * config/i386/i386.md: ("clrmemsi", "clrmemdi"): Likewise.
+       * config/pa/pa.md: ("clrmemsi", "clrmemdi"): Likewise.
+       * config/rs6000/rs6000.md: ("clrmemsi"): Likewise.
+       * config/s390/s390.md: ("clrmem<mode>"): Likewise.
+
+2005-06-28  Paul Brook  <paul@codesourcery.com>
+
+       * Makefile.in: Set and use UNWIND_H.  Install as unwind.h.
+       * c-decl.c (finish_decl): Call default_init_unwind_resume_libfunc.
+       * except.c (add_ehspec_entry): Generate arm eabi filter lists.
+       (assign_filter_values): Ditto.
+       (output_ttype): New function.
+       (output_function_exception_table): Use output_ttype.  Generate arm
+       eabi filter lists.
+       (default_init_unwind_resume_libfunc): New function.
+       * except.h (default_init_unwind_resume_libfunc): Add prototype.
+       * optabs.c (init_optabs): Don't set unwind_resume_libfunc.
+       * opts.c (decode_options): Use targetm.unwind_tables_default.
+       * target-def.h (TARGET_ASM_TTYPE): Provide and use definition.
+       (TARGET_ARM_EABI_UNWINDER, TARGET_UNWIND_TABLES_DEFAULT): Ditto.
+       * target.h (struct gcc_target): Add asm.ttype, unwind_tables_default
+       and arm_eabi_unwinder.
+       * unwind-c.c: Support Arm EABI unwinder.
+       * unwind.h: Rename ...
+       * unwind-generic.h: ... To this.
+       * doc/tm.texi (TARGET_ASM_TTYPE, TARGET_ARM_EABI_UNWINDER): Document.
+       (TARGET_UNWID_TABLES_DEFAULT): Document.
+
+       * config/arm/arm-protos.h (arm_output_fn_unwind): Add prototype.
+       * config/arm/arm.c (arm_unwind_emit, arm_output_ttype): New functions.
+       (TARGET_UNWIND_EMIT, TARGET_ASM_TTYPE, TARGET_ARM_EABI_UNWINDER):
+       Define.
+       (thumb_pushpop, thumb_output_function_prologue): Output unwinding
+       directives.
+       (arm_unwind_emit_stm, arm_unwind_emit_set): New functions.
+       * config/arm/arm.h (MUST_USE_SJLJ_EXCEPTIONS): Only define when
+       !TARGET_UNWIND_INFO.
+       (ARM_OUTPUT_FN_UNWIND, ARM_EABI_UNWIND_TABLES): Define.
+       * config/arm/bpabi.h (TARGET_UNWIND_INFO): Define.
+       * config/arm/elf.h (ASM_DECLARE_FUNCTION_NAME,
+       ASM_DECLARE_FUNCTION_SIZE): Use ARM_OUTPUT_FN_UNWIND.
+       * config/arm/lib1funcs.asm: Include libunwind.S.
+       * config/arm/libgcc-bpabi.ver: Add unwinding routines.
+       * config/arm/libunwind.S: New file.
+       * config/arm/pr-support.c: New file.
+       * config/arm/t-bpabi (LIB1ASMFUNCS): Add _unwind.
+       (UNWIND_H, LIB2ADDEH, LIB2ADDEHDEP): Set.
+       * config/arm/t-symbian (UNWIND_H, LIB2ADDEH, LIB2ADDEHDEP): Set.
+       * config/arm/unwind-arm.c: New file.
+       * config/arm/unwind-arm.h: New file.
+       * config/i386/t-netware (USER_H): Remove unwind.h.
+       * config/ia64/ia64.h (TARGET_UNWIND_TABLES_DEFAULT): Define.
+
+2005-06-28  DJ Delorie  <dj@redhat.com>
+
+       * c-decl.c (pop_scope): Move warning control into warning call.
+       (diagnose_mismatched_decls): Likewise.
+       (pushdecl): Likewise.
+       (start_decl): Likewise.
+       (grokparms): Likewise.
+       (start_function): Likewise.
+       (store_parm_decls_newstyle): Likewise.
+       (store_parm_decls_oldstyle): Likewise.
+       (finish_function): Likewise.
+       (declspecs_add_scspec): Likewise.
+       * c-format.c (decode_format_attr): Likewise.
+       (maybe_read_dollar_number): Likewise.
+       (avoid_dollar_number): Likewise.
+       (finish_dollar_format_checking): Likewise.
+       (check_format_info): Likewise.
+       (check_format_info_main): Likewise.
+       (check_format_types): Likewise.
+       (format_type_warning): Likewise.
+       * c-typeck.c (function_types_compatible_p): Likewise.
+       (build_array_ref): Likewise.
+       (convert_arguments): Likewise.
+       (build_c_cast): Likewise.
+       (store_init_value): Likewise.
+       (process_init_element): Likewise.
+       (c_start_case): Likewise.
+       * stor-layout.c (finalize_record_size): Likewise.
+       * tree-cfg.c (execute_warn_function_noreturn): Likewise.
+       * tree-inline.c (expand_call_inline): Likewise.
+
+2005-06-28  Uros Bizjak  <uros@kss-loka.si>
+
+       PR target/22134
+       * config/i386/i386.md (fist<mode>2_with_temp splitter):
+       Clobber memory operand, not scratch register.
+
+2005-06-28  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * config/s390/s390.c (machine_function): New field has_landing_pad_p.
+       (s390_set_has_landing_pad_p, s390_reg_clobbered_rtx,
+        s390_regs_ever_clobbered): New functions.
+       (s390_return_addr_rtx): Use get_hard_reg_initial_value.
+       (s390_register_info, s390_init_frame_layout, s390_update_frame_layout):
+       Use s390_regs_ever_clobbered.
+       (s390_emit_prologue): Don't use r14 as temp reg if its content is used
+       for builtin_return_address.
+       * config/s390/s390.md ("exception_receiver"): New expander.
+       * config/s390/s390-protos.h (s390_set_has_landing_pad_p): Prototype
+       added.
+
+2005-06-28  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * except.c (current_function_has_exception_handlers): Function 
+       description added and if statements merged.
+
+2005-06-28  Richard Henderson  <rth@redhat.com>
+
+       * config/i386/sse.md (smaxv16qi3): Fix buffer overflow.
+       (sminv16qi3, umaxv8hi3, uminv8hi3): Likewise.
+
+2005-06-27  Richard Henderson  <rth@redhat.com>
+
+       * config/ia64/ia64.c (ia64_expand_vcondu_v2si): Generate proper
+       comparison operations.
+       (ia64_expand_vecint_minmax): Fix size of xops.
+       * config/ia64/vect.md (umax<VECINT>3): Fix fallback pattern typo.
+       (vec_shl_<VECINT>, vec_shr_<VECINT>): New.
+
+2005-06-27  Richard Henderson  <rth@redhat.com>
+
+       * tree-vect-transform.c (get_initial_def_for_reduction): Use correct
+       type for DEF and INIT_VAL.  Pretend MIN/MAX need epilogue adjustment.
+
+2005-06-27  Richard Henderson  <rth@redhat.com>
+
+       * config/i386/sse.md (vec_shl_<SSEMODEI>, vec_shr_<SSEMODEI>): New.
+       (smaxv16qi3, umaxv8hi3, sminv16qi3, uminv8hi3): New.
+
+2005-06-27  Richard Henderson  <rth@redhat.com>
+
+       * tree-vect-transform.c (vect_create_epilog_for_reduction): Remove
+       duplicate little-endian adjustment.
+
+2005-06-28  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * doc/include/texinfo.tex: Import from upstream CVS.
+
+2005-06-28  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.c (cgraph_remove_node): Do not release function bodies until
+       full cgraph is built.
+       * cgraph.h (cgraph_decide_inlining_incrementally): Add early argument.
+       * cgraphunit.c (cgraph_finalize_function): Update call of
+       cgraph_decide_inlining_incrementally.
+       (initialize_inline_failed): Break out of ...
+       (cgraph_analyze_function): ... here.
+       (rebuild_cgraph_edges): New function.
+       (pass_rebuild_cgraph_edges): New pass.
+       * common.opt (fearly-inlining): New flag.
+       * ipa-inline.c: Include ggc.h
+       (cgraph_clone_inlined_nodes): Avoid re-using of original copy
+       when cgraph is not fully built.
+       (cgraph_decide_inlining_incrementally): Add early mode.
+       (cgraph_early_inlining): New function.
+       (cgraph_gate_early_inlining): Likewise.
+       (pass_early_ipa_inline): New pass.
+       * ipa.c (cgraph_postorder): NULLify aux pointer.
+       * tree-inline.c (expand_call_inline): Avoid warning early.
+       * tree-optimize.c (pass_early_local_passes): New.
+       (execute_cleanup_cfg_pre_ipa): New.
+       (pass_cleanup_cfg): New.
+       (register_dump_files): Fix handling subpasses of IPA pass.
+       (init_tree_optimization_passes): Add early passes.
+       (execute_ipa_pass_list): Fix handling of subpasses of IPA pass.
+       * passes.h (pass_early_tree_profile, pass_rebuild_cgraph_edges,
+       pass_early_ipa_inline): New passes.
+       * tree-profile.c (do_early_tree_profiling, pass_early_tree_profile): New.
+
+       * invoke.texi: Document early-inlining.
+
+2005-06-28  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * doc/include/fdl.texi: Merge in changes from upstream.
+       * doc/include/gpl.texi: Likewise.
+
+2005-06-27  Diego Novillo  <dnovillo@redhat.com>
+
+       PR 21959
+       * tree-ssa-loop-niter.c (scev_probably_wraps_p): Handle type
+       casts between unsigned and signed types with different size
+       or precision.
+
+2005-06-28  Jan Hubicka  <jh@suse.cz>
+
+       * tree-optimize.c (exercute_free_datastructures):
+       Do not disband implicit edges; do not attempt to build insn list;
+       do not free cfg annotations.
+       (execute_free_cfg_annotations); Disband implicit edges here;
+       free cfg annotations here too.
+       (pass_free_cfg_annotations); New pass.
+       (init_tree_optimization_passes); Add pass_free_cfg_annotations.
+       * tree-ssa-operands.c (free_ssa_operands); Recover; export.
+       * tree-ssa-operands.h (free_ssa_operands); declare.
+       * tree-ssa.c (delete_tree_ssa); Free SSA operand; mark stmt modified;
+       kill PHI nodes.
+       * tree-ssanames.c (release_defs): Kill addresses_taken.
+
+       * basic-block.h (basic_block_def): Kill rbi.
+       (reorder_block_def): Kill; Remove next field (replaced by aux);
+       move other fields to ...
+       (rtl_bb_info): ... here.
+       * bb-reorder.c (find_traces, rotate_loop, find_traces_1_round,
+       copy_bb, connect_traces, add_labels_and_missing_jumps
+       fix_up_fall_thru_edges, fix_crossing_conditional_branches,
+       duplicate_computed_gotos, partition_hot_cold_basic-blocks):
+       Update to new fields.
+       * cfg.c (initialize_bb_rbi): Kill.
+       * cfglayout.c (record_effective_endpoints, fixup_reorder_chain,
+       fixup_fallthru_exit_predecessor, cfg_layout_duplicate_bb): Update.
+       * cfgrtl.c (cfg_layout_create_basic_block): Do not initialize rbi.
+       (try_redirect_by_replacing_jump): Update rbi references.
+       (cfg_layout_split_block): Likewise.
+       (cfg_layout_delete_block): Likewise.
+       (cfg_layout_merge_blocks): Likewise.
+       * function.c (thread_prologue_and_epilogue_insns): Likewise.
+       * passes.c (rest_of_handle_sms): Likewise.
+       * tracer.c (seen, tail_duplicate, layout_superblocks): Likewise.
+
+2005-06-27  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.c (rs6000_file_start): Note PPC405 erratum
+       in verbose_asm output.
+       * config/rs6000/rs6000.h (PPC405_ERRATUM77): Bracket with
+       CONFIG_PPC405CR.
+       * config.gcc (powerpc with_which): Define CONFIG_PPC405CR for
+       405cr.
+
+2005-06-27  Jakub Jelinek  <jakub@redhat.com>
+
+       * builtin-attrs.def (DEF_ATTR_FOR_INT): Add for 5 and 6.
+       (DEF_LIST_INT_INT): Add for 4,0, 4,5, 5,0, 5,6.
+       (ATTR_NOTHROW_NONNULL_4, ATTR_NOTHROW_NONNULL_5): Define.
+       (ATTR_FORMAT_PRINTF_4_0, ATTR_FORMAT_PRINTF_4_5,
+       ATTR_FORMAT_PRINTF_5_0, ATTR_FORMAT_PRINTF_5_6): Define.
+       * builtins.c: Include tree-flow.h.
+       (expand_builtin_mempcpy, expand_builtin_memmove): Comment fixes.
+       (expand_builtin_object_size, expand_builtin_memory_chk,
+       maybe_emit_chk_warning, maybe_emit_sprintf_chk_warning,
+       compute_object_offset, compute_builtin_object_size,
+       fold_builtin_object_size): New functions.
+       (expand_builtin): Handle BUILT_IN_OBJECT_SIZE and BUILT_IN_*_CHK.
+       (fold_builtin_1): Likewise.  Handle BUILT_IN_{,V}{,F}PRINTF
+       and BUILT_IN_{,F}PRINTF_UNLOCKED.
+       (fold_builtin_memory_chk, fold_builtin_stxcpy_chk,
+       fold_builtin_strncpy_chk, fold_builtin_strcat_chk,
+       fold_builtin_strncat_chk, fold_builtin_sprintf_chk,
+       fold_builtin_snprintf_chk, fold_builtin_printf, fold_builtin_fprintf):
+       New functions.
+       * builtins.def (BUILT_IN_OBJECT_SIZE, BUILT_IN_MEMCPY_CHK,
+       BUILT_IN_MEMMOVE_CHK, BUILT_IN_MEMPCPY_CHK, BUILT_IN_MEMSET_CHK,
+       BUILT_IN_STPCPY_CHK, BUILT_IN_STRCAT_CHK, BUILT_IN_STRCPY_CHK,
+       BUILT_IN_STRNCAT_CHK, BUILT_IN_STRNCPY_CHK, BUILT_IN_SNPRINTF_CHK,
+       BUILT_IN_SPRINTF_CHK, BUILT_IN_VSNPRINTF_CHK, BUILT_IN_VSPRINTF_CHK,
+       BUILT_IN_FPRINTF_CHK, BUILT_IN_PRINTF_CHK, BUILT_IN_VFPRINTF_CHK,
+       BUILT_IN_VPRINTF_CHK): New builtins.
+       * builtin-types.def (DEF_FUNCTION_TYPE_5, DEF_FUNCTION_TYPE_VAR_4):
+       Document.
+       (BT_FN_SIZE_CONST_PTR_INT, BT_FN_INT_INT_CONST_STRING_VALIST_ARG,
+       BT_FN_PTR_PTR_CONST_PTR_SIZE_SIZE, BT_FN_PTR_PTR_INT_SIZE_SIZE,
+       BT_FN_STRING_STRING_CONST_STRING_SIZE_SIZE,
+       BT_FN_INT_FILEPTR_INT_CONST_STRING_VALIST_ARG,
+       BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VALIST_ARG,
+       BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VALIST_ARG,
+       BT_FN_INT_INT_CONST_STRING_VAR, BT_FN_INT_FILEPTR_INT_CONST_STRING_VAR,
+       BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VAR,
+       BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VAR): New types.
+       * c-common.c (DEF_FUNCTION_TYPE_5, DEF_FUNCTION_TYPE_6,
+       DEF_FUNCTION_TYPE_VAR_4, DEF_FUNCTION_TYPE_VAR_5): Define.
+       * Makefile.in (OBJS-common): Add tree-object-size.o.
+       (tree-object-size.o): Add dependencies.
+       * tree-pass.h (pass_object_sizes): Add.
+       * tree-optimize.c (init_tree_optimization_passes): Add
+       pass_object_sizes.
+       * tree-object-size.c: New file.
+       * tree.h (fold_builtin_memory_chk, fold_builtin_stxcpy_chk,
+       fold_builtin_strncpy_chk, fold_builtin_snprintf_chk,
+       compute_builtin_object_size, init_object_sizes, fini_object_sizes):
+       New prototypes.
+       * tree-ssa-ccp.c (get_strlen): Rename to ...
+       (get_maxval_strlen): ...this function.  Handle also computing of maximum
+       string length and maximum integral value.
+       (ccp_fold_builtin): Handle BUILT_IN_*_CHK.  Use get_maxval_strlen
+       instead of get_strlen.  Pass CALLEE and ARGLIST variables to the
+       folding functions instead of computing them again.
+       (execute_fold_all_builtins): Retry ccp_fold_builtin if a builtin changed
+       into some other builtin.
+       * doc/extend.texi (Object Size Checking): Document.
+
+       * regrename.c (copy_value): Fix comment.
+
+       * toplev.c (process_options): Use if (FRAME_GROWS_DOWNWARD)
+       instead of preprocessor conditionals.
+
+       * targhooks.c (default_hidden_stack_protect_fail): Fall back to
+       default_external_stack_protect_fail if visibility is not supported
+       or not flag_pic.
+       * config/i386/i386.c (ix86_stack_protect_fail): New function.
+       (TARGET_STACK_PROTECT_FAIL): Define.
+       * config/i386/i386.md (stack_protect_si): Change CLOBBER into
+       SET to zero.
+       (stack_protect_di): Likewise.  Use %k2 instead of %2 to avoid
+       invalid instruction xorl %rax, %rax.
+
+2005-06-27  Richard Henderson  <rth@redhat.com>
+
+       * c-cppbuiltin.c (c_cpp_builtins): Add __SSP_ALL__ and __SSP__.
+       * cfgexpand.c: Include params.h.
+       (has_protected_decls, has_short_buffer): New.
+       (expand_stack_vars): Take a predicate to determine what to expand.
+       (defer_stack_allocation): True when flag_stack_protect on.
+       (SPCT_HAS_LARGE_CHAR_ARRAY, SPCT_HAS_SMALL_CHAR_ARRAY): New.
+       (SPCT_HAS_ARRAY, SPCT_HAS_AGGREGATE): New.
+       (stack_protect_classify_type, stack_protect_decl_phase): New.
+       (stack_protect_decl_phase_1, stack_protect_decl_phase_2): New.
+       (add_stack_protection_conflicts, create_stack_guard): New.
+       (expand_used_vars): Add stack protection logic.
+       (tree_expand_cfg): Likewise.
+       * common.opt (Wstack-protector): New.
+       (fstack-protector, fstack-protector-all): New.
+       * function.c: Include predict.h.
+       (assign_parm_adjust_stack_rtl): Zap stack_parm when stack protect
+       wants to copy the parameter into the stack frame.
+       (stack_protect_prologue, stack_protect_epilogue): New.
+       (expand_function_end): Call stack_protect_epilogue.  Do 
+       sjlj_emit_function_exit_after after naked_return_label.
+       * function.h (struct function): Add stack_protect_guard.
+       * params.def (PARAM_SSP_BUFFER_SIZE): New.
+       * toplev.c (process_options): Disable flag_stack_protect and/or
+       warn_stack_protect based on FRAME_GROWS_DOWNWARD.
+       * tree.h (stack_protect_prologue): Declare.
+
+       * target-def.h (TARGET_STACK_PROTECT_GUARD): New.
+       (TARGET_STACK_PROTECT_FAIL): New.
+       (TARGET_INITIALIZER): Add them.
+       * target.h (struct gcc_target): Add stack_protect_guard and
+       stack_protect_fail.
+       * targhooks.c: Include ggc.h, gty header.
+       (stack_chk_guard_decl, default_stack_protect_guard): New.
+       (stack_chk_fail_decl, default_external_stack_protect_fail): New.
+       (default_hidden_stack_protect_fail): New.
+       * targhooks.h (default_stack_protect_guard): Declare.
+       (default_external_stack_protect_fail): Declare.
+       (default_hidden_stack_protect_fail): Declare.
+       * config/i386/i386.c (TARGET_STACK_PROTECT_FAIL): New.
+       * config/i386/i386.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): New.
+       (trap): Use ud2.
+       (conditional_trap, conditional_trap_1): Remove.
+       (stack_protect_set, stack_protect_set_si, stack_protect_set_di): New.
+       (stack_protect_test, stack_protect_test_si, stack_protect_test_di): New.
+       * doc/md.texi (stack_protect_set, stack_protect_test): New.
+       * doc/tm.texi (TARGET_STACK_PROTECT_GUARD): New.
+       (TARGET_STACK_PROTECT_FAIL): New.
+
+       * libgcc-std.ver (GCC_4.1.0): New.
+       * libgcc.h (__stack_chk_guard): Declare.
+       (__stack_chk_fail, __stack_chk_fail_local): Declare.
+       * libgcc2.c (L_stack_chk, L_stack_chk_local): New.
+       * mklibgcc.in (lib2funcs): Add them.
+
+2005-06-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       PR c/21911
+       * c-common.c (check_function_sentinel): Pass in named argument
+       list, skip over named arguments before looking for a sentinel.
+       (check_function_arguments): Pass in named argument list.
+       * c-common.h (check_function_arguments): Likewise.
+       * c-typeck.c (build_function_call): Likewise.
+
 2005-06-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * genautomata.c (decl_mode_check_failed,
        config/sh/linux.h (FUNCTION_PROFILER): Constify a char*.
 
 2005-06-20  Roger Sayle  <roger@eyesopen.com>
-2005-06-20  Fariborz Jahanian <fjahanian@apple.com>
+           Fariborz Jahanian <fjahanian@apple.com>
 
        * combine.c (simplify_set): Simplify setting of CC register
        by removing redundant compare with 0 on RHS.