OSDN Git Service

* dwarf2out.c (loc_list_plus_const): Only define if
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 3954cf8..ccab5ac 100644 (file)
@@ -1,3 +1,121 @@
+2009-09-23  Jakub Jelinek  <jakub@redhat.com>
+           Jan Hubicka  <jh@suse.cz>
+
+       * 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  <ubizjak@gmail.com>
+
+       PR c/39779
+       * c-typeck.c (build_binary_op) <short_shift>: Check that integer
+       constant is more than zero.
+
+2009-09-23  Alan Modra  <amodra@bigpond.net.au>
+
+       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  <ljrittle@acm.org>
+           Joseph S. Myers  <joseph@codesourcery.com>
+
+       * doc/install.texi (*-*-freebsd*): Add proper format codes.
+
+2009-09-22  Basile Starynkevitch  <basile@starynkevitch.net>
+           Rafael Avila de Espindola  <espindola@google.com>
+
+       * gengtype.c (is_file_equal): New function.
+       (close_output_files): Use is_file_equal. Free of->buf.
+
+2009-09-22  Basile Starynkevitch  <basile@starynkevitch.net>
+           Rafael Avila de Espindola  <espindola@google.com>
+
+       * gengtype.c (write_types, write_local): Add the output_header
+       argument. Update all callers.
+
+2009-09-22  Dodji Seketeli  <dodji@redhat.com>
+
+       * 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  <rth@redhat.com>
+
+       * 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  <dave.korn.cygwin@gmail.com>
+
+       * 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  <aoliva@redhat.com>
+
+       PR debug/41295
+       * reload1.c (reload): Reset debug insns with pseudos without
+       equivalences.
+
+2009-09-22  Neil Vachharajani  <nvachhar@google.com>
+
+       * testsuite/gcc.dg/pr40209.c: Add test case.
+
+2009-09-22  Janis Johnson  <janis187@us.ibm.com>
+
+       * 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  <ljrittle@acm.org>
+
+       * 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  <rguenther@suse.de>
 
        PR middle-end/41395
        (INITIALIZE_TRAMPOLINE): Move code to arm_trampoline_init;
        adjust for target hook parameters.
 
-       * config/avr/avr.h (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Remove.
+       * 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.
        * 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  <jakub@redhat.com>
 
        * config/rs6000/rs6000.c (bdesc_2arg): Fix CODE_FOR_vector_gt* codes
 
 2009-09-21  Giuseppe Scrivano <gscrivano@gnu.org>
 
-       * tree-tailcall.c (process_assignment): Don't check if a multiplication
-       or an addition are already present.
+       * 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-20  Jan Hubicka  <jh@suse.cz>
 
        * dwarf2out.c (add_const_value_attribute): Return true if successful.
-       (add_location_or_const_value_attribute): Rewrite using loc_list_from_tree.
+       (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.
 
        * 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.
+       (MIPS Options): Document -mrelax-pic-calls and -mno-relax-pic-calls.
 
 2009-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>