diff options
Diffstat (limited to 'gcc-4.2.1-5666.3/gcc/ChangeLog')
-rw-r--r-- | gcc-4.2.1-5666.3/gcc/ChangeLog | 2264 |
1 files changed, 2264 insertions, 0 deletions
diff --git a/gcc-4.2.1-5666.3/gcc/ChangeLog b/gcc-4.2.1-5666.3/gcc/ChangeLog new file mode 100644 index 000000000..238c9b1ec --- /dev/null +++ b/gcc-4.2.1-5666.3/gcc/ChangeLog @@ -0,0 +1,2264 @@ +2006-10-24 Richard Guenther <rguenther@suse.de> + + Radar 5675014 + PR middle-end/28796 + * builtins.c (fold_builtin_classify): Use HONOR_INFINITIES + and HONOR_NANS instead of MODE_HAS_INFINITIES and MODE_HAS_NANS + for deciding optimizations in consistency with fold-const.c + (fold_builtin_unordered_cmp): Likewise. + +2007-10-07 Geoffrey Keating <geoffk@apple.com> + + * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Register + '#pragma mark' to be executed at preprocessing time. + +2007-09-14 Geoffrey Keating <geoffk@apple.com> + + Radar 5480287 + * dwarf2out.c (output_call_frame_info): FDEs are always emitted + if flag_exceptions is not set. + * config/darwin.c (darwin_emit_unwind_label): Rewrite to use + assemble_name rather than incorrectly emulating it. + + Radar 5482863 + * doc/extend.texi (Deprecated Features): Mention that <? and >? and + friends are removed from G++. + +2007-08-02 Geoffrey Keating <geoffk@apple.com> + + Radar 3274130, 5295549 + * c-parser.c (c_parser_while_statement): Handle attributes. + (c_parser_do_statement): Handle attributes. + (c_parser_for_statement): Handle attributes. + * c-common.c (handle_unused_attribute): Warn if a statement + is marked as unused. + * c-tree.h (c_finish_loop): Add extra parameter. + * c-typeck.c (c_finish_loop): Handle attributes. + * doc/extend.texi (Attribute Syntax): Document statement attributes. + (Label Attributes): Explain how they apply to statements. + * tree-cfg.c (cleanup_dead_labels): Preserve labels with + user-specified alignment or attributes. + * stmt.c (expand_label): Update and correct documentation. + + * c-common.c (handle_aligned_attribute): Handle LABEL_DECL. + * rtl.def (CODE_LABEL): Add 8th operand. + * rtl.h (LABEL_ALIGN_LOG): New. + (LABEL_MAX_SKIP): New. + (SET_LABEL_ALIGN): New. + * emit-rtl.c (gen_label_rtx): Adjust. + * print-rtl.c (print_rtx): Print LABEL_ALIGN_LOG. + * stmt.c (label_rtx): Set CODE_LABEL's alignment from DECL_ALIGN. + (expand_label): Update documentation. + * final.c (struct label_alignment): Delete. + (label_align): Delete. + (min_labelno): Delete. + (max_labelno): Delete. + (LABEL_TO_ALIGNMENT): Delete. + (LABEL_TO_MAX_SKIP): Delete. + (label_to_alignment): Adjust for LABEL_ALIGN_LOG. + (align_fuzz): Likewise. + (compute_alignments): Likewise. + (shorten_branches): Remove code to set up label_align. + Adjust for LABEL_ALIGN_LOG. + (final_scan_insn): Adjust for LABEL_ALIGN_LOG. + * doc/extend.texi (C Extensions): Add 'Label Attributes' to menu. + (Attribute Syntax): Move label content to Label Attributes. + (Function Attributes): Mention label attributes. + (Variable Attributes): Mention label attributes. + (Type Attributes): Mention label attributes. + (Label Attributes): New. + + * builtins.c (get_pointer_alignment): Honor DECL_ALIGN on a + FUNCTION_DECL. + * tree.c (build_decl_stat): Move code from here... + (make_node_stat): ... to here. Don't uselessly clear DECL_USER_ALIGN. + (expr_align): Honor DECL_ALIGN on a FUNCTION_DECL. Add comment + about using DECL_ALIGN of LABEL_DECL and CONST_DECL. + * tree.h (DECL_USER_ALIGN): Fix misplaced comment. + * varasm.c (assemble_start_function): Use DECL_ALIGN instead of + FUNCTION_BOUNDARY. + +2007-06-21 H.J. Lu <hongjiu.lu@intel.com> + + Radar 5289915 + * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_VEC_EXT_V16QI. + (ix86_init_mmx_sse_builtins): Add __builtin_ia32_vec_ext_v16qi. + (ix86_expand_builtin): Handle IX86_BUILTIN_VEC_EXT_V16QI. + +2007-07-03 Eric Christopher <echristo@apple.com> + + Radar 4361482 + * doc/cppopts.texi: Add conflicting option note to -dM. + * doc/invoke.texi: Add note about possible conflicts with + -E for -dCHARS and note that -dM will not produce + any results if there is no machine dependent reorg. + +2006-12-13 Geoffrey Keating <geoffk@apple.com> + + Radar 4697325 + * doc/invoke.texi (Darwin Options): Update documentation for + -mmacosx-version-min. + * config.gcc (*-*-darwin*): Set extra_gcc_objs. + * config/darwin-driver.c: New file. + * config/darwin.h (GCC_DRIVER_HOST_INITIALIZATION): New. + * config/t-darwin (darwin-driver.o): New rule. + +2006-12-12 Geoffrey Keating <geoffk@apple.com> + + * mips-tdump.c: Replace CROSS_COMPILE with + CROSS_DIRECTORY_STRUCTURE. + * mips-tfile.c: Likewise. + * gcc.c: Likewise. + * configure.ac: Likewise. + * cppdefault.c: Likewise. + * Makefile.in: Likewise. + * config/alpha/osf.h: Likewise. + * config/i386/cygwin.h: Likewise. + * config/i386/beos-elf.h: Likewise. + * config/i386/nto.h: Likewise. + * config/fr30/fr30.h: Likewise. + * config/svr4.h: Likewise. + * config/rs6000/aix.h: Likewise. + * config/rs6000/sysv4.h: Likewise. + * config/pa/pa64-hpux.h: Likewise. + * config/pa/pa-hpux10.h: Likewise. + * config/pa/pa-hpux11.h: Likewise. + * collect2.c: Likewise. + * configure: Regenerate. + +2007-06-01 Geoffrey Keating <geoffk@apple.com> + + * config/darwin.h (LINK_SPEC): Pass -fpie through to the linker. + +2007-05-31 Eric Christopher <echristo@apple.com> + + * expr.c (convert_move): Assert that we don't have a BLKmode + operand. + (store_expr): Handle BLKmode moves by calling emit_block_move. + +2007-05-21 Mike Stump <mrs@apple.com> + + * config/darwin.h (LINK_COMMAND_SPEC): Add .cxx/.cp for dsymutil + handling as well. + +2007-05-16 Eric Christopher <echristo@apple.com> + + Radar 4663646 + * config/rs6000/rs6000.c (rs6000_emit_prologue): Move altivec register + saving after stack push. Set sp_offset whenever we push. + (rs6000_emit_epilogue): Move altivec register restore before stack push. + +2007-05-07 Mike Stump <mrs@apple.com> + + * doc/invoke.texi (Warning Options): Document that -Wempty-body + also checks for and while statements in C++. + +2007-04-16 Ian Lance Taylor <iant@google.com> + + * tree-ssa-propagate.c (cfg_blocks_add): Insert blocks with fewer + predecessors at head rather than tail. + +2006-09-11 Geoffrey Keating <geoffk@apple.com> + + * coverage.c (coverage_checksum_string): Update comment. + * dwarf2out.c (switch_to_eh_frame_section): Update for removal + of get_file_function_name. + * cgraphunit.c (cgraph_build_static_cdtor): Update for rename + of get_file_function_name_long. + * tree.c (get_file_function_name): Rename from + get_file_function_name_long; improve comment; handle 'I' and 'D' + specially when the target has ctor/dtor support; remove special + handling for 'F'. + (get_file_function_name): Remove. + * tree.h (get_file_function_name): Rename from + get_file_function_name_long. + (get_file_function_name): Remove prototype. + +2007-03-26 Mike Stump <mrs@apple.com> + + Radar 5091993 + * config/rs6000/darwin.h (DARWIN_MINVERSION_SPEC): Add + objective-c-header, objective-c++-header and objc++-cpp-output + support. + * config/i386/darwin.h (DARWIN_MINVERSION_SPEC): Likewise. + +2007-02-20 Geoffrey Keating <geoffk@apple.com> + + Radar 5005743, 4226546 + * config/darwin.h (LINK_SPEC): Default -mmacosx-version-min only + if user didn't pass it. + * config/i386/darwin.h (CC1_SPEC): Likewise. + * config/rs6000/darwin.h (CC1_SPEC): Likewise. + (DARWIN_MINVERSION_SPEC): Don't depend on user's setting of + -mmacosx-version-min. + + * config/darwin.h (LINK_SPEC): Always pass -macosx_version_min + to linker. + (DARWIN_EXTRA_SPECS): Add %(darwin_minversion). + * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Just call + darwin_rs6000_override_options. + (C_COMMON_OVERRIDE_OPTIONS): Expect + darwin_macosx_version_min to be non-NULL always. + (TARGET_C99_FUNCTIONS): Likewise. + (CC1_SPEC): Always pass -mmacosx-version-min to cc1*. + (DARWIN_MINVERSION_SPEC): New. + * config/rs6000/rs6000.c (darwin_rs6000_override_options): New. + * config/i386/darwin.h (CC1_SPEC): Always pass -mmacosx-version-min + to cc1*. + (DARWIN_MINVERSION_SPEC): New. + * config/darwin.opt (mmacosx-version-min): Initialize to non-NULL + value. + * config/darwin-c.c (darwin_cpp_builtins): Expect + darwin_macosx_version_min to be non-NULL always. + +2006-11-07 Eric Christopher <echristo@apple.com> + + * libgcc2.c (__bswapdi2): Rename from bswapDI2. + (__bswapsi2): Ditto. + * libgcc2.h: Remove transformation of bswap routines. + * config/i386/i386.md (bswapsi2): New. + (bswapdi2): Ditto. + +2006-10-31 Eric Christopher <echristo@apple.com> + Falk Hueffner <falk@debian.org> + + * doc/extend.texi (__builtin_bswap32): Document. + (__builtin_bswap64): Ditto. + * doc/libgcc.texi (bswapsi2): Document. + (bswapdi2): Ditto. + * doc/rtl.texi (bswap): Document. + * optabs.c (expand_unop): Don't widen a bswap. + (init_optabs): Init bswap. Set libfuncs explicitly + for bswapsi2 and bswapdi2. + * optabs.h (OTI_bswap): New. + (bswap_optab): Ditto. + * genopinit.c (optabs): Handle bswap_optab. + * tree.h (tree_index): Add TI_UINT32_TYPE and + TI_UINT64_TYPE. + (uint32_type_node): New. + (uint64_type_node): Ditto. + * tree.c (build_common_tree_nodes_2): Initialize + uint32_type_node and uint64_type_node. + * builtins.c (expand_builtin_bswap): New. + (expand_builtin): Call. + (fold_builtin_bswap): New. + (fold_builtin_1): Call. + * fold-const.c (tree_expr_nonnegative_p): Return true + for bswap. + * builtin-types.def (BT_UINT32): New. + (BT_UINT64): Ditto. + (BT_FN_UINT32_UINT32): Ditto. + (BT_FN_UINT64_UINT64): Ditto. + * builtins.def (BUILT_IN_BSWAP32): New. + (BUILT_IN_BSWAP64): Ditto. + * rtl.def (BSWAP): New. + * genattrtab.c (check_attr_value): New. + * libgcc2.c (__bswapSI2): New. + (__bswapDI2): Ditto. + * libgcc2.h (__bswapSI2): Declare. + (__bswapDI2): Ditto. + * mklibgcc.in (lib2funcs): Add _bswapsi2 and _bswapdi2. + * simplify-rtx.c (simplify_const_unary_operation): Return + 0 for BSWAP. + * libgcc-std.ver (__bwapsi2): Add. + (__bswapdi2): Ditto. + * reload1.c (eliminate_regs_1): Add bswap. + (elimination_effects): Ditto. + * config/i386/i386.h (x86_bswap): New. + * config/i386/i386.c (x86_bswap): Set. + +2007-01-04 Geoffrey Keating <geoffk@apple.com> + + Radar 4871915 + * target.h (struct gcc_target): New field library_rtti_comdat. + * target-def.h (TARGET_CXX_LIBRARY_RTTI_COMDAT): New. + (TARGET_CXX): Add TARGET_CXX_LIBRARY_RTTI_COMDAT. + * doc/tm.texi (C++ ABI): Document TARGET_CXX_LIBRARY_RTTI_COMDAT. + * config/darwin.h (TARGET_CXX_LIBRARY_RTTI_COMDAT): Define. + +2007-01-07 Eric Christopher <echristo@apple.com> + + * configure.ac: Check for __stack_chk_fail for darwin. + * configure: Regenerate. + +2006-12-18 Geoffrey Keating <geoffk@apple.com> + + Radar 4869554 + * doc/invoke.texi (Debugging Options): Document -g0. + * config/darwin.h (LINK_COMMAND_SPEC): Replace -gnone with -g0. + +2006-12-04 Eric Christopher <echristo@apple.com> + + * config/darwin.h (DARWIN_EXTRA_SPECS): New. + (STARTFILE_SPEC): Use. + (DARWIN_DYLIB1_SPEC): New. + (DARWIN_CRT1_SPEC): New. + * config/i386/darwin64.h (SUBTARGET_EXTRA_SPECS): Use + DARWIN_EXTRA_SPECS. + * config/i386/darwin.h: Ditto. + * config/rs6000/darwin.h: Ditto. + +2006-09-11 Geoffrey Keating <geoffk@apple.com> + + * config/darwin.h (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG. + +2006-09-01 Geoffrey Keating <geoffk@apple.com> + + * config/darwin.h (LINK_COMMAND_SPEC): Don't do weird things with -@. + Call dsymutil when compiling and linking one or more source files + in one step. + +2006-05-16 Geoffrey Keating <geoffk@apple.com> + + Radar 4550526 + * c-decl.c (grokdeclarator): Don't set DECL_EXTERNAL on + inline static functions in c99 mode. + +2006-05-09 Geoffrey Keating <geoffk@apple.com> + + Radar 4134307 + PR 16622 + * doc/extend.texi (Inline): Update. + * c-tree.h (struct language_function): Remove field 'extern_inline'. + * c-decl.c (current_extern_inline): Delete. + (pop_scope): Adjust test for an undefined nested function. + Add warning about undeclared inline function. + (diagnose_mismatched_decls): Update comments. Disallow overriding + of inline functions in a translation unit in C99. Allow inline + declarations in C99 at any time. + (merge_decls): Boolize variables. Handle C99 'extern inline' + semantics. + (grokdeclarator): Set DECL_EXTERNAL here for functions. Handle + C99 inline semantics. + (start_function): Don't clear current_extern_inline. Don't set + DECL_EXTERNAL. + (c_push_function_context): Don't push current_extern_inline. + (c_pop_function_context): Don't restore current_extern_inline. + +2006-05-04 Geoffrey Keating <geoffk@apple.com> + + Radar 4134307 + PR 11377 + * c-typeck.c (build_external_ref): Warn about static variables + used in extern inline functions. + * c-decl.c (start_decl): Warn about static variables declared + in extern inline functions. + +/* APPLE LOCAL merge marger */ +/* Stuff above is only in mainline, not the 4.2 branch */ +2007-07-19 Release Manager + + * GCC 4.2.1 released. + +2007-07-18 Paolo Bonzini <bonzini@gnu.org> + + Revert: + + 2007-07-09 Paolo Bonzini <bonzini@gnu.org> + + PR middle-end/32004 + * function.c (rest_of_match_asm_constraints): Pass PROP_REG_INFO. + + 2007-07-06 Paolo Bonzini <bonzini@gnu.org> + + PR middle-end/32004 + * function.c (match_asm_constraints_1, rest_of_match_asm_constraints, + pass_match_asm_constraints): New. + * passes.c (init_optimization_passes): Add new pass. + * stmt.c (expand_asm_operands): Set cfun->has_asm_statement. + * function.h (struct function): Add has_asm_statement bit. + (current_function_has_asm_statement): New. + * tree-pass.h (pass_match_asm_constraints): New. + +2007-07-16 Paul Brook <paul@codesourcery.com> + + PR target/32753 + gcc/ + * config/arm/cirrus.md (cirrus_arm_movsi_insn): Remove dead insn. + +2007-07-10 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> + + PR target/32538 + * config/mips/iris6.h (LIBGCC_SPEC): Add libm. + +2007-07-09 Paolo Bonzini <bonzini@gnu.org> + + PR middle-end/32004 + * function.c (rest_of_match_asm_constraints): Pass PROP_REG_INFO. + +2007-07-09 Uros Bizjak <ubizjak@gmail.com> + + PR tree-optimization/32681 + * tree-if-conv.c (find_phi_replacement_condition): Use the condition + saved in second_edge->aux when first_bb is a loop header. + +2007-07-07 Anatoly Sokolov <aesok@post.ru> + + PR target/31331 + * config/avr/avr.c (avr_naked_function_p): Handle receiving a type + rather than a decl. + (avr_attribute_table): Make "naked" attribute apply to function types + rather than to decls. + (avr_handle_fntype_attribute): New function. + +2007-07-06 Paolo Bonzini <bonzini@gnu.org> + + PR middle-end/32004 + * function.c (match_asm_constraints_1, rest_of_match_asm_constraints, + pass_match_asm_constraints): New. + * passes.c (init_optimization_passes): Add new pass. + * stmt.c (expand_asm_operands): Set cfun->has_asm_statement. + * function.h (struct function): Add has_asm_statement bit. + (current_function_has_asm_statement): New. + * tree-pass.h (pass_match_asm_constraints): New. + +2007-07-06 Uros Bizjak <ubizjak@gmail.com> + + PR rtl-optimization/32450 + * function.c (thread_prologue_and_epilogue_insns): Emit blockage insn + to ensure that instructions are not moved into the prologue when + profiling is on. + +2007-07-04 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/32500 + * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): + Only use basic blocks that are always executed to infer loop bounds. + +2007-07-04 Uros Bizjak <ubizjak@gmail.com> + + PR tree-optimization/31966 + PR tree-optimization/32533 + * tree-if-conv.c (add_to_dst_predicate_list): Use "edge", not + "basic_block" description as its third argument. Update function + calls to get destination bb from "edge" argument. Save "cond" into + aux field of the edge. Update prototype for changed arguments. + (if_convertible_loop_p): Clear aux field of incoming edges if bb + contains phi node. + (find_phi_replacement_condition): Operate on incoming edges, not + on predecessor blocks. If there is a condition saved in the + incoming edge aux field, AND it with incoming bb predicate. + Return source bb of the first edge. + (clean_predicate_lists): Clean aux field of outgoing node edges. + (tree_if_conversion): Do not initialize cond variable. Move + variable declaration into the loop. + (replace_phi_with_cond_gimple_modify_stmt): Remove unneded + initializations of new_stmt, arg0 and arg1 variables. + +2007-07-04 Kaz Kojima <kkojima@gcc.gnu.org> + + PR target/32506 + Backport from mainline. + * config/sh/sh.md (udivsi3_i1_media): Use target_reg_operand + predicate instead of target_operand. + (divsi3_i1_media, divsi3_media_2): Likewise. + +2007-07-03 Richard Guenther <rguenther@suse.de> + + Backport from mainline: + 2006-12-11 Zdenek Dvorak <dvorakz@suse.cz> + + PR rtl-optimization/30113 + * loop-iv.c (implies_p): Require the mode of the operands to be + scalar. + +2007-07-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> + + PR target/28307 + * gthr-posix.h [SUPPORTS_WEAK && GTHREAD_USE_WEAK] + (__gthrw_pragma): Provide default definition. + (__gthrw2): Use it. + * gthr-posix.c (__gthrw_pragma): Define. + +2007-07-02 Jakub Jelinek <jakub@redhat.com> + + PR libgomp/32468 + * omp-low.c (check_combined_parallel): New function. + (lower_omp_parallel): Call it via walk_stmts, set + OMP_PARALLEL_COMBINED if appropriate. + (determine_parallel_type): If OMP_FOR resp. OMP_SECTIONS + isn't the only statement in WS_ENTRY_BB or OMP_RETURN + the only one in PAR_EXIT_BB and not OMP_PARALLEL_COMBINED, + don't consider it as combined parallel. + +2007-06-30 Alexandre Oliva <aoliva@redhat.com> + + * dwarf2out.c (dwarf2out_finish): Accept namespaces as context of + limbo die nodes. + +2007-06-28 Seongbae Park <seongbae.park@gmail.com> + + * config/arm/arm.c (arm_get_frame_offsets): Set + offsets->locals_base to avoid negative stack size. + (thumb_expand_prologue): Assert on negative stack size. + +2007-06-28 Jakub Jelinek <jakub@redhat.com> + + * config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Ensure + decl is non-external for AIX ABI. + +2007-06-28 David Edelsohn <edelsohn@gnu.org> + + * config/rs6000/predicates.md (current_file_function_operand): + Ensure the symbol is non-external for AIX ABI. + +2007-06-21 H.J. Lu <hongjiu.lu@intel.com> + + * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_VEC_EXT_V16QI. + (ix86_init_mmx_sse_builtins): Add __builtin_ia32_vec_ext_v16qi. + (ix86_expand_builtin): Handle IX86_BUILTIN_VEC_EXT_V16QI. + +2007-06-21 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/32362 + * omp-low.c (lookup_decl_in_outer_ctx): Don't ICE if t is NULL, + but decl is a global var, instead return decl. + * gimplify.c (gimplify_adjust_omp_clauses_1): Add shared clauses + even for is_global_var decls, if they are private in some outer + context. + +2007-06-21 Uros Bizjak <ubizjak@gmail.com> + + PR target/32389 + * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_VIRTUAL. + * config/i386/i386.c (assign_386_stack_local): Assert that + SLOT_VIRTUAL is valid only before virtual regs are instantiated. + (ix86_expand_builtin) [IX86_BUILTIN_LDMXCSR, IX86_BUILTIN_STMXCSR]: + Use SLOT_VIRTUAL stack slot instead of SLOT_TEMP. + * config/i386/i386.md (truncdfsf2, truncxfsf2, truncxfdf2): Ditto. + +2007-06-20 Jakub Jelinek <jakub@redhat.com> + + PR inline-asm/32109 + * gimplify.c (gimplify_asm_expr): Issue error if type is addressable + and !allows_mem. + + PR middle-end/32285 + * calls.c (precompute_arguments): Also precompute CALL_EXPR arguments + if ACCUMULATE_OUTGOING_ARGS. + +2007-06-20 Kaz Kojima <kkojima@gcc.gnu.org> + + PR rtl-optimization/28011 + Backport from mainline. + * reload.c (push_reload): Set dont_share if IN appears in OUT + also when IN is a PLUS rtx. + (reg_overlap_mentioned_for_reload_p): Return true if X and IN + are same PLUS rtx. + +2007-06-19 Richard Guenther <rguenther@suse.de> + Michael Matz <matz@suse.de> + + PR tree-optimization/30252 + * tree-ssa-structalias.c (solution_set_add): Make sure to + preserve all relevant vars. + (handle_ptr_arith): Make sure to only handle positive + offsets. + (push_fields_onto_fieldstack): Create fields for empty + bases. + +2007-06-19 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/32353 + * tree-ssa-structalias.c (set_uids_in_ptset): Also handle RESULT_DECL. + +2007-06-17 Eric Botcazou <ebotcazou@libertysurf.fr> + + * config/sparc/sparc.c (sparc_vis_init_builtins): Retrieve the + return mode from the builtin itself. + (sparc_fold_builtin): Fix cast of zero constant. + +2007-06-15 Diego Novillo <dnovillo@google.com> + + PR 32327 + * tree-ssa-operands.c (build_ssa_operands): Initially assume + that the statement does not take any addresses. + +2007-06-13 Eric Botcazou <ebotcazou@libertysurf.fr> + + * config/sparc/sparc.c (sparc_override_options): Initialize + fpu mask correctly. + +2007-06-09 Ian Lance Taylor <iant@google.com> + + PR tree-optimization/32169 + * tree-vrp.c (extract_range_from_unary_expr): For NOP_EXPR and + CONVERT_EXPR, check whether min and max both converted to an + overflow infinity representation. + +2007-06-08 Kaz Kojima <kkojima@gcc.gnu.org> + + PR target/32163 + Backport from mainline. + * config/sh/sh.md (symGOT_load): Don't schedule insns when + the symbol is generated with the stack protector. + +2007-06-06 Ian Lance Taylor <iant@google.com> + + * fold-const.c (merge_ranges): If range_successor or + range_predecessor fail, just return 0. + +2007-06-05 Ian Lance Taylor <iant@google.com> + + * tree-vrp.c (compare_values_warnv): Check TREE_NO_WARNING on a + PLUS_EXPR or MINUS_EXPR node before setting *strict_overflow_p. + (extract_range_from_assert): Set TREE_NO_WARNING when creating an + expression. + (test_for_singularity): Likewise. + +2007-06-04 Ian Lance Taylor <iant@google.com> + + * tree-vrp.c (adjust_range_with_scev): When loop is not expected + to overflow, reduce overflow infinity to regular infinity. + (vrp_var_may_overflow): New static function. + (vrp_visit_phi_node): Check vrp_var_may_overflow. + +2007-05-31 H.J. Lu <hongjiu.lu@intel.com> + + Backport from mainline: + 2007-05-25 H.J. Lu <hongjiu.lu@intel.com> + + * config/i386/i386.c (__builtin_ia32_vec_ext_v2df): Mark it + with MASK_SSE2. + (__builtin_ia32_vec_ext_v2di): Likewise. + (__builtin_ia32_vec_ext_v4si): Likewise. + (__builtin_ia32_vec_ext_v8hi): Likewise. + (__builtin_ia32_vec_set_v8hi): Likewise. + +2007-05-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + Backport from mainline: + 2007-05-05 Aurelien Jarno <aurelien@aurel32.net> + + * config/pa/pa.md: Split tgd_load, tld_load and tie_load + into pic and non-pic versions. Mark r19 as used for + tgd_load_pic, tld_load_pic and tie_load_pic. Mark r27 as used + for tgd_load, tld_load and tie_load . + * config/pa/pa.c (legitimize_tls_address): Emit pic or non-pic + version of tgd_load, tld_load and tie_load depending on the + value of flag_pic. + +2007-05-27 Daniel Berlin <dberlin@dberlin.org> + + Fix PR/30052 + Backport PTA solver from mainline + + * pointer-set.c: Copy from mainline + * pointer-set.h: Ditto. + * tree-ssa-structalias.c: Copy solver portions from mainline. + * Makefile.in (tree-ssa-structalias.o): Update dependencies + +2007-05-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * tree-vrp.c (compare_names): Initialize sop. + +2007-05-30 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/31769 + * except.c (duplicate_eh_regions): Clear prev_try if + ERT_MUST_NOT_THROW region is inside of ERT_TRY region. + +2007-05-28 Andrew Pinski <andrew_pinski@playstation.sony.com> + + PR tree-opt/32100 + * fold-const.c (tree_expr_nonnegative_warnv_p): Don't + return true when truth_value_p is true and the type + is of signed:1. + +2007-05-27 H.J. Lu <hongjiu.lu@intel.com> + + Backport from mainline: + 2007-05-25 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/sse.md (*vec_extractv2di_1_sse2): Do not calculate + "memory" attribute for "sseishft" type insn without operands[2]. + + 2007-05-25 H.J. Lu <hongjiu.lu@intel.com> + + * config/i386/sse.md (*vec_extractv2di_1_sse2): Correct shift. + +2007-05-22 Ian Lance Taylor <iant@google.com> + + * tree-vrp.c (avoid_overflow_infinity): New static function, + broken out of set_value_range_to_value. + (set_value_range_to_value): Call avoid_overflow_infinity. + (extract_range_from_assert): Likewise. + +2007-05-23 Chen Liqin <liqin@sunnorth.com.cn> + + PR target/30987 + * config/score/misc.md (bitclr_c, bitset_c, bittgl_c): remove. + * config/score/predicate.md (const_pow2, const_npow2): remove. + * config/score/score.h (ASM_OUTPUT_EXTERNAL): add ASM_OUTPUT_EXTERNAL undef. + PR target/30474 + * config/score/score.c (score_print_operand): makes sure that only lower + bits are used. + +2007-05-21 Uros Bizjak <ubizjak@gmail.com> + + PR target/31167 + Backport from mainline. + * config/i386/i386.md (*addti3_1, *addti3_1 splitter): Use + x86_64_general_operand as operand[2] predicate. Remove "iF" + from operand constraints and use "e" constraint instead. + (*subti3_1, *subti3_1 splitter): Ditto. + (*negti2_1, *negti2_1 splitter): Use nonimmediate_operand as + operand[1] predicate. + +2007-05-21 Uros Bizjak <ubizjak@gmail.com> + + PR target/30041 + Backport from mainline. + * config/i386/sse.md ("*sse3_movddup"): Use operands[0] and + operands[1] in insn constraint. Correct type attribute to sselog1. + +2007-05-20 Kaz Kojima <kkojima@gcc.gnu.org> + + PR target/31701 + Backport from mainline. + * config/sh/sh.c (output_stack_adjust): Avoid using the frame + register itself to hold the offset constant. Tell flow the use + of r4 and r5 when they are used. + +2007-05-20 Kaz Kojima <kkojima@gcc.gnu.org> + + PR target/31480 + Backport from mainline. + * config/sh/sh.md (length): Check if prev_nonnote_insn (insn) + is null. + +2007-05-20 Kaz Kojima <kkojima@gcc.gnu.org> + + PR target/31022 + Backport from mainline. + * config/sh/sh.c (sh_adjust_cost): Use the result of single_set + instead of PATTERN. + +2007-05-20 Kaz Kojima <kkojima@gcc.gnu.org> + + PR target/27405 + Backport from mainline. + * config/sh/sh.md (cmp{eq,gt,gtu}{si,di}_media): Remove. + (cmpsi{eq,gt,gtu}{si,di}_media): Rename to + cmp{eq,gt,gtu}{si,di}_media. + (*cmpne0si_media): Remove. + (*movsicc_umin): Adjust gen_cmp*_media call. + (unordered): Change the mode of unordered and operands[1] to + SImode. + (seq): Adjust gen_cmp*_media calls. Make the mode of + a temporary result of compare SImode if needed. If the mode + of operands[0] is DImode, extend the temporary result to DImode. + (slt, sle, sgt, sge, sgtu, sltu, sleu, sgue, sne): Likewise. + (sunorderd): Change the mode of match_operand and unorderd to + SImode. + (cmpeq{sf,df}_media): Remove. + (cmpsieq{sf,df}_media): Rename to cmpeq{sf,df}_media. + (cmp{gt,ge,un}{sf,df}_media): Change the mode of match_operand + and compare operation to SImode. + +2007-05-18 Joseph Myers <joseph@codesourcery.com> + + * config/soft-fp/double.h, config/soft-fp/extended.h, + config/soft-fp/floatundidf.c, config/soft-fp/floatundisf.c, + config/soft-fp/floatunsidf.c, config/soft-fp/floatunsisf.c, + config/soft-fp/op-2.h, config/soft-fp/op-4.h, + config/soft-fp/op-common.h, config/soft-fp/quad.h: Update from + glibc CVS. + +2007-05-17 Ian Lance Taylor <iant@google.com> + + PR tree-optimization/31953 + * tree-vrp.c (set_value_range_to_value): Add equiv parameter. + Change all callers. + (set_value_range_to_null): Call set_value_range_to_value. + (extract_range_from_comparison): Likewise. + +2007-05-17 Eric Botcazou <ebotcazou@libertysurf.fr> + + PR rtl-optimization/31691 + * combine.c (simplify_set): Build a new src pattern instead of + substituting its operands in the COMPARE case. + +2007-05-14 Mark Mitchell <mark@codesourcery.com> + + * BASE-VER: Set to 4.2.1. + * DEV-PHASE: Set to prerelease. + +2007-05-13 Release Manager + + * GCC 4.2.0 released. + +2007-05-12 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/31797 + * tree-ssa-forwprop.c (forward_propagate_addr_expr): Do not + propagate into a stmt that has volatile ops. + +2007-05-01 Ian Lance Taylor <iant@google.com> + + PR tree-optimization/31739 + * tree-vrp.c (vrp_val_is_max): New static function. + (vrp_val_is_min): New static function. + (set_value_range_to_value): Use TYPE_{MAX,MIN}_VALUE rather than + copying the node. + (set_value_range): Use vrp_val_is_{max,min}. + (extract_range_from_assert): Likewise. + (extract_range_from_binary_expr): Likewise. + (extract_range_from_unary_expr): Likewise. + (dump_value_range, vrp_meet): Likewise. + (vrp_visit_phi_node): Likewise. + * tree.c (build_distinct_type_copy): Revert change of 2007-04-27. + +2007-05-01 Joseph Myers <joseph@codesourcery.com> + + * config/rs6000/libgcc-ppc-glibc.ver (__gcc_qgt): Fix typo. + +2007-04-27 Anatoly Sokolov <aesok@post.ru> + + * config/avr/avr.c (avr_mcu_types): Add support for ATmega8HVA and + ATmega16HVA devices. Move AT90USB82 device to 'avr5' architecture. + * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.). + * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.). + +2007-04-27 Ian Lance Taylor <iant@google.com> + + PR middle-end/31710 + * tree.c (build_distinct_type_copy): If TYPE_MIN_VALUE or + TYPE_MAX_VALUE exist, convert them to the new type. + +2007-04-26 Ian Lance Taylor <iant@google.com> + + PR target/28675 + * reload.c (find_reloads_subreg_address): If the address was valid + in the original mode but not in the new mode, reload the whole + address. + +2007-04-26 Ulrich Weigand <uweigand@de.ibm.com> + + PR middle-end/30761 + * reload1.c (eliminate_regs_in_insn): In the single_set special + case, attempt to re-recognize the insn before falling back to + having reload fix it up. + +2007-04-26 Richard Guenther <rguenther@suse.de> + Daniel Berlin <dberlin@dberlin.org> + + PR tree-optimization/30567 + * tree-ssa-structalias.c (update_alias_info): Record dereference + also if ESCAPE_STORED_IN_GLOBAL. + +2007-04-26 Jakub Jelinek <jakub@redhat.com> + + PR c++/31598 + * tree-inline.c (copy_body_r): Don't touch TREE_TYPE of OMP_CLAUSE. + + PR tree-optimization/30558 + * tree-eh.c (lower_eh_filter): If EH_FILTER_MUST_NOT_THROW + clear this_state.prev_try. + +2007-04-25 Anatoly Sokolov <aesok@post.ru> + + PR target/18989 + * config/avr/avr.h (ASM_OUTPUT_ALIGN): Redefine. + +2007-04-24 Andrew Pinski <andrew_pinski@playstation.sony.com> + Roger Sayle <roger@eyesopen.com> + + PR middle-end/30222 + * expmed.c (make_tree): Use the correct type, i.e. the inner + type, when constructing the individual elements of a CONST_VECTOR. + +2007-04-24 Ian Lance Taylor <iant@google.com> + + PR tree-optimization/31605 + * tree-vrp.c (set_value_range): Check that min and max are not + both overflow infinities. + (set_value_range_to_value): New static function. + (extract_range_from_binary_expr): Call set_value_range_to_value. + (extract_range_from_expr): Likewise. + (extract_range_from_unary_expr): Likewise. Don't create a range + which overflows on both sides. + (vrp_meet): Check for a useless range. + (vrp_visit_phi_node): If we see a constant which looks like an + overflow infinity, turn off the TREE_OVERFLOW flag. + +2007-04-24 Ian Lance Taylor <iant@google.com> + + PR tree-optimization/31602 + * tree-ssa-loop-ch.c (copy_loop_headers): Set TREE_NO_WARNING for + conditionals in the copied loop header. + * tree-cfg.c (fold_cond_expr_cond): Don't issue undefined overflow + warnings if TREE_NO_WARNING is set. + * doc/invoke.texi (Warning Options): Clarify that + -Wstrict-overflow does not warn about loops. + +2007-04-24 Andreas Krebbel <krebbel1@de.ibm.com> + + PR target/31641 + * config/s390/s390.c (s390_expand_setmem): Don't ICE for constant length + argument of 0 for memset. + (s390_expand_movmem, s390_expand_setmem, s390_expand_cmpmem): Use + unsigned shift instead of the signed variant. + +2007-04-24 Daniel Franke <franke.daniel@gmail.com> + + * doc/invoke.texi: Removed leading '-' from option index entries. + +2007-04-22 Andrew Pinski <andrew_pinski@playstation.sony.com> + + PR middle-end/31448 + * expr.c (reduce_to_bit_field_precision): Handle + CONST_INT rtx's. + +2007-04-20 Richard Henderson <rth@redhat.com> + + PR target/28623 + * config/alpha/alpha.c (get_unaligned_address): Remove extra_offset + argument; update all callers. + (get_unaligned_offset): New. + * config/alpha/alpha.md (extendqidi2, extendhidi2): Don't use + get_unaligned_address, just pass on the address directly. + (unaligned_extendqidi): Use gen_lowpart instead of open-coding + the subreg in the helper patterns. + (unaligned_extendqidi_le): Use get_unaligned_offset. + (unaligned_extendqidi_be, unaligned_extendhidi_le): Likewise. + (unaligned_extendhidi_be): Likewise. + (unaligned_extendhidi): Tidy. + * config/alpha/alpha-protos.h: Update. + +2007-04-21 Richard Guenther <rguenther@suse.de> + + PR middle-end/31136 + * fold-const.c (fold_unary): Call fold_convert_const on the + original tree. + +2007-04-20 Richard Henderson <rth@redhat.com> + + * config/alpha/linux.h (CPP_SPEC): Undef before redefine. + +2007-04-20 Bernd Schmidt <bernd.schmidt@analog.com> + + * reload.c (combine_reloads): When trying to use a dying register, + check whether it's uninitialized and don't use if so. + +2007-04-20 Jakub Jelinek <jakub@redhat.com> + + * config/i386/i386.c (bdesc_2arg): Use ORDERED rather than UNORDERED + for __builtin_ia32_cmpordss. + + PR tree-optimization/31632 + * fold-const.c (fold_binary): Use op0 and op1 instead of arg0 + and arg1 for optimizations of comparison against min/max values. + Fold arg0 to arg1's type for optimizations of comparison against + min+1 and max-1 values. + +2007-04-19 Eric Botcazou <ebotcazou@libertysurf.fr> + + PR rtl-optimization/29841 + * cfgbuild.c (control_flow_insn_p): Return TRUE for unconditional + trap instructions. + * sched-deps.c (sched_analyze_insn): Prevent all non-jump instructions + that may cause control flow transfer from being moved. + +2007-04-18 Anatoly Sokolov <aesok@post.ru> + + * config/avr/avr.c (ptrreg_to_str): Replace error() with + output_operand_lossage(). + +2007-04-17 Anatoly Sokolov <aesok@post.ru> + + PR target/30483 + * config/avr/avr.c (ptrreg_to_str): Replace gcc_unreachable() with + error(). + +2007-04-17 Jan Hubicka <jh@suse.cz> + + PR middle-end/30700 + * dwarf2out.c (reference_to_unused): Ask cgraph for functions + availablility; add more sanity checking; ask varpool only about + VAR_DECL. + +2007-04-17 H.J. Lu <hongjiu.lu@intel.com> + + * Backport from mainline: + 2007-04-17 H.J. Lu <hongjiu.lu@intel.com> + + * config/i386/sse.md (sse_vmaddv4sf3): Use register_operand + on "0". + (sse_vmmulv4sf3): Likewise. + (sse2_vmaddv2df3): Likewise. + (sse2_vmmulv2df3): Likewise. + +2007-04-16 Matthias Klose <doko@debian.org> + + * config/alpha/linux.h (CPP_SPEC): Define. + * config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Extend. + +2007-04-16 Anatoly Sokolov <aesok@post.ru> + + * config/avr/avr.c (avr_arch_types): Rearranging array. + (enum avr_arch): Add. + (avr_mcu_types): Use avr_arch enumeration constants instead of + numbers. + * config/avr/avr.h (LINK_SPEC): Simplify. + +2007-04-16 Jan Hubicka <jh@suse.cz> + + PR target/27869 + * config/i386/sse.md + (sse_vmaddv4sf3, sse_vmmulv4sf3): Remove '%' modifier. + (sse_vmsmaxv4sf3_finite, sse_vmsminv4sf3_finite): Remove. + (sse2_vmaddv2df3, sse2_vmmulv2df3): Remove '%' modifier. + (sse2_vmsmaxv2df3_finite, sse2_vmsminv2df3_finite): Remove. + +2007-04-16 H.J. Lu <hongjiu.lu@intel.com> + + * Backport from mainline: + 2007-04-16 H.J. Lu <hongjiu.lu@intel.com> + + PR target/31582 + * config/i386/i386.c (ix86_expand_vec_set_builtin): Make a + copy of source, pass it to ix86_expand_vector_set and return + it as target. + +2007-04-14 Andrew Pinski <andrew_pinski@playstation.sony.com> + + PR c/31520 + * c-decl.c (finish_decl): Grab the type of the decl after the call + to store_init_value. + +2007-04-14 Jakub Jelinek <jakub@redhat.com> + + PR c++/25874 + * omp-low.c (expand_omp_parallel): If child_cfun->cfg, free dominators, + post dominators and cleanup cfg before returning. + +2007-04-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + * pa.c (pa_som_asm_init_sections): Ensure that cfun->machine is not + null before emitting a .nsubspa directive. + +2007-04-08 Anatoly Sokolov <aesok@post.ru> + + PR target/29932 + * config/avr/predicates.md (io_address_operand): Delete predicate. + (low_io_address_operand): Don't use 'mode' argument. + (higth_io_address_operand): Rename ... + (high_io_address_operand): ... to this. Don't use 'mode' argument. + * config/avr/avr.md (*sbix_branch_tmp, *sbix_branch_tmp_bit7): Adjust + for above change. + +2007-04-07 Anatoly Sokolov <aesok@post.ru> + + PR target/30289 + * config/avr/avr.md (*clrmemqi, *clrmemhi): Mark operand 4 as + earlyclobber. + +2007-04-05 Anatoly Sokolov <aesok@post.ru> + + PR target/25448 + * config/avr/avr.c (avr_handle_fndecl_attribute): Use the + DECL_ASSEMBLER_NAME, not the DECL_NAME. + +2007-04-04 Richard Henderson <rth@redhat.com> + + PR target/31361 + * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove + v8hi_ftype_v8hi_v2di, v4si_ftype_v4si_v2di. Use like-types for + the variable shift builtins. + (ix86_expand_builtin): Properly expand the variable shift builtins. + * config/i386/sse.md (ashr<mode>3, lshr<mode>3, ashl<mode>3): Make + operand 2 be TImode. + * config/i386/emmintrin.h (_mm_slli_epi16, _mm_slli_epi32, + _mm_slli_epi64, _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16, + _mm_srli_epi32, _mm_srli_epi64): Turn into macros. + (_mm_srli_si128, _mm_srli_si128): Fix disabled inline versions. + (_mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64, _mm_sra_epi16, + _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32, _mm_srl_epi64): Use + two-vector shift builtins. + +2007-04-04 Chen liqin <liqin@sunnorth.com.cn> + + * config/score/crti.asm: Change _bss_start to __bss_start. + * config/score/score.h (CONDITIONAL_REGISTER_USAGE): Added. + (OUTGOING_REG_PARM_STACK_SPACE) update. + * config/score/score.opt: add options to make backend support + score5, score5u, score7 and score7d. + * config/score/score.md: Likewise. + * config/score/misc.md: Likewise. + * config/score/mac.md: Likewise. + * doc/invoke.texi: Likewise. + * doc/md.texi: update constraints define. + +2007-04-03 Stuart Hastings <stuart@apple.com> + + PR 31281 + * objc/objc-act.c (next_sjlj_build_catch_list): Delete volatile + from rethrow decl. + * cse.c (record_jump_equiv): Bail out on CCmode comparisons. + +2007-04-03 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/30704 + * fold-const.c (native_encode_real): Encode real.c provided longs + as a series of 32-bit native integers. + (native_interpret_real): Interpret buffer as a series of 32-bit + native integers. + +2007-04-02 Eric Christopher <echristo@apple.com> + + * doc/invoke.texi (i386 and x86-64 Options): Document -m64 + limitations on darwin. + +2007-04-02 Anatoly Sokolov <aesok@post.ru> + + PR target/31137 + * config/avr/avr.c (avr_rtx_costs): Add missing 'break' statements. + +2007-04-02 H.J. Lu <hongjiu.lu@intel.com> + + * Backport from mainline: + 2007-03-28 Grigory Zagorodnev <grigory_zagorodnev@linux.intel.com> + + PR target/31380 + * config/i386/sse.md (uminv16qi3): Use UMIN instead of UMAX. + +2007-03-30 Anatoly Sokolov <aesok@post.ru> + + * config/avr/avr.c (avr_override_options): Clear + 'flag_delete_null_pointer_checks'. + +2007-03-29 Michael Matz <matz@suse.de> + + * builtins.c (expand_builtin_sync_operation, + expand_builtin_compare_and_swap, + expand_builtin_lock_test_and_set): Care for extending CONST_INTs + correctly. + + * config/i386/sync.md (sync_double_compare_and_swapdi_pic, + sync_double_compare_and_swap_ccdi_pic): Use "SD" as constraint + for operand 3. + +2007-03-28 Mike Stump <mrs@apple.com> + + * config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Add. + * config/darwin.h (MAX_OFILE_ALIGNMENT): Fix. + * config/rs6000/darwin.h (ASM_OUTPUT_ALIGNED_COMMON): Removed #undef. + +2007-03-27 Anatoly Sokolov <aesok@post.ru> + + * config/avr/avr.c (avr_mcu_types): Move at90usb82 device to 'avr4' + architecture. + +2007-03-26 Ian Lance Taylor <iant@google.com> + + PR tree-optimization/31345 + * tree-vrp.c (extract_range_from_binary_expr): Turn ranges like + [+INF, +INF(OVF)] into VARYING. + +2007-03-23 Martin Michlmayr <tbm@cyrius.com> + + * doc/invoke.texi (-fforce-mem): Update documentation to reflect + that this option will be removed in 4.3 rather than 4.2. + * opts.c (common_handle_option): Likewise. + +2007-03-21 Mike Stump <mrs@apple.com> + + * c.opt: Fixup for Objective-C/C++. + +2007-03-21 Richard Henderson <rth@redhat.com> + + PR target/31245 + * config/i386/emmintrin.h (__m128i, __m128d): Mark may_alias. + * config/i386/mmintrin.h (__m64): Likewise. + * config/i386/xmmintrin.h (__m128): Likewise. + +2007-03-20 Jakub Jelinek <jakub@redhat.com> + + PR c/30762 + * c-typeck.c (convert_for_assignment): Call comptypes for + RECORD_TYPE or UNION_TYPE. + + PR inline-asm/30505 + * reload1.c (reload): Do invalid ASM checking after + cleanup_subreg_operands. + +2007-03-19 Jeff Law <law@redhat.com> + + * tree-cfg.c (find_taken_edge): Tighten conditions for + optimizing computed gotos. + +2007-03-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + * pa.c (attr_length_call): Partially revert change of 2007-03-09. + (output_call): Likewise. + +2007-03-16 Alexandre Oliva <aoliva@redhat.com> + + PR debug/29906 + * dwarf2out.c (force_type_die): Adjust comment. + (dwarf2out_imported_module_or_decl): Handle base AT_import types. + +2007-03-15 Seongbae Park <seongbae.park@gmail.com> + + PR tree-optimization/30590 + * tree-nrv.c (tree_nrv): Check for the partial update + of the return value. + +2007-03-14 Ian Lance Taylor <iant@google.com> + + * tree-vrp.c (value_inside_range): Ignore fold warnings. + +2007-03-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + PR target/31123 + * pa.md (vdepi_ior): Don't allow zero length deposit. Likewise for + two unamed patterns. + +2007-03-12 Brooks Moses <brooks.moses@codesourcery.com> + + * doc/extend.texi: Edit "gnu_inline" documentation. + * doc/invoke.texi: Edit "-fgnu89-inline" documentation. + +2007-03-12 Brooks Moses <brooks.moses@codesourcery.com> + + * doc/extend.texi: Fix cpp.info cross-reference. + * doc/invoke.texi: Fix cpp.info cross-reference. + * doc/passes.texi: Fix gcc.info cross-reference. + +2007-03-12 Daniel Berlin <dberlin@dberlin.org> + + Fix PR tree-optimization/28544 + * tree-ssa-operands.c (add_virtual_operand): + Move assert triggering on aliasing violations into + debugging define + +2007-03-12 Ian Lance Taylor <iant@google.com> + + * c.opt (fgnu89-inline): New option. + * c-opts.c (c_common_post_options): Warn about -fno-gnu89-inline. + * c-common.c (c_common_attributes): Add gnu_inline attribyte. + (handle_gnu_inline_attribute): New static function. + * c-decl.c (start_function): Warn if we see a non-static inline + function in C99 mode. + * c-cppbuiltin.c (c_cpp_builtins): Define __GNUC_GNU_INLINE__. + * doc/invoke.texi (Option Summary): Mention -fgnu89-inline. + (C Dialect Options): Document -fgnu89-inline. + * doc/extend.texi (Function Attributes): Document gnu_inline. + (Inline): Mention that C99 inline will be implemented in 4.3. + Refer to ways to get the old handling. + * doc/cpp.texi (Common Predefined Macros): Document + __GNUC_GNU_INLINE__ and __GNUC_STDC_INLINE__. + +2007-03-12 Richard Henderson <rth@redhat.com> + + * config/alpha/alpha.c (alpha_elf_section_type_flags): New. + (TARGET_SECTION_TYPE_FLAGS): New. + +2007-03-12 Richard Henderson <rth@redhat.com> + + * config/darwin.c (machopic_reloc_rw_mask): New. + (machopic_select_section): Use decl_readonly_section. + * config/darwin-protos.h (machopic_reloc_rw_mask): Declare. + * config/darwin.h (TARGET_ASM_RELOC_RW_MASK): New. + +2007-02-14 Richard Guenther <rguenther@suse.de> + + Backport from mainline: + * flags.h (issue_strict_overflow_warning): Convert to a macro. + +2007-03-11 Ian Lance Taylor <iant@google.com> + + Backport -fstrict-overflow/-Wstrict-overflow from mainline: + 2007-03-11 Ian Lance Taylor <iant@google.com> + + * tree-vrp.c (vrp_int_const_binop): Handle PLUS_EXPR and + the *_DIV_EXPR codes correctly with overflow infinities. + + 2007-03-09 Ian Lance Taylor <iant@google.com> + + * opts.c (common_handle_option): Treat -Wstrict-overflow (with no + argument) like -Wstrict-overflow=2. + * doc/invoke.texi (Warning Options): Update documentation. + + 2007-03-08 Ian Lance Taylor <iant@google.com> + + * tree-vrp.c: Include "toplev.h" and "intl.h". + (usable_range_p): New static function. + (compare_values_warnv): Don't test TYPE_OVERFLOW_UNDEFINED for + overflowed values, juts set *strict_overflow_p. + (compare_values): Only return -2 if one of the operands is not a + constant. + (compare_ranges): Call usable_range_p. + (compare_range_with_value): Likewise. + (vrp_evaluate_conditional_warnv): Rename from + vrp_evaluate_conditional. Make static. Change all callers. + (vrp_evaluate_conditional): New function. + (simplify_div_or_mod_using_ranges): Issue warning about reliance + on signed overflow. + (simplify_abs_using_ranges): Likewise. + (simplify_stmt_for_jump_threading): Add within_stmt parameter. + * tree-ssa-dom.c (simplify_stmt_for_jump_threading): Add + within_stmt parameter. + * tree-ssa-propagate.c (fold_predicate_in): Update call to + vrp_evaluate_conditional. + * tree-ssa-threadedge.c + (record_temporary_equivalences_from_stmts_at_dest): Change + simplify parameter to take a second tree parameter. + (simplify_control_stmt_condition): Likewise. + (thread_across_edge): Likewise. + * tree-flow.h (vrp_evaluate_conditional): Update declaration. + (thread_across_edge): Likewise. + * Makefile.in (tree-vrp.o): Depend upon toplev.h and intl.h. + + 2007-03-05 Ian Lance Taylor <iant@google.com> + + * tree-vrp.c (extract_range_from_assert): Don't try to handle a + half-range if the other side is an overflow infinity. + + 2007-03-02 Ian Lance Taylor <iant@google.com> + + Used signed infinities in VRP. + * tree-vrp.c (uses_overflow_infinity): New static function. + (supports_overflow_infinity): New static function. + (make_overflow_infinity): New static function. + (negative_overflow_infinity): New static function. + (positive_overflow_infinity): New static function. + (is_negative_overflow_infinity): New static function. + (is_positive_overflow_infinity): New static function. + (is_overflow_infinity): New static function. + (overflow_infinity_range_p): New static function. + (compare_values_warnv): New function split out of compare_values. + (compare_value): Call it. + (set_value_range_to_nonnegative): Add overflow_infinity + parameter. Change caller. + (vrp_expr_computes_nonnegative): Add strict_overflow_p parameter. + Change callers. + (vrp_expr_computes_nonzero): Likewise. + (compare_ranges, compare_range_with_value): Likewise. + (compare_name_with_value, compare_names): Likewise. + (vrp_evaluate_conditional): Likewise. + (set_value_range): Handle infinity + (vrp_operand_equal_p, operand_less_p): Likewise. + (extract_range_from_assert): Likewise. + (vrp_int_const_binop): Likewise. + (extract_range_from_binary_expr): Likewise. + (extract_range_from_unary_expr): Likewise. + (extract_range_from_comparison): Likewise. + (extract_range_from_expr): Likewise. + (dump_value_range): Likewise. + (vrp_visit_cond_stmt, vrp_visit_phi_node): Likewise. + (test_for_singularity): Likewise. + (vrp_int_const_binop): Remove inline qualifier. + (adjust_range_with_scev): Add comment. + * tree-flow.h (vrp_evaluate_conditional): Update declaration. + + 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-01-27 Ian Lance Taylor <iant@google.com> + + * common.opt: Add fstrict-overflow. + * opts.c (decode_options): Set flag_strict_overflow if -O2. + * flags.h (TYPE_OVERFLOW_WRAPS): Define. + (TYPE_OVERFLOW_UNDEFINED): Define. + (TYPE_OVERFLOW_TRAPS): Define. This replaces TYPE_TRAP_SIGNED. + Replace all uses. + * tree.h (TYPE_TRAP_SIGNED): Don't define. + * fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_UNDEFINED. + (fold_negate_expr): Likewise. + (make_range): Likewise. + (extract_muldiv_1): Likewise. + (fold_comparison): Likewise. + (fold_binary): Likewise. + (tree_expr_nonnegative_p): Likewise. + (tree_expr_nonzero_p): Likewise. + * tree-vrp.c (compare_values): Likewise. + (extract_range_from_binary_expr): Likewise. + (extract_range_from_unary_expr): Likewise. + * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): + Likewise. + (nowrap_type_p): Likewise. + * tree-scalar-evolution.c (simple_iv): Likewise. + * fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_WRAPS. + (build_range_check): Likewise. + (extract_muldiv_1): Likewise. + (fold_comparison): Likewise. + * tree-vrp.c (vrp_int_const_binop): Likewise. + (extract_range_from_unary_expr): Likewise. + * convert.c (convert_to_integer): Likewise. + * fold-const.c (fold_negate_expr): Use TYPE_OVERFLOW_TRAPS. + (fold_comparison): Likewise. + (fold_binary): Likewise. + * optabs.c (optab_for_tree_code): Likewise. + * tree-vectorizer.c (vect_is_simple_reduction): Likewise. + * simplify-rtx.c (simplify_const_relational_operation): Check + flag_strict_overflow and flag_trapv. + (simplify_const_relational_operation): Likewise. + * doc/invoke.texi (Option Summary): Mention -fstrict-overflow. + (Optimize Options): Add -fstrict-overflow to -O2 list. Document + -fstrict-overflow. + + 2007-01-17 Ian Lance Taylor <iant@google.com> + + * vec.h (VEC_reserve_exact): Define. + (vec_gc_p_reserve_exact): Declare. + (vec_gc_o_reserve_exact): Declare. + (vec_heap_p_reserve_exact): Declare. + (vec_heap_o_reserve_exact): Declare. + (VEC_OP (T,A,reserve_exact)): New static inline function, three + versions. + (VEC_OP (T,A,reserve)) [all versions]: Remove handling of + negative parameter. + (VEC_OP (T,A,alloc)) [all versions]: Call ...reserve_exact. + (VEC_OP (T,A,copy)) [all versions]: Likewise. + (VEC_OP (T,a,safe_grow)) [all versions]: Likewise. + * vec.c (calculate_allocation): Add exact parameter. Change all + callers. + (vec_gc_o_reserve_1): New static function, from vec_gc_o_reserve. + (vec_gc_p_reserve, vec_gc_o_reserve): Call vec_gc_o_reserve_1. + (vec_gc_p_reserve_exact, vec_gc_o_reserve_exact): New functions. + (vec_heap_o_reserve_1): New static function, from vec_heap_o_reserve. + (vec_heap_p_reserve, vec_heap_o_reserve): Call vec_heap_o_reserve_1. + (vec_heap_p_reserve_exact): New function. + (vec_heap_o_reserve_exact): New function. + +2007-03-11 Roger Sayle <roger@eyesopen.com> + Andrew Pinski <andrew_pinski@playstation.sony.com> + + PR middle-end/30433 + * fold-const.c (fold_relational_const): Add back compile-time + evaluation of complex constant equality/inequality comparisons. + +2007-03-11 Ira Rosen <irar@il.ibm.com> + + PR tree-optimization/29925 + * tree-data-ref.c (analyze_offset): Add a return value (bool) to + indicate success/failure of the analysis. Add negation to subtrahend + in case of subtraction. Fail if both operands contain constants. + (create_data_ref): Fail if analyze_offset fails. + +2007-03-10 Mark Mitchell <mark@codesourcery.com> + + PR c++/30924 + * tree.c (walk_type_fields): Recurse into the element type of + ARRAY_TYPEs if there is a pointer set. + +2007-03-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + * pa.c (attr_length_call): Revise condition for long pc-relative branch. + (output_call): Use "LONG_PIC_SDIFF" instruction sequence for long local + calls on the SOM target. Don't use "LONG_PIC_PCREL" call sequence on + SOM target. + +2007-03-09 Richard Henderson <rth@redhat.com> + + PR target/26090 + * target.h (targetm.asm.out.reloc_rw_mask): New. + * target-def.h (TARGET_ASM_RELOC_RW_MASK): New. + (TARGET_ASM_OUT): Use it. + * targhooks.c, targhooks.h (default_reloc_rw_mask): New. + * varasm.c (categorize_decl_for_section): Remove shlib argument; + use the new reloc_rw_mask target hook instead. + (default_section_type_flags_1): Merge into... + (default_section_type_flags): ... here. + (decl_readonly_section_1): Merge into... + (decl_readonly_section): ... here. + (default_elf_select_section_1): Merge into... + (default_elf_select_section): ... here. + (default_unique_section_1): Merge into... + (default_unique_section): ... here. + (compute_reloc_for_rtx_1, compute_reloc_for_rtx): New. + (default_select_rtx_section): Use it. + (default_elf_select_rtx_section): Likewise. + * output.h: Update to match. + * doc/tm.texi (TARGET_ASM_RELOC_RW_MASK): New. + * config/alpha/alpha.c (alpha_elf_reloc_rw_mask): New. + (TARGET_ASM_RELOC_RW_MASK): New. + * config/i386/i386.c (x86_64_elf_select_section): Adjust call + to categorize_decl_for_section. + (x86_64_elf_unique_section): Likewise. + * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION, + TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Remove. + (TARGET_ASM_RELOC_RW_MASK): New. + * config/ia64/ia64.c (ia64_rwreloc_select_section, + ia64_rwreloc_unique_section, ia64_rwreloc_select_rtx_section): Remove. + (ia64_hpux_reloc_rw_mask, ia64_reloc_rw_mask): New. + (TARGET_RWRELOC): Remove. + (ia64_section_type_flags): Adjust call to default_section_type_flags. + * config/ia64/sysv4.h (TARGET_ASM_RELOC_RW_MASK): New. + * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Remove. + (rs6000_elf_select_section, rs6000_elf_unique_section): Remove. + (rs6000_elf_reloc_rw_mask, rs6000_xcoff_reloc_rw_mask): New. + (rs6000_xcoff_select_section): Use decl_readonly_section. + (rs6000_xcoff_section_type_flags): Use default_section_type_flags. + * config/rs6000/sysv4.h (TARGET_ASM_RELOC_RW_MASK): New. + (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): Remove. + (TARGET_SECTION_TYPE_FLAGS): Remove. + * config/rs6000/xcoff.h (TARGET_ASM_RELOC_RW_MASK): New. + +2007-03-08 Geoffrey Keating <geoffk@apple.com> + + PR 31013 + * gccspec.c (lang_specific_driver): Do nothing when NEXT_OBJC_RUNTIME + is declared. + * config/darwin.h (REAL_LIBGCC_SPEC): When -fgnu-runtime is + passed, use shared libgcc. + +2007-03-09 Alexandre Oliva <aoliva@redhat.com> + + PR rtl-optimization/30643 + * cse.c (cse_insn): Recompute dest_hash after insert_regs for + dest_addr_elt. + +2007-03-09 Andrew Pinski <andrew_pinski@playstation.sony.com> + + PR tree-opt/30045 + * tree-vrp.c (nonnull_arg_p): Treat the static decl as always + non null. + +2007-03-09 Andrew Pinski <andrew_pinski@playstation.sony.com> + + PR middle-end/30729 + * stmt.c (warn_if_unused_value): VA_ARG_EXPR has side + effects unknown to this function, return early. + +2007-03-09 Andrew Pinski <andrew_pinski@playstation.sony.com> + + PR tree-opt/28624 + * tree-ssa-dom.c (eliminate_degenerate_phis): Use a temporary + bitmap for EXECUTE_IF_SET_IN_BITMAP. + +2006-03-09 Mark Shinwell <shinwell@codesourcery.com> + Andrew MacLeod <amacleod@redhat.com> + PR tree-optimization/29877 + * tree-outof-ssa.c (check_replaceable): Don't allow TER to replace + an expression if the RHS is a register variable. + +2007-03-08 Andrew Pinski <andrew_pinski@playstation.sony.com> + + PR C/31072 + * c-decl.c (merge_decls): Don't call make_var_volatile. + * varasm.c (make_var_volatile): Remove. + * output.h (make_var_volatile): Remove. + +2007-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * builtins.def (lceil, lceilf, lceill, lfloor, lfloorf, lfloorl, + llceil, llceilf, llceill, llfloor, llfloorf, llfloorl): Mark with + ATTR_CONST_NOTHROW_LIST. + + * fold-const.c (tree_expr_nonnegative_p): Handle FIX_TRUNC_EXPR. + +2007-03-08 Andrew Pinski <andrew_pinski@playstation.sony.com> + + PR target/30406 + * config/rs6000/rs6000.c (rs6000_function_value): Look at bit size + instead of precision. + +2007-03-08 Volker Reichelt <reichelt@netcologne.de> + + PR c++/30852 + * c-common.c (fold_offsetof_1): Handle COMPOUND_EXPR. + +2007-03-07 Manuel Lopez-Ibanez <manu@gcc.gnu.org> + + * c.opt (Waddress): New. + * common.opt (Walways-true): Delete. + (Wstring-literal-comparison): Delete. + * doc/invoke.texi (Warning Options): Delete -Walways-true and + -Wstring-literal-comparison. Add -Waddress. + (Waddress): New. + (Walways-true): Delete. + (Wstring-literal-comparison): Delete. + * doc/extend.texi (#pragma GCC diagnostic): Use -Wformat + consistently instead of -Walways-true in example. + * c-opts.c (c_common_handle_option): -Waddress is enabled by -Wall. + * c-typeck.c (parser_build_binary_op): Replace + -Wstring-literal-comparison and -Walways-true with -Waddress. + (build_binary_op): Likewise. + * c-common.c (c_common_truthvalue_conversion): Likewise. + +2007-03-07 Richard Henderson <rth@redhat.com> + + PR target/30848 + * reg-stack.c (emit_swap_insn): If a malformed asm was seen, + silently fix up the stack in the case of a missing register. + +2007-03-06 David Daney <ddaney@avtrex.com> + + * doc/install.texi (mips-*-*): Change recommended binutils + version. + +2007-03-06 Manuel Lopez-Ibanez <manu@gcc.gnu.org> + + * doc/invoke.texi (Warning Options): Replace -Werror- with + -Werror=. + * opts.c (common_handle_option): Likewise. + +2007-03-06 Anatoly Sokolov <aesok@post.ru> + + * config/avr/avr.c (avr_mcu_types): Add support for ATmega325P, + ATmega3250P, ATmega329P, ATmega3290P, AT90USB82 and AT90USB162 + devices. + * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.). + * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.). + +2007-03-06 Roger Sayle <roger@eyesopen.com> + + PR middle-end/30744 + * fold-const.c (fold_binary) <EQ_EXPR>: Enforce type consistency + when transforming ~X op C to X op' ~C. + +2007-03-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + * pa.md: In unamed move patterns, disparge copies between general + and floating point registers using '?' modifier. Don't include 'f' + constraint for register preferences in DImode, SImode, HImode and + QImode patterns. Likewise for 'r' in DFmode and SFmode patterns. + Remove constraints for copies between general and floating registers + in soft-float DFmode pattern. + (movdf): Fail if operand1 is a CONST_DOUBLE and operand0 is a hard + floating register. + (movsf): Likewise. + +2007-03-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * convert.c (convert_to_integer): Fix nearbyint/rint -> *lrint + conversion. + +2007-03-05 Steve Ellcey <sje@cup.hp.com> + + Backported from mainline + PR debug/29614 + * cgraph.h (cgraph_varpool_last_needed_node): Make global. + * cgraph.c (cgraph_varpool_last_needed_node): Ditto. + * cgraphunit.c (cgraph_varpool_assemble_pending_decls): + Set cgraph_varpool_last_needed_node to NULL. + +2007/03/05 David Taylor <dtaylor@emc.com> + + PR 31050 + * gcc.c: Correct copyright date in --version output. + +2007-03-05 Brooks Moses <brooks.moses@codesourcery.com> + + * c.opt: Remove -ffixed-form, -ffixed-line-length-none, and + -ffixed-line-length-* options. + +2007-03-05 David Edelsohn <edelsohn@gnu.ogr> + + * config/rs6000/t-ppccomm: Always build libgcc2 for GNU/Linux + with -mlong-double-128, except SPE. + + * config/rs6000/darwin-ldouble.c: Only build new functions for + __LONG_DOUBLE_128__. + + Backport from mainline: + 2007-01-16 David Edelsohn <edelsohn@gnu.org> + + * config/rs6000/darwin-ldouble.c: Build file for SOFT_FLOAT. + (strong_alias): Define. + (__gcc_qmul): Provide non-FMA for soft-float. + (__gcc_qdiv): Same. + (__gcc_qneg): New. + (__gcc_qeq): New. + (__gcc_qle): New. + (__gcc_qge): New. + (__gcc_qunord): New. + (__gcc_stoq): New. + (__gcc_dtoq): New. + (__gcc_qtos): New. + (__gcc_qtod): New. + (__gcc_qtoi): New. + (__gcc_qtou): New. + (__gcc_itoq): New. + (__gcc_utoq): New. + (fmsub): New. + * config/rs6000/rs6000.c (rs6000_init_libfuncs): Initialize + soft-float functions. + * config/rs6000/libgcc-ppc-glibc.ver: Version soft-float symbols. + * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Do not warn + about long double soft float. + +2007-03-05 Richard Guenther <rguenther@suse.de> + + Backport from mainline: + 2007-02-28 Richard Guenther <rguenther@suse.de> + + PR middle-end/30364 + * fold-const.c (fold_binary): Do not associate expressions + with more than one variable for integer types that do not wrap. + +2007-03-04 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/26797 + * doc/invoke.texi (-O2): Document that Tree-VRP is not turned on + for the Ada compiler. + +2007-03-02 Zdenek Dvorak <dvorakz@suse.cz> + + PR tree-optimization/29902 + * tree-ssa-loop-manip.c (can_unroll_loop_p): Return false if + any involved ssa name appears in abnormal phi node. + +2007-03-02 Eric Botcazou <ebotcazou@adacore.com> + + * tree-sra.c (sra_walk_fns) <ldst>: Document new restriction. + (sra_walk_modify_expr) <rhs_elt>: Treat the reference as a use + if the lhs has side-effects. + <lhs_elt>: Treat the reference as a use if the rhs has side-effects. + +2007-03-02 Paul Brook <paul@codesourcery.com> + + * config/arm/arm.c (arm_legitimate_index_p): Limit iWMMXt addressing + modes to LDRD for DImode. + (output_move_double): Fixup out of range ldrd/strd. + (vfp_secondary_reload_class): Rename... + (coproc_secondary_reload_class): ... to this. Add wb argument. + * config/arm/arm.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use + coproc_secondary_reload_class for CLASS_IWMMXT. + (SECONDARY_INPUT_RELOAD_CLASS): Ditto. + * arm-protos.h (coproc_secondary_reload_class): Update prototype. + +2007-03-02 Eric Botcazou <ebotcazou@adacore.com> + + * config/alpha/alpha.c (alpha_gp_save_rtx): Insert the insns at the + entry by means of emit_insn_at_entry. + +2007-03-01 Manuel Lopez-Ibanez <manu@gcc.gnu.org> + + * doc/invoke.texi (Wextra): Delete outdated paragraph. + +2007-02-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + * pa/predicates.md (move_src_operand): Allow zero for mode. + * pa/pa.md: Fix constraints for zero CONST_DOUBLE in 64-bit DFmode + move pattern. + +2007-02-27 Mike Stump <mrs@apple.com> + + * config/darwin-crt3.c: Avoid compilation when compiling for a + kext multilib. + +2007-02-27 Andreas Schwab <schwab@suse.de> + + * Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-common.texi. + +2007-02-26 Brooks Moses <brooks.moses@codesourcery.com> + + * Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-vers.texi dependency. + +2007-02-26 Brooks Moses <brooks.moses@codesourcery.com> + + * doc/include/gcc-common.texi (versionsubtitle): New macro. + * doc/cpp.texi: Standardize title page. + * doc/cppinternals.texi: Likewise. + * doc/gcc.texi: Standardize title page, remove version number + from copyright page. + * doc/gccint.texi: Likewise. + * doc/install.texi: Standardize title page, add table of + contents. + +2007-02-24 Mike Stump <mrs@apple.com> + + * config/i386/i386.c (output_pic_addr_const): Stubify optimized + symbols. + +2007-02-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + * pa.md (muldi3): Force subregs to registers in 64-bit expander. + +2007-02-23 Mike Stump <mrs@apple.com> + + * tlink.c (scan_linker_output): Parse linker messages from + darwin9's linker better. + +2007-02-21 Ira Rosen <irar@il.ibm.com> + + * tree-ssa-alias.c: Include pointer-set.h + * Makefile.in (tree-ssa-alias.o): Depend on pointer-set.h. + +2007-02-21 Jakub Jelinek <jakub@redhat.com> + + Backported from mainline + 2006-12-20 Andrew Pinski <pinskia@gmail.com> + PR middle-end/30143 + * omp-low.c (init_tmp_var): New function. + (save_tmp_var): New function. + (lower_omp_1): Use them for VAR_DECL. + +2007-02-20 Alan Modra <amodra@bigpond.net.au> + + PR target/29943 + * varasm.c (use_blocks_for_decl_p): Return false for decls with + alias attribute. + +2007-02-19 Eric Botcazou <ebotcazou@adacore.com> + + * gimplify.c (gimplify_init_ctor_preeval_1): Detect potential overlap + due to calls to functions taking pointers as parameters. + +2007-02-19 Richard Henderson <rth@redhat.com> + + PR debug/29558 + * var-tracking.c (track_expr_p): Disallow AGGREGATE_TYPE_P + in memory. + +2007-02-18 Eric Botcazou <ebotcazou@adacore.com> + + * tree-eh.c (tree_could_trap_p): Handle VIEW_CONVERT_EXPR. + +2007-02-18 Eric Botcazou <ebotcazou@adacore.com> + + * calls.c (mem_overlaps_already_clobbered_arg_p): Return true + for arg pointer based indexed addressing. + +2007-02-18 Ira Rosen <irar@il.ibm.com> + + * tree-ssa-alias.c (may_aliases_intersect): New function. + * tree-data-ref.c (ptr_ptr_may_alias_p): Call may_aliases_intersect + for different tags. + * tree-flow.h (may_aliases_intersect): Add function declaration. + +2007-02-17 Alexandre Oliva <aoliva@redhat.com> + + PR tree-optimization/30823 + * tree-sra.c (sra_build_assignment): Drop type-checking assert. + +2007-02-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + PR other/27843 + * Makefile.in (SYSTEM_HEADER_DIR): Use single quotes to avoid + nested double- and backquotes. + +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 Kaz Kojima <kkojima@gcc.gnu.org> + + PR rtl-optimization/29599 + Backport from mainline. + * reload1.c (eliminate_regs_in_insn): Take the destination + mode into account when computing the offset. + +2007-02-13 Joseph S. Myers <joseph@codesourcery.com> + + * doc/invoke.texi, doc/standards.texi: Refer to + gcc-4.2/c99status.html. + +2007-02-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + PR target/30634 + * pa.md (movdf): For 64-bit target, fail if operand 1 is a non-zero + CONST_DOUBLE and operand 0 is a hard register. + (movdi): For 64-bit target, remove code to force CONST_DOUBLE to + memory. Fail if operand 1 is a non-zero CONST_INT and operand 0 + is a hard floating-point register. + +2007-02-06 Mark Mitchell <mark@codesourcery.com> + + PR target/29487 + * tree.h (DECL_REPLACEABLE_P): New macro. + * except.c (set_nothrow_function_flags): Likewise. + +2007-02-07 Jakub Jelinek <jakub@redhat.com> + + PR c++/30703 + * gimplify.c (gimplify_scan_omp_clauses): Remove special casing + of INDIRECT_REF <RESULT_DECL>. + +2007-02-06 Rask Ingemann Lamberisen <rask@sygehus.dk> + + PR 30370 + * config/rs6000/t-ppccomm: Correct Makefile typo. + +2007-02-06 Roger Sayle <roger@eyesopen.com> + + PR libgomp/28296 + Backport from mainline. + * config/darwin.h (CPP_SPEC): Handle -pthread, transforming + it into -D_REENTRANT. + +2007-02-05 Alexandre Oliva <aoliva@redhat.com> + + PR debug/30189 + * dwarf2out.c (modified_type_die): Follow DECL_ORIGINAL_TYPE + even if cv-qualification is the same. + +2007-02-05 Geoffrey Keating <geoffk@apple.com> + + * config/rs6000/darwin-tramp.asm (__trampoline_setup): Call + __enable_execute_stack on completion. + +2007-02-05 Bob Wilson <bob.wilson@acm.org> + + * config/xtensa/xtensa.c (constantpool_mem_p): Skip over SUBREGs. + +2007-02-02 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> + + PR target/29682 + * config/ia64/ia64.c (ia64_speculate_insn): Restrict to memory loads to + general or fp registers. Add comments. + * config/ia64/ia64.md (reg_pred_prefix): Add comment. + +2007-02-04 Richard Guenther <rguenther@suse.de> + + Backport from mainline: + 2007-01-30 Richard Guenther <rguenther@suse.de> + + PR middle-end/27657 + * dwarf2out.c (reference_to_unused): Query varpool if the + variable was output. + +2007-02-02 Mike Stump <mrs@apple.com> + + * config.gcc (*-*-darwin*): Backport darwin9.h bits. + * config/darwin9.h: Add. + * config/rs6000/rs6000.c (DARWIN_GENERATE_ISLANDS): Add. + (output_call): Use DARWIN_GENERATE_ISLANDS to decide when to + generate a branch island. + +2007-02-02 Hui-May Chang <hm.chang@apple.com> + + Revert for x86 darwin: + 2005-06-19 Uros Bizjak <uros@kss-loka.si> + + * config/i386/i386.c (ix86_function_arg_regno_p): Put back the + code before the following patch under TARGET_MACHO. + (ix86_function_value_regno_p): Likewise. + +2007-02-02 Simon Martin <simartin@users.sourceforge.net> + + PR c++/28266 + * gimplify.c (gimplify_target_expr): Make sure that the TARGET_EXPR is + expanded only once even if an error occurs. + +2007-02-02 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/30473 + * builtins.c (fold_builtin_sprintf): Do not attempt to optimize + sprintf (str, "%s"). Do not optimize sprintf (str, "nopercent", p++). + +2007-02-01 Guy Martin <gmsoft@gentoo.org> + + * pa.md (tp_load): Correct mfctl instruction syntax. + +2007-02-01 Geoffrey Keating <geoffk@apple.com> + + * config/rs6000/rs6000.c (rs6000_stack_info): Correct + altivec_padding_size calculation on AIX. Improve comment, add + assert to verify that it's right. + +2007-01-31 Anatoly Sokolov <aesok@post.ru> + + PR target/19087 + * config/avr/avr.c (DWARF2_ADDR_SIZE): Define. + +2007-01-30 Richard Guenther <rguenther@suse.de> + + PR middle-end/30313 + * passes.c (execute_one_pass): Reset in_gimple_form to not + confuse non-unit-at-a-time mode. + +2007-01-27 Anatoly Sokolov <aesok@post.ru> + + * config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Define __AVR_HAVE_MUL__. + +2007-01-29 Mike Stump <mrs@apple.com> + + * doc/gccint.texi (Top): Rename Loop Representation to Loop + Analysis and Representation to resolve case insensitive conflict. + * doc/loop.texi (Loop Analysis and Representation): Likewise. + +2007-01-29 Josh Conner <jconner@apple.com> + + PR middle-end/29683 + * calls.c (compute_argument_addresses): Set stack and stack_slot + for partial args, too. + (store_one_arg): Use locate.size.constant for the size when + generating a save_area. + +2007-01-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * doc/sourcebuild.texi: Add comma for clarity. + * doc/extend.texi: Fix some typos. + * doc/passes.texi: Likewise. + * doc/cppinternals.texi: Likewise. + * doc/c-tree.texi: Likewise. + * doc/tree-ssa.texi: Likewise. + * doc/install.texi: Likewise. + +2007-01-26 Zdenek Dvorak <dvorakz@suse.cz> + + PR tree-optimization/29516 + * tree-ssa-address.c (tree_mem_ref_addr, add_to_parts, + most_expensive_mult_to_index, addr_to_parts, + create_mem_ref, maybe_fold_tmr): Make the type of + fields of TARGET_MEM_REF sizetype. + (move_fixed_address_to_symbol, move_pointer_to_base, + aff_combination_remove_elt): New functions. + * tree.def (TARGET_MEM_REF): Add comment on types of + the operands. + * gcc.dg/tree-ssa/loop-20.c: New test. + +2007-01-25 Geoffrey Keating <geoffk@apple.com> + + PR 25127 + * config/rs6000/rs6000.c (first_altivec_reg_to_save): On Darwin, + save Altivec registers in an eh_return function. + (compute_vrsave_mask): Likewise. + (rs6000_stack_info): Correct AIX/Darwin stack alignment computation + for saving Altivec registers. + (rs6000_emit_prologue): Don't allocate stack twice in + eh_return function. Correct expected value of altivec_save_offset + when using save_world. Describe save of R0 to stack when using + save_world. Describe stack pointer adjustment when using + save_world. Remove duplicated eh_return parameter register saving. + Update sp_offset variable after save_world. + * config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA): Remove + darwin-world.asm. + (LIB2FUNCS_EXTRA): Add darwin-world.asm. + * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): -m64 + implies Altivec. + +2007-01-24 Geoffrey Keating <geoffk@apple.com> + + * unwind-dw2.c (execute_stack_op): Handle DW_OP_swap. + +2007-01-24 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/27416 + * gimplify.c (omp_check_private): New function. + (gimplify_scan_omp_clauses): Use it for + firstprivate/lastprivate/reduction. + + PR middle-end/30494 + * gimplify.c (omp_add_variable): Don't call omp_notice_variable + on TYPE_SIZE_UNIT for GOVD_LOCAL VLAs. + + PR middle-end/30421 + * omp-low.c (lower_omp_for_lastprivate): Add dlist argument. + If lower_lastprivate_clauses emits some statements, append them + to dlist rather than body_p and to body_p append an initializer. + (lower_omp_for): Adjust caller. + +2007-01-21 Eric Botcazou <ebotcazou@libertysurf.fr> + + PR rtl-optimization/29329 + * combine.c (replaced_rhs_insn): Rename to i2mod. + (replaced_rhs_value): Rename to i2mod_new_rhs. + (i2mod_old_rhs): New global variable. + (combine_instructions): Adjust for above change. Save a copy of + the old RHS into i2mod_old_rhs when the contents of a REG_EQUAL + note are substituted in the second instruction. + (distribute_notes) <REG_DEAD>: Adjust for above change. Do not + ditch the note if it pertains to the second eliminated register + and this register is mentioned in i2mod_old_rhs. + + Revert: + 2006-09-12 Eric Botcazou <ebotcazou@libertysurf.fr> + + * combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past + the insn to which the note was originally attached. + +2007-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + * pa.c (output_move_double): Change array size of xoperands to 4. + +2007-01-17 Eric Christopher <echristo@apple.com> + + Backport from mainline: + 2006-12-18 Roger Sayle <roger@eyesopen.com> + Eric Christopher <echristo@apple.com> + + PR target/29302 + * real.c (real_maxval): Correctly handle IBM extended double format. + +2007-01-17 Tom Tromey <tromey@redhat.com> + + * doc/sourcebuild.texi (libgcj Tests): Use sourceware.org. + * doc/install.texi (Testing): Use sourceware.org. + (Binaries): Likewise. + (Specific): Likewise. + * doc/contrib.texi (Contributors): Use sourceware.org. + +2007-01-15 Joseph S. Myers <joseph@codesourcery.com> + + * config/soft-fp/op-common.h, config/soft-fp/op-4.h: Update from + glibc CVS. + +2007-01-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + * pa-linux.h (ASM_OUTPUT_INTERNAL_LABEL): Undefine. + * pa.h (ASM_OUTPUT_LABEL): Output colon when using GAS. + (ASM_OUTPUT_INTERNAL_LABEL): Define. + +2007-01-10 Ralf Corsépius <ralf.corsepius@rtems.org> + + * config/bfin/t-bfin, config/bfin/t-bfin-elf: Remove GCC_CFLAGS. + +2007-01-09 Nicolas Pitre <nico@cam.org> + + PR target/30173 + * arm/ieee754-df.S (Lad_s): Also test the low word of X for zero. + +2007-01-08 Nick Clifton <nickc@redhat.com> + + * config/frv/predicates.md (reg_or_0_operand): Accept + CONST_DOUBLEs. + +2007-01-08 Ralf Corsépius <ralf.corsepius@rtems.org> + + * config/bfin/rtems.h, config/bfin/t-rtems: New. + * config.gcc: Add bfin*-rtems*. + +2007-01-08 Chen liqin <liqin@sunnorth.com.cn> + * config/score/t-score-elf (MULTILIB_OPTIONS): Change. + * config/score/predicates.md (const_uimm5, sr0_operand, const_simm12, + const_simm15, const_pow2, const_npow2): Added. + * config/score/misc.md (insv, extv, extzv, movmemsi, + move_lbu_a/b, mov_lhu_a/b etc): Added and fix some bug. + * config/score/score.c (score_address_cost, score_select_cc_mode): + Added. + Change CONST_OK_FOR_LETTER_P/EXTRA_CONSTRAINT define. + Update score_rtx_costs for MACRO TARGET_RTX_COSTS. + Update score_print_operand. + * config/score/score.h (DATA_ALIGNMENT, SELECT_CC_MODE): Added. + Adjust register allocate order and update some macro define. + * config/score/score-mdaux.c (mdx_unaligned_load, mdx_unsigned_store, + mdx_block_move_straight, mdx_block_move_loop_head, + mdx_block_move_loop_body, mdx_block_move_loop_foot, mdx_block_move_loop, + mdx_block_move): Added. + (mdx_movsicc, mdp_select_add_imm, mdp_select, mds_zero_extract_andi, + mdp_limm): Updated and fix some bug and typo. + * config/score/score.md (movqi/hi/si, add/sub/zero/ext): Updated. + (movsf, movdf, doloop_end): Added. + +2007-01-05 Richard Guenther <rguenther@suse.de> + + PR middle-end/27826 + * tree.c (get_narrower): Do not construct COMPONENT_REFs + with mismatched types. Instead explicitly build a + conversion NOP_EXPR. + +2007-01-05 Jakub Jelinek <jakub@redhat.com> + + PR c/30360 + * libgcc2.c (__divdc3): Compare c and d against 0.0 instead of + denom against 0.0. + +2007-01-03 Jakub Jelinek <jakub@redhat.com> + + * unwind-dw2.c (SIGNAL_FRAME_BIT, EXTENDED_CONTEXT_BIT): Define. + (struct _Unwind_Context): Rename args_size to flags, remove + signal_frame field, add a new args_size field and version field. + (_Unwind_IsSignalFrame, _Unwind_SetSignalFrame, + _Unwind_IsExtendedContext): New inline functions. + (_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr): + Assume by_value array is only present if _Unwind_IsExtendedContext. + (_Unwind_GetIPInfo, execute_cfa_program, uw_frame_state_for): Use + _Unwind_IsSignalFrame. + (__frame_state_for): Initialize context.flags to EXTENDED_CONTEXT_BIT. + (uw_update_context_1): Use _Unwind_SetSignalFrame. + (uw_init_context_1): Initialize context->flags to + EXTENDED_CONTEXT_BIT. + * config/rs6000/linux-unwind.h (frob_update_context): Use + _Unwind_SetSignalFrame. + +2007-01-01 Mike Stump <mrs@apple.com> + + * configure.ac: Remove support for building with Apple's gcc-3.1. + +2007-01-01 Andreas Schwab <schwab@suse.de> + + PR target/29166 + * config/ia64/ia64.c (ia64_compute_frame_size): Account space for + save of BR0 in extra_spill_size instead of spill_size. + (ia64_expand_prologue): Save BR0 outside of the gr/br/fr spill + area. + (ia64_expand_epilogue): Restore BR0 from its new location. |