X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2FChangeLog;h=ccab5aceb3a8f29c3c290561040641b98669c0fe;hb=4dd3321dedbb3624293437e22e45235ed1e84531;hp=27f877faf647efb79f216c1fc90ece6edfd5d871;hpb=c25f268925f51315b4dea284813362bd44a7ffcd;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 27f877faf64..ccab5aceb3a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,687 @@ +2009-09-23 Jakub Jelinek + Jan Hubicka + + * dwarf2out.c (loc_list_plus_const): Only define if + DWARF2_DEBUGGING_INFO. + (address_of_int_loc_descriptor): Likewise. + + PR debug/41411 + * dwarf2out.c (mem_loc_descriptor): Handle HIGH. + +2009-09-23 Uros Bizjak + + PR c/39779 + * c-typeck.c (build_binary_op) : Check that integer + constant is more than zero. + +2009-09-23 Alan Modra + + PR target/40473 + * config/rs6000/rs6000.c (rs6000_output_function_prologue): Don't + call final to emit non-scheduled prologue, instead insert at entry. + +2009-09-22 Loren J. Rittle + Joseph S. Myers + + * doc/install.texi (*-*-freebsd*): Add proper format codes. + +2009-09-22 Basile Starynkevitch + Rafael Avila de Espindola + + * gengtype.c (is_file_equal): New function. + (close_output_files): Use is_file_equal. Free of->buf. + +2009-09-22 Basile Starynkevitch + Rafael Avila de Espindola + + * gengtype.c (write_types, write_local): Add the output_header + argument. Update all callers. + +2009-09-22 Dodji Seketeli + + * dwarf2out.c (template_parameter_pack_die, + gen_formal_parameter_pack_die ): New functions. + (make_ith_pack_parameter_name): Remove this function. + (dwarf_tag_name): Support printing DW_TAG_template_parameter_pack and + DW_TAG_formal_parameter_pack. + (gen_generic_params_dies): Represent each template parameter pack + by a DW_TAG_template_parameter_pack DIE. Argument pack elements are + represented by usual DW_TAG_template_*_parameter DIEs that are + children of the DW_TAG_template_parameter_pack element DIE. + (generic_parameter_die): This doesn't deal with parameter pack + names anymore. Don't generate DW_AT_name for some DIEs, e.g. children + of parameter pack DIEs. + (gen_formal_parameter_die): Add a flag to not emit DW_AT_name + in certain cases, e.g. for pack elements. + (gen_formal_types_die, gen_decl_die): Adjust usage of + gen_formal_parameter_die. + (gen_subprogram_die): Represent each function parameter pack by a + DW_TAG_formal_parameter_pack DIE. Arguments of of the pack are + represented by usual DW_TAG_formal_parameter DIEs that are children + of the DW_TAG_formal_parameter_pack DIE. Remove references to + ____builtin_va_alist decls as no part of the compiler uses those + anymore. + * langhooks.h (struct lang_hooks_for_decls): Add + function_parm_expanded_from_pack_p, get_generic_function_decl + and function_parameter_pack_p hooks. Fix comment for + get_innermost_generic_parms hook. + * langhooks-def.h (LANG_HOOKS_FUNCTION_PARAMETER_PACK_P, + LANG_HOOKS_FUNCTION_PARM_EXPANDED_FROM_PACK_P ): Declare new hook + macros and use them to initialize lang_hook. + +2009-09-22 Richard Henderson + + * system.h (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Poison. + (TRAMPOLINE_ADJUST_ADDRESS): Poison. + * target-def.h (TARGET_ASM_TRAMPOLINE_TEMPLATE): Don't conditionalize + on TRAMPOLINE_TEMPLATE. + (TARGET_TRAMPOLINE_ADJUST_ADDRESS): Don't conditionalize on + TRAMPOLINE_ADJUST_ADDRESS. + * targhooks.c (default_asm_trampoline_template): Remove. + (default_trampoline_adjust_address): Remove. + (default_trampoline_init): Don't handle INITIALIZE_TRAMPOLINE. + * targhooks.h: Update decls. + +2009-09-22 Dave Korn + + * config/i386/cygming.h (TARGET_USE_JCR_SECTION): Enable. + * config/i386/cygwin.h (LIBGCJ_SONAME): Define. + * config/i386/mingw32.h (LIBGCJ_SONAME): Likewise. + +2009-09-22 Alexandre Oliva + + PR debug/41295 + * reload1.c (reload): Reset debug insns with pseudos without + equivalences. + +2009-09-22 Neil Vachharajani + + * testsuite/gcc.dg/pr40209.c: Add test case. + +2009-09-22 Janis Johnson + + * config/i386/i386.c (ix86_scalar_mode_supported_p): Don't return + unconditional true for decimal float modes. + * config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Ditto. + * config/s390/s390.c (s390_scalar_mode_supported_p): Ditto. + +2009-09-22 Loren J. Rittle + + * unwind-dw2-fde-glibc.c: Define and use USE_PT_GNU_EH_FRAME. + Enable a new case for __FreeBSD__ >= 7. + * crtstuff.c: Define USE_PT_GNU_EH_FRAME for __FreeBSD__ >= 7. + * config/t-freebsd: Define LIB2ADDEH and LIB2ADDEHDEP. + * config/freebsd-spec.h: Conditionally define LINK_EH_SPEC + and USE_LD_AS_NEEDED. + + * doc/install.texi (*-*-freebsd*): Update target information. + +2009-09-22 Richard Guenther + + PR middle-end/41395 + * tree-dfa.c (get_ref_base_and_extent): Handle trailing + arrays really properly. + +2009-09-22 Richard Henderson + + PR target/41246 + * target.h (struct gcc_target): Add asm_out.trampoline_template, + calls.static_chain, calls.trampoline_init, + calls.trampoline_adjust_address. + * target-def.h (TARGET_ASM_TRAMPOLINE_TEMPLATE): New. + (TARGET_STATIC_CHAIN, TARGET_TRAMPOLINE_INIT): New. + (TARGET_TRAMPOLINE_ADJUST_ADDRESS): New. + * builtins.c (expand_builtin_setjmp_receiver): Use + targetm.calls.static_chain; only clobber registers. + (expand_builtin_init_trampoline): Use targetm.calls.trampoline_init; + set up memory attributes properly for the trampoline block. + (expand_builtin_adjust_trampoline): Use + targetm.calls.trampoline_adjust_address. + * calls.c (prepare_call_address): Add fndecl argument. Use + targetm.calls.static_chain. + * df-scan.c (df_need_static_chain_reg): Remove. + (df_get_entry_block_def_set): Use targetm.calls.static_chain; + consolodate static chain handling. + * doc/tm.texi: Document new hooks. + * emit-rtl.c (static_chain_rtx, static_chain_incoming_rtx): Remove. + (init_emit_regs): Don't initialize them. + * expr.h (prepare_call_address): Update decl. + * final.c (profile_function): Use targetm.calls.static_chain. + * function.c (expand_function_start): Likewise. + * rtl.h (static_chain_rtx, static_chain_incoming_rtx): Remove. + * stmt.c (expand_nl_goto_receiver): Use targetm.calls.static_chain; + only clobber registers. + * targhooks.c (default_static_chain): New. + (default_asm_trampoline_template, default_trampoline_init): New. + (default_trampoline_adjust_address): New. + * targhooks.h: Declare them. + * varasm.c (assemble_trampoline_template): Use + targetm.asm_out.trampoline_template. Make the memory block const + and set its size. + + * config/alpha/alpha.c (alpha_trampoline_init): Rename from + alpha_initialize_trampoline. Make static. Merge VMS parameter + differences into the TARGET_ABI_OPEN_VMS code block. + (TARGET_TRAMPOLINE_INIT): New. + * config/alpha/alpha.h (TRAMPOLINE_TEMPLATE): Remove. + (TRAMPOLINE_SECTION, INITIALIZE_TRAMPOLINE): Remove. + * config/alpha/vms.h (TRAMPOLINE_SIZE, TRAMPOLINE_ALIGNMENT): Remove. + (INITIALIZE_TRAMPOLINE): Remove. + + * config/arc/arc.h (TRAMPOLINE_ALIGNMENT): New. + (TRAMPOLINE_TEMPLATE): Merge with ... + (INITIALIZE_TRAMPOLINE): ... this and move ... + * config/arc/arc.c (arc_trampoline_init): ... here. + (TARGET_TRAMPOLINE_INIT): New. + + * config/arm/arm.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New. + (TARGET_TRAMPOLINE_INIT, TARGET_TRAMPOLINE_ADJUST_ADDRESS): New. + (arm_asm_trampoline_template): New. + (arm_trampoline_init, arm_trampoline_adjust_address): New. + * config/arm/arm.h (TRAMPOLINE_TEMPLATE, ARM_TRAMPOLINE_TEMPLATE, + THUMB2_TRAMPOLINE_TEMPLATE, THUMB1_TRAMPOLINE_TEMPLATE): Move all + code to arm_asm_trampoline_template. + (TRAMPOLINE_ADJUST_ADDRESS): Move code to + arm_trampoline_adjust_address. + (INITIALIZE_TRAMPOLINE): Move code to arm_trampoline_init; + adjust for target hook parameters. + + * config/avr/avr.h (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): + Remove. + + * config/bfin/bfin-protos.h (initialize_trampoline): Remove. + * config/bfin/bfin.c (bfin_asm_trampoline_template): New. + (bfin_trampoline_init): Rename from initialize_trampoline; + make static; update for target hook parameters. + (TARGET_ASM_TRAMPOLINE_TEMPLATE, TARGET_TRAMPOLINE_INIT): New. + * config/bfin/bfin.h (TRAMPOLINE_TEMPLATE): Move code to + bfin_asm_trampoline_template. + (INITIALIZE_TRAMPOLINE): Remove. + + * config/cris/cris.c (TARGET_ASM_TRAMPOLINE_TEMPLATE, + TARGET_TRAMPOLINE_INIT, cris_asm_trampoline_template, + cris_trampoline_init): New. + * config/cris/cris.h (TRAMPOLINE_TEMPLATE): Move code to + cris_asm_trampoline_template. + (INITIALIZE_TRAMPOLINE): Move code to cris_trampoline_init; + adjust for target hook parameters. + + * config/crx/crx.h (INITIALIZE_TRAMPOLINE): Remove. + + * config/fr30/fr30.c (TARGET_ASM_TRAMPOLINE_TEMPLATE, + TARGET_TRAMPOLINE_INIT, fr30_asm_trampoline_template, + fr30_trampoline_init): New. + * config/fr30/fr30.h (TRAMPOLINE_TEMPLATE): Move code to + fr30_asm_trampoline_template. + (INITIALIZE_TRAMPOLINE): Move code to fr30_trampoline_init; + adjust for target hook parameters. + + * config/frv/frv.c (TARGET_TRAMPOLINE_INIT): New. + (frv_trampoline_init): Rename from frv_initialize_trampoline; + make static, adjust arguments for TARGET_TRAMPOLINE_INIT hook. + * config/frv/frv.h (INITIALIZE_TRAMPOLINE): Remove. + * config/frv/frv-protos.h (frv_initialize_trampoline): Remove. + + * config/h8300/h8300.c (h8300_trampoline_init): New. + (TARGET_TRAMPOLINE_INIT): New. + * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Move code + to h8300_trampoline_init and adjust for hook parameters. + + * config/ia64/ia64-protos.h (ia64_initialize_trampoline): Remove. + * config/ia64/ia64.c (TARGET_TRAMPOLINE_INIT): New. + (ia64_trampoline_init): Rename from ia64_initialize_trampoline; + make static; adjust for hook parameters. + * config/ia64/ia64.h (INITIALIZE_TRAMPOLINE): Remove. + + * config/iq2000/iq2000.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New. + (TARGET_TRAMPOLINE_INIT): New. + (iq2000_asm_trampoline_template, iq2000_trampoline_init): New. + * config/iq2000/iq2000.h (TRAMPOLINE_TEMPLATE): Move code to + iq2000_asm_trampoline_template. + (INITIALIZE_TRAMPOLINE): Move code to iq2000_trampoline_init. + (TRAMPOLINE_CODE_SIZE): New. + (TRAMPOLINE_SIZE): Use it. + (TRAMPOLINE_ALIGNMENT): Follow Pmode. + + * config/m32c/m32c-protos.h (m32c_initialize_trampoline): Remove. + * config/m32c/m32c.c (TARGET_TRAMPOLINE_INIT): New. + (m32c_trampoline_init): Rename from m32c_initialize_trampoline; + adjust for hook parameters. + * config/m32c/m32c.h (INITIALIZE_TRAMPOLINE): Remove. + + * config/m32r/m32r.c (TARGET_TRAMPOLINE_INIT): New. + (m32r_trampoline_init): New. + * config/m32r/m32r.h (INITIALIZE_TRAMPOLINE): Move code to + m32r_trampoline_init. + + * config/m68hc11/m68hc11.c (TARGET_TRAMPOLINE_INIT): New. + (m68hc11_trampoline_init): Rename from m68hc11_initialize_trampoline; + make static; update for hook parameters. + * config/m68hc11/m68hc11-protos.h: Update. + * config/m68hc11/m68hc11.h (INITIALIZE_TRAMPOLINE): Remove. + + * config/mcore/mcore.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New. + (TARGET_TRAMPOLINE_INIT): New. + (mcore_function_value): Fix typo. + (mcore_asm_trampoline_template, mcore_trampoline_init): New. + * config/mcore/mcore.h (TRAMPOLINE_TEMPLATE): Move code + to mcore_asm_trampoline_template. + (INITIALIZE_TRAMPOLINE): Move code to mcore_trampoline_init. + + * config/mep/mep.h (INITIALIZE_TRAMPOLINE): Remove. + * config/mep/mep.c (TARGET_TRAMPOLINE_INIT): New. + (mep_trampoline_init): Rename from mep_init_trampoline; make static; + update for hook parameters. + * config/mep/mep-protos.h (mep_init_trampoline): Remove. + + * config/mips/mips.c (TARGET_ASM_TRAMPOLINE_TEMPLATE, + mips_asm_trampoline_template, TARGET_TRAMPOLINE_INIT, + mips_trampoline_init): New. + * config/mips/mips.h (TRAMPOLINE_TEMPLATE): Move code to + mips_asm_trampoline_template. + (INITIALIZE_TRAMPOLINE): Move code to mips_trampoline_init; + update for hook parameters. + + * gcc/config/mmix/mmix.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New. + (TARGET_TRAMPOLINE_INIT): New. + (mmix_trampoline_size): Remove. + (mmix_asm_trampoline_template): Rename from mmix_trampoline_template; + make static. Remove out-of-date tetra vs octa comment. + (mmix_trampoline_init): Rename from mmix_initialize_trampoline; + make static; update for hook parameters. + * config/mmix/mmix.h (TRAMPOLINE_TEMPLATE): Remove. + (INITIALIZE_TRAMPOLINE): Remove. + (TRAMPOLINE_SIZE): Use a constant instead of mmix_trampoline_size. + (TRAMPOLINE_ALIGNMENT): New. + * gcc/config/mmix/mmix-protos.h: Update. + + * config/mn10300/mn10300.c (TARGET_ASM_TRAMPOLINE_TEMPLATE, + mn10300_asm_trampoline_template, TARGET_TRAMPOLINE_INIT, + mn10300_trampoline_init): New. + * config/mn10300/mn10300.h (TRAMPOLINE_TEMPLATE): Move code to + mn10300_asm_trampoline_template. + (INITIALIZE_TRAMPOLINE): Move code to mn10300_trampoline_init. + + * config/moxie/moxie.c (moxie_static_chain, + moxie_asm_trampoline_template, moxie_trampoline_init, + TARGET_STATIC_CHAIN, TARGET_ASM_TRAMPOLINE_TEMPLATE, + TARGET_TRAMPOLINE_INIT): New. + * config/moxie/moxie.h (INITIALIZE_TRAMPOLINE): Move code to + moxie_trampoline_init. + (TRAMPOLINE_TEMPLATE): Move code to moxie_asm_trampoline_template. + (STATIC_CHAIN, STATIC_CHAIN_INCOMING): Remove. + + * gcc/config/pa/pa.c (TARGET_ASM_TRAMPOLINE_TEMPLATE, + pa_asm_trampoline_template, TARGET_TRAMPOLINE_INIT, + pa_trampoline_init, TARGET_TRAMPOLINE_ADJUST_ADDRESS, + pa_trampoline_adjust_address): New. + * config/pa/pa.h (TRAMPOLINE_TEMPLATE): Move code to + pa_asm_trampoline_template. + (TRAMPOLINE_ALIGNMENT): New. + (TRAMPOLINE_CODE_SIZE): Move to pa.c. + (INITIALIZE_TRAMPOLINE): Move code to pa_trampoline_init; + adjust for hook parameters. + (TRAMPOLINE_ADJUST_ADDRESS): Move code to pa_trampoline_adjust_address. + + * config/pdp11/pdp11.c (pdp11_trampoline_init): New. + (TARGET_TRAMPOLINE_INIT): New. + * config/pdp11/pdp11.h (TRAMPOLINE_TEMPLATE): Remove. + (INITIALIZE_TRAMPOLINE): Move code to pdp11_trampoline_init. + + * config/picochip/picochip.h (INITIALIZE_TRAMPOLINE): Remove. + + * config/rs6000/rs6000-protos.h (rs6000_initialize_trampoline): Remove. + * config/rs6000/rs6000.c (TARGET_TRAMPOLINE_INIT): New. + (rs6000_trampoline_init): Rename from rs6000_initialize_trampoline; + make static; adjust parameters for the hook. + * config/rs6000/rs6000.h (INITIALIZE_TRAMPOLINE): Remove. + + * config/s390/s390.c (s390_asm_trampoline_template): Rename from + s390_trampoline_template; make static. + (s390_trampoline_init): Rename from s390_initialize_trampoline; + make static; adjust for target hook. + (TARGET_ASM_TRAMPOLINE_TEMPLATE, TARGET_TRAMPOLINE_INIT): New. + * config/s390/s390-protos.h: Remove trampoline decls. + * config/s390/s390.h (INITIALIZE_TRAMPOLINE): Remove. + (TRAMPOLINE_TEMPLATE): Remove. + (TRAMPOLINE_ALIGNMENT): New. + + * config/score/score-protos.h (score_initialize_trampoline): Remove. + * config/score/score.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New. + (TARGET_TRAMPOLINE_INIT): New. + (score_asm_trampoline_template): New. + (score_trampoline_init): Rename from score_initialize_trampoline; + make static; adjust for hook parameters. + * config/score/score.h (TRAMPOLINE_TEMPLATE): Move code to + score[37]_asm_trampoline_template. + (INITIALIZE_TRAMPOLINE): Remove. + * config/score/score3.c (score3_asm_trampoline_template): New. + (score3_trampoline_init): Rename from score3_initialize_trampoline; + adjust for target hook. + * config/score/score7.c (score7_asm_trampoline_template): New. + (score7_trampoline_init): Rename from score7_initialize_trampoline; + adjust for target hook. + * config/score/score3.h, config/score/score7.h: Update. + + * config/sh/sh-protos.h (sh_initialize_trampoline): Remove. + * config/sh/sh.c (TARGET_TRAMPOLINE_INIT): New. + (TARGET_TRAMPOLINE_ADJUST_ADDRESS): New. + (sh_trampoline_init): Rename from sh_initialize_trampoline; + make static; adjust for target hook parameters. + (sh_trampoline_adjust_address): New. + * config/sh/sh.h (INITIALIZE_TRAMPOLINE): New. + (TRAMPOLINE_ADJUST_ADDRESS): Move code to sh_trampoline_adjust_address. + + * config/sparc/sparc.c (TARGET_TRAMPOLINE_INIT): New. + (sparc32_initialize_trampoline): Rename from + sparc_initialize_trampoline; make static; replace tramp parameter + with m_tramp and update memory accesses. + (sparc64_initialize_trampoline): Similarly. + (sparc_trampoline_init): New. + * config/sparc/sparc-protos.h: Remove trampoline decls. + * config/sparc/sparc.h (INITIALIZE_TRAMPOLINE): Remove. + * config/sparc/sparc.md (nonlocal_goto): Don't use static_chain_rtx. + + * config/spu/spu.c (TARGET_TRAMPOLINE_INIT): New. + (array_to_constant): Make ARR parameter const. + (spu_trampoline_init): Rename from spu_initialize_trampoline; + make static; update for hook parameters. + * config/spu/spu-protos.h: Update decls. + * config/spu/spu.h (INITIALIZE_TRAMPOLINE): Remove. + + * config/stormy16/stormy16.c (xstormy16_trampoline_init): Rename + from xstormy16_initialize_trampoline; make static; update for + hook parameters. + (TARGET_TRAMPOLINE_INIT): New. + * config/stormy16/stormy16.h (INITIALIZE_TRAMPOLINE): Remove. + + * config/v850/v850.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New. + (TARGET_TRAMPOLINE_INIT): New. + (v850_can_eliminate): Make static. + (v850_asm_trampoline_template, v850_trampoline_init): New. + * config/v850/v850.h (TRAMPOLINE_TEMPLATE): Move code to + v850_asm_trampoline_template. + (INITIALIZE_TRAMPOLINE): Move code to v850_trampoline_init + and adjust for target hook parameters. + + * config/vax/vax.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New. + (TARGET_TRAMPOLINE_INIT): New. + (vax_asm_trampoline_template, vax_trampoline_init): New. + * config/vax/vax.h (TRAMPOLINE_TEMPLATE): Move code to + vax_asm_trampoline_template. + (INITIALIZE_TRAMPOLINE): Move code to vax_trampoline_init. + + * config/xtensa/xtensa.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New. + (TARGET_TRAMPOLINE_INIT): New. + (xtensa_asm_trampoline_template): Rename from + xtensa_trampoline_template; make static. + (xtensa_trampoline_init): Rename from xtensa_initialize_trampoline; + make static; update for hook parameters. + * config/xtensa/xtensa-protos.h: Remove trampoline decls. + * config/xtensa/xtensa.h (TRAMPOLINE_TEMPLATE): Remove. + (INITIALIZE_TRAMPOLINE): Remove. + + * config/i386/i386.c (ix86_function_regparm): Do not issue an + error for nested functions with regparm=3. + (ix86_compute_frame_layout): Adjust frame pointer offset for + ix86_static_chain_on_stack. + (ix86_expand_prologue): Handle ix86_static_chain_on_stack. + (ix86_emit_restore_reg_using_pop): Increment ix86_cfa_state->offset, + don't reset to UNITS_PER_WORD. + (ix86_emit_leave): Adjust ix86_cfa_state. + (ix86_expand_epilogue): Handle ix86_static_chain_on_stack. + (ix86_static_chain): New. + (ix86_trampoline_init): Rename from x86_initialize_trampoline; + make static; update for target hook parameters; use ix86_static_chain. + (TARGET_STATIC_CHAIN, TARGET_TRAMPOLINE_INIT): New. + * config/i386/i386.h (STATIC_CHAIN_REGNUM): Remove. + (INITIALIZE_TRAMPOLINE): Remove. + (TRAMPOLINE_SIZE): Use 24 for 64-bit. + (struct machine_function): Use BOOL_BITFIELD; rearrange bitfields + to the end. Add static_chain_on_stack. + (ix86_static_chain_on_stack): New. + + * config/m68k/m68k.c (TARGET_TRAMPOLINE_INIT): New. + (m68k_output_mi_thunk): Don't use static_chain_rtx. + (m68k_trampoline_init): New. + * config/m68k/m68k.h (INITIALIZE_TRAMPOLINE): Move code to + m68k_trampoline_init and adjust for hook parameters. + * config/m68k/netbsd-elf.h (TRAMPOLINE_TEMPLATE): Remove. + (TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE): Remove. + +2009-09-22 Jakub Jelinek + + * config/rs6000/rs6000.c (bdesc_2arg): Fix CODE_FOR_vector_gt* codes + for __builtin_altivec_vcmpgt{sb,uh,sh,uw}. + + * reload1.c (reload): Call wrap_constant when substituting + reg for equiv inside of DEBUG_INSNs. + + PR bootstrap/41405 + * dwarf2out.c (base_type_die, record_type_tag, gen_subprogram_die, + add_call_src_coords_attributes, add_high_low_attributes, + gen_compile_unit_die, gen_type_die_with_usage force_decl_die, + gen_decl_die, dwarf2out_imported_module_or_decl_1, dwarf2out_finish, + dwarf2out_imported_module_or_decl): Avoid using DWARF3 additions + when -gdwarf-2 -gstrict-dwarf. + (loc_list_from_tree): Likewise. Avoid using DWARF4 additions when + -gdwarf-[23] -gstrict-dwarf. + (address_of_int_loc_descriptor, loc_descriptor, + loc_list_for_address_of_addr_expr_of_indirect_ref): Avoid using + DWARF4 additions when -gdwarf-[23] -gstrict-dwarf. + * common.opt (gno-strict-dwarf, gstrict-dwarf): New options. + +2009-09-22 Richard Guenther + + PR tree-optimization/41428 + * tree-ssa-ccp.c (ccp_fold_stmt): New function. + (ccp_finalize): Pass it to substitute_and_fold. + +2009-09-22 Richard Guenther + + * tree-ssa-propagate.h (ssa_prop_fold_stmt_fn): Declare. + (substitute_and_fold): Adjust prototype. + * tree-vrp.c (vrp_evaluate_conditional): Make static. + (simplify_stmt_using_ranges): Likewise. + (fold_predicate_in): Move here from tree-ssa-propagate.c. + (vrp_fold_stmt): New function. + (vrp_finalize): Pass it to substitute_and_fold. + * tree-flow.h (vrp_evaluate_conditional): Remove. + (simplify_stmt_using_ranges): Likewise. + * tree-ssa-ccp.c (ccp_finalize): Adjust call to substitute_and_fold. + * tree-ssa-copy.c (fini_copy_prop): Likewise. + * tree-ssa-propagate.c (struct prop_stats_d): Rename num_pred_folded + member. + (fold_predicate_in): Move to tree-vrp.c. + (substitute_and_fold): Use the callback instead of calling into + tree-vrp.c functions directly. + +2009-09-22 Jakub Jelinek + + * dwarf2out.c (address_of_int_loc_descriptor): Avoid signed/unsigned + comparison warning on rs6000. + + PR middle-end/41429 + * tree-cfg.c (remove_useless_stmts_tc): Call gsi_next (gsi) even for + GIMPLE_EH_MUST_NOT_THROW cleanup. + (verify_types_in_gimple_stmt): Handle GIMPLE_EH_MUST_NOT_THROW. + +2009-09-22 Jack Howarth + + PR middle-end/41260 + * gcc/config.gcc: Use darwin9.h and darwin10.h on darwin10 and later. + * gcc/config/darwin10.h: Add file to pass -no_compact_unwind on + LIB_SPEC for darwin10 and later since it always uses the unwinder in + libSystem which is derived from the gcc 4.2.1 unwinder. + +2009-09-22 Dave Korn + + PR middle-end/41357 + * varasm.c (default_encode_section_info): Copy TLS model into + sym_ref flags regardless of backend support for TLS, for all + model types except TLS_MODEL_EMULATED. + +2009-09-22 Dave Korn + + PR bootstrap/41404 + * dwarf2out.c (mem_loc_descriptor): Punt on CONST_STRING until + we can handle it correctly. + +2009-09-21 Gerald Pfeifer + + * doc/install.texi (os2): Remove section. + +2009-09-21 Gerald Pfeifer + + * doc/standards.texi (Objective-C): Adjust two URLs. + +2009-09-21 Giuseppe Scrivano + + * tree-tailcall.c (process_assignment): Don't check if a + multiplication or an addition are already present. + (find_tail_calls): Combine multiple additions and multiplications. + (adjust_accumulator_values): Emit accumulators. + +2009-09-21 Kai Tietz + + * config/i386/i386.c (ix86_expand_epilogue): Adjust offset for + xmm register restore. + +2009-09-21 Jan Hubicka + + * dwarf2out.c (decl_loc_table_eq): Allow decl_loc_table to be NULL. + (dwarf2out_abstract_function): NULLify decl_loc_table at begginig and + restore at the end. + +2009-09-21 Eric Botcazou + + * stor-layout.c (layout_type): Remove obsolete code. + +2009-09-20 H.J. Lu + + PR middle-end/41395 + * opts.c (decode_options): Don't turn on flag_ipa_sra for opt2. + +2009-09-20 Kaveh R. Ghazi + + PR middle-end/30789 + * builtins.c (do_mpc_arg2): Accept DO_NONFINITE parameter. + (do_mpc_ckconv): Accept FORCE_CONVERT parameter. + (fold_builtin_2, do_mpc_arg1): Update accordingly. + * fold-const.c (const_binop): Likewise. + * real.h (do_mpc_arg2): Update prototype. + +2009-09-20 Jan Hubicka + + * dwarf2out.c (add_const_value_attribute): Return true if successful. + (add_location_or_const_value_attribute): Rewrite using + loc_list_from_tree. + (tree_add_const_value_attribute): Return true if successful. + (tree_add_const_value_attribute_for_decl): Likewise. + + * dwarf2out.c (address_of_int_loc_descriptor): Break out from ... + (loc_descriptor): ... here; + (loc_list_for_address_of_addr_expr_of_indirect_ref): New function. + (cst_pool_loc_descr): Break out from ...; do not reffer constant + pool items that was not marked for output. + (loc_list_from_tree): ... here; handle special cases of ADDR_EXPR; + (loc_list_for_address_of_addr_expr_of_indirect_ref): New function. + (loc_list_for_address_of_addr_expr_of_indirect_ref): New function. + handle ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF, REALPART_EXPR, + IMAGPART_EXPR; handle address of INTEGER_CST; improve handling of + CONSTRUCTOR; handle REAL_CST, STRING_CST, COMPLEX_CST; use + DW_OP_stack_value to get address of items that are not available + as addresses. + (dw_loc_list): Handle single element lists correctly. + +2009-09-20 Kai Tietz + Pascal Obry + + * unwind-dw2-fde.c (classify_object_over_fdes): + Cast the constant 1 to _Unwind_Ptr. + (add_fdes): Likewise. + (linear_search_fdes): Likewise. + +2009-09-20 Eric Botcazou + + * stor-layout.c (set_sizetype): Avoid useless type copy. + +2009-09-20 Richard Sandiford + + * configure.ac (gcc_cv_ld_mips_personality_relaxation): New + feature check. + (HAVE_LD_PERSONALITY_RELAXATION): New macro definition. + * configure, config.in: Regenerate. + * dwarf2asm.c (eh_data_format_name): Handle DW_EH_PE_indirect | + DW_EH_PE_absptr. + * config/mips/mips.h (TARGET_WRITABLE_EH_FRAME): New macro. + (ASM_PREFERRED_EH_DATA_FORMAT): Define. Use MIPS_EH_INDIRECT + for global data if the output could be used in a shared library. + * config/mips/mips.c (mips_override_options): Set flag_dwarf2_cfi_asm + to 0 if TARGET_WRITABLE_EH_FRAME. + +2009-09-20 Paolo Bonzini + + PR rtl-optimization/39886 + * combine.c (update_cfg_for_uncondjump): Set EDGE_FALLTHRU + just when insn is equal to BB_END (bb). + +2009-09-19 Adam Nemet + + * config/mips/mips.opt (mrelax-pic-calls): New option. + * config/mips/mips.c (mips_strip_unspec_address): Move it up in + the file. + (mips_unspec_call): Change "unspec_call" expander into this. + (mips_strip_unspec_call): New function. + (mips_got_load): Call mips_unspec_call instead of + gen_unspec_call. + (mips16_build_call_stub): Fix comment for fp_code. Adjust call to + MIPS_CALL. + (mips_cfg_in_reorg): New function. + (mips16_lay_out_constants): Use it to decide whether to call + CFG-aware insn splitting. + (r10k_insert_cache_barriers): Move CFG set-up code from here to + mips_reorg. Move DF set-up code from here ... + (mips_df_reorg): ... to here. Call r10k_insert_cache_barriers + from here. + (mips_reorg): Call mips_df_reorg instead of + r10k_insert_cache_barriers. Move CFG set-up code here from + r10k_insert_cache_barriers. + (mips_call_expr_from_insn): New function. + (mips_pic_call_symbol_from_set): Likewise. + (mips_find_pic_call_symbol): Likewise. + (mips_annotate_pic_call_expr): Likewise. + (mips_get_pic_call_symbol): Likewise. + (mips_annotate_pic_calls): Likewise. + (mips_override_options): Disable -mrelax-pic-calls unless PIC + calls are used. + (mips_set_mips16_mode): Disable -mrelax-pic-calls for MIPS16. + * config/mips/mips-protos.h (mips_get_pic_call_symbol): Declare it. + * config/mips/mips.h (MIPS_CALL): Use it to print the .reloc + directive. + * config/mips/mips.md (UNSPEC_CALL_ATTR): New unspec. + (unspec_call): Remove it. + (sibcall_internal, sibcall_value_internal, + sibcall_value_multiple_internal, call_internal, call_split, + call_value_internal, call_value_split, + call_value_multiple_internal, call_value_multiple_split): Pass + SIZE_OPNO to MIPS_CALL. + (call_internal_direct, call_direct_split, + call_value_internal_direct, call_value_direct_split): Pass -1 as + SIZE_OPNO to MIPS_CALL. + * configure.ac : Add test for .reloc R_MIPS_JALR. + * configure: Regenerate. + * doc/invoke.texi (Option Summary): Add -mrelax-pic-calls + and -mno-relax-pic-calls. + (MIPS Options): Document -mrelax-pic-calls and -mno-relax-pic-calls. + +2009-09-19 Ralf Wildenhues + + PR bootstrap/35619 + * Makefile.in (stmp-fixinc): Ensure `include-fixed' is created + in the directory this rule is called from, rather than the + toplevel 'gcc' directory, to fix in-tree build. + 2009-09-19 Chris Demetriou PR preprocessor/28435: