OSDN Git Service

* system.h (strerror): Poison.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index cb041e0..00bf1c0 100644 (file)
@@ -1,3 +1,716 @@
+2010-11-21  Joseph Myers  <joseph@codesourcery.com>
+
+       * system.h (strerror): Poison.
+
+2010-11-21  Richard Henderson  <rth@redhat.com>
+
+       * config/ia64/ia64.c (ia64_expand_builtin): Use the correct mode
+       for infq/huge_valq.
+
+2010-11-21  Richard Henderson  <rth@redhat.com>
+
+       PR rtl-optimization/46571
+       * gcse.c (hash_scan_set): Use next_nonnote_nondebug_insn.
+       (compute_hash_table_work): Use NONDEBUG_INSN_P.
+
+2010-11-21  Paul Koning  <ni1d@arrl.net>
+
+       * config/mips/pdp11.md (negsi2): Fix wrong code.
+
+2010-11-21  Paul Koning  <ni1d@arrl.net>
+
+       * config/mips/pdp11.c (pdp11_legitimate_address_p): New function.
+       * config/mips/pdp11.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
+
+2010-11-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/mips/mips.c (machine_function): Rename load_label_length to
+       load_label_num_insns.
+       (mips_load_label_length): Rename to...
+       (mips_load_label_num_insns): ...this.  Adjust to first renaming.
+       (mips_adjust_insn_length): Adjust to second renaming.  Fix thinko.
+
+2010-11-21  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/46533
+       * config/alpha/predicates.md (direct_call_operand): Return false
+       for !TARGET_SMALL_TEXT targets.
+
+2010-11-20  Joseph Myers  <joseph@codesourcery.com>
+
+       * doc/tm.texi.in (HANDLE_SYSV_PRAGMA,
+       HANDLE_PRAGMA_PACK_PUSH_POP): Remove.
+       (HANDLE_PRAGMA_PACK_WITH_EXPANSION): Don't refer to
+       HANDLE_SYSV_PRAGMA.
+       * doc/tm.texi: Regenerate.
+       * system.h (HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_SYSV_PRAGMA,
+       HANDLE_PRAGMA_WEAK): Poison.
+       * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Don't define.
+       * config/alpha/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+       * config/alpha/osf5.h (HANDLE_SYSV_PRAGMA): Don't define.
+       * config/alpha/vms.h (HANDLE_SYSV_PRAGMA): Don't define.
+       * config/arm/arm.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+       * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Don't define.
+       * config/cris/cris.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+       * config/darwin.h (HANDLE_SYSV_PRAGMA): Don't define.
+       (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+       * config/elfos.h (HANDLE_SYSV_PRAGMA): Don't define.
+       * config/freebsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+       * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Don't define.
+       * config/i386/cygming.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+       * config/i386/djgpp.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+       * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Don't define.
+       (HANDLE_PRAGMA_WEAK): Don't undefine.
+       * config/i386/netware.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+       * config/i386/vxworks.h (HANDLE_SYSV_PRAGMA): Don't define.
+       * config/ia64/hpux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+       * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Don't define.
+       * config/interix.h (HANDLE_SYSV_PRAGMA): Don't define.
+       (HANDLE_PRAGMA_WEAK): Don't undefine.
+       * config/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+       * config/m32r/linux.h (HANDLE_SYSV_PRAGMA): Don't define.
+       (HANDLE_PRAGMA_PACK): Don't undefine.
+       * config/m32r/m32r.h (HANDLE_SYSV_PRAGMA): Don't undefine.
+       * config/mep/mep.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+       * config/mips/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+       * config/mips/sde.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+       * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Don't define.
+       * config/netbsd.h (HANDLE_SYSV_PRAGMA): Don't define.
+       (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+       * config/openbsd.h (HANDLE_SYSV_PRAGMA): Don't define.
+       * config/pa/pa-hpux.h (HANDLE_SYSV_PRAGMA): Don't define.
+       (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+       * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Don't define.
+       * config/rs6000/sysv4.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+       * config/rx/rx.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+       * config/score/elf.h (HANDLE_SYSV_PRAGMA): Don't define.
+       * config/spu/spu.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+       * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Don't define.
+       * config/xtensa/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+
+2010-11-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR target/31100
+       * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP): Move to...
+       * config/sparc/sol2.h (ASM_OUTPUT_ALIGN_WITH_NOP): ...here.
+       * config/sparc/sol2-gas.h (ASM_OUTPUT_ALIGN_WITH_NOP): Undefine.
+
+2010-11-20  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.c (ld_plugin_symbol_resolution_names): New.
+       (dump_cgraph_node): Dump resolution.
+       * cgraph.h (ld_plugin_symbol_resolution_names): Declare.
+       (cgraph_comdat_can_be_unshared_p): Dclare.
+       * lto-streamer-out.c (produce_symtab): Use
+       cgraph_comdat_can_be_unshared_p.
+       * ipa.c (cgraph_address_taken_from_non_vtable_p): New function.
+       (cgraph_comdat_can_be_unshared_p): New function based on logic
+       in cgraph_externally_visible_p.
+       (cgraph_externally_visible_p): Use it.
+       (varpool_externally_visible_p): Virtual tables can be unshared.
+       * varpool.c (dump_varpool_node): Dump resolution.
+
+2010-11-20  Jan Hubicka  <jh@suse.cz>
+
+       * stmt.c (lshift_cheap_p): Support properly optimize_insn_for_speed_p.
+
+2010-11-20  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       PR other/46202
+       * Makefile.in (install_sh, INSTALL_STRIP_PROGRAM): New variables.
+       (AR_FOR_TARGET, RANLIB_FOR_TARGET, STRIP_FOR_TARGET): Fix
+       shell quoting.
+       (STRIP_FOR_TARGET): Look for in-tree strip under name strip-new.
+       (install-strip): New target.
+       (STRIPPROG): New variable, exported if STRIP is set.
+       * doc/install.texi (Final install): Minor markup and code style
+       fixes.  Document install-strip target.
+
+2010-11-20  Paul Koning  <ni1d@arrl.net>
+
+       * config/pdp11/pdp11-protos.h (pdp11_initial_elimination_offset,
+       pdp11_regno_reg_class): New functions.
+       * config/pdp11/pdp11.md (define_constants): Add register numbers.
+       * config/pdp11/pdp11.c (pdp11_regno_reg_class,
+       pdp11_sp_frame_offset, pdp11_initial_elimination_offset): New
+       functions.
+       * config/pdp11/pdp11.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Add
+       frame pointer and argument pointer pseudo-registers.
+       (ARG_POINTER_REGNUM): Define.
+       (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Add frame pointer and
+       argument pointer.
+       (FIRST_PARM_OFFSET): Update for argument pointer.
+       (INITIAL_FRAME_POINTER_OFFSET): Delete.
+       (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): New macros.
+       (REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_INDEX_P, REGISTER_NAMES): Add
+       frame pointer and argument pointer.
+
+2010-11-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/46561
+       * tree-parloops.c (try_create_redunction_list): Ignore debug stmts
+       when looking for immediate uses.
+
+       PR tree-optimization/45830
+       * stmt.c (expand_switch_using_bit_tests_p): New function.
+       (expand_case): Use it.
+       * tree.h (expand_switch_using_bit_tests_p): New prototype.
+       * tree-switch-conversion.c (struct switch_conv_info): Add
+       bit_test_uniq, bit_test_count and bit_test_bb fields.
+       (check_range): Fix a comment.
+       (check_process_case): Compute bit_test_uniq and bit_test_count.
+       (create_temp_arrays): Use XCNEWVEC, merge 3 arrays into one
+       allocation.
+       (free_temp_arrays): Use XDELETEVEC, adjust for the 3 arrays merging.
+       (constructor_contains_same_values_p): Use FOR_EACH_VEC_ELT.
+       (array_value_type): New function.
+       (build_one_array): Use it, if it returned different type,
+       fold_convert all constructor fields and convert back to the
+       wider type in the generated code.
+       (process_switch): Initialize bit_test_uniq, bit_test_count and
+       bit_test_bb fields.  Don't optimize if expand_switch_using_bit_tests_p
+       returned true.
+
+2010-11-19  Michael Matz  <matz@suse.de>
+
+       PR tree-optimization/46077
+       * tree-chrec.c (eq_evolutions_p): Accept some expressions.
+
+2010-11-19  Anatoly Sokolov  <aesok@post.ru>
+
+       * config/mn10300/mn10300.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
+       * config/mn10300/mn10300.c (mn10300_asm_output_addr_const_extra): New
+       function.
+       (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
+
+2010-11-19  Uros Bizjak  <ubizjak@gmail.com>
+
+       * mode-switching.c (optimize_mode_switching): Use
+       FOR_BB_INSNS instead of open-coded loop.
+       * cfgrtl.c (redirect_branch_edge): Ditto.
+
+2010-11-19  Joern Rennecke  <amylaar@spamcop.net>
+
+       PR target/46436
+       * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Split shift count
+       to accomodate 32 bit HOST_WIDE_INT.
+       (m68hc11_emit_logical): Remove unused variable insn.
+       (m68hc11_check_z_replacement) <CLOBBER>: Set this_insn_uses_ix and
+       this_insn_uses_iy before use.
+
+       PR target/46434
+       * config/crx/crx.c (crx_expand_epilogue): Remove unused variable.
+
+2010-11-19  Joseph Myers  <joseph@codesourcery.com>
+
+       PR c/46547
+       * c-tree.h (in_late_binary_op): Move to c-family/c-common.h.
+       * c-typeck.c (in_late_binary_op): Move to c-family/c-common.c.
+
+2010-11-19  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       * doc/extend.texi (Function attributes): Document PowerPC target
+       attributes that are supported.
+       (Pragmas): Document that PowerPC now supports target pragmas.
+
+       * doc/options.texi (TargetVariable): Document TargetVariable,
+       HeaderInclude, and SourceInclude.
+
+       * doc/invoke.texi (-mfused-madd): Document that -mfused-madd is
+       mapped to -ffp-contract=fast, and -mno-fused-madd is mapped to
+       -ffp-contract=off.
+
+       * optc-gen.awk: Add support for TargetVariable, HeaderInclude, and
+       SourceInclude directives.  Fix a cut+paste error with target save
+       enum variables.  Sort enums in the structures after ints and
+       before shorts.
+       * opth-gen.awk: Ditto.
+
+       * configure.ac: Add support for HeaderInclude and SourceInclude option
+       directives to add the appropriate files to the dependency lists.
+       * configure: Regenerate.
+       * Makefile.in (OPTIONS_H_EXTRA): New variable for HeaderInclude.
+       (OPTIONS_C_EXTRA): New variable for SourceInclude.
+       (OPTIONS_H): Add $(OPTIONS_H_EXTRA).
+       (options.o): Add $(OPTIONS_C_EXTRA) dependency.
+       (gcc-options.o): Ditto.
+       * opt-include.awk: New awk script to handle HeaderInclude and
+       TargetInclude.
+
+       * config/rs6000/aix.opt (-mxl-compat): Mark option as Save so it
+       gets saved in the target options.
+       * config/rs6000/linux64.opt (-mprofile-kernel): Ditto.
+       * config/rs6000/sysv4.opt (-mbit-align): Ditto.
+       (-mprototype): Ditto.
+       (-mbit-word): ditto.
+       (-mregnames): Ditto.
+       (-msecure-plt): Ditto.
+       (-mbss-plt): Ditto.
+       * config/rs6000/rs6000.opt (-mpowerpc-gpopt): Ditto.
+       (-mpowerpc-gfxopt): Ditto.
+       (-mmfcrf): Ditto.
+       (-mpopcntb): Ditto.
+       (-mfprnd): Ditto.
+       (-mcmpb): Ditto.
+       (-mmmfpgpr): Ditto.
+       (-maltivec): Ditto.
+       (-mhard-dfp): Ditto.
+       (-mmulhw): Ditto.
+       (-mdlmzb): Ditto.
+       (-mmultiple): Ditto.
+       (-mstring): Ditto.
+       (-mpopcntd): Ditto.
+       (-mfriz): Ditto.
+       (-mvsx): Ditto.
+       (-mno-update): Ditto.
+       (-mavoid-indexed-addresses): Ditto.
+       (-mtls-markers): Ditto.
+       (-msched-epilog): Ditto.
+       (-msched-prolog): Ditto.
+       (-maix-struct-return): Ditto.
+       (-msvr4-struct-return): Ditto.
+       (-mxl-compat): Ditto.
+       (-mrecip-precision): Ditto.
+       (-mfp-in-toc): Ditto.
+       (-msum-in-toc): Ditto.
+       (-mvrsave): Ditto.
+       (-mblock-move-inline-limit=): Ditto.
+       (-misel): Ditto.
+       (-mpaired): Ditto.
+       (-mlongcall): Ditto.
+       (-mgen-cell-microcode): Ditto.
+       (-mwarn-cell-microcode): Ditto.
+       (-mwarn-altivec-long): Ditto.
+       (-mprioritize-restricted-insns=): Ditto.
+       (-msingle-float): Ditto.
+       (-mdouble-float): Ditto.
+       (-msimple-fpu): Ditto.
+       (-mxilinx-fpu): Ditto.
+       * config/rs6000/aix64.opt (-mpe): Ditto.
+
+       * config/rs6000/rs6000.opt (HeaderInclude): Include rs6000-opts.h.
+       (rs6000_cpu): Move variable to be a target variable.  Rename
+       cmodel to rs6000_current_cmodel because of macro conflict.  Merge
+       -mdebug=<xxx> variables into a single int.
+       (rs6000_always_hint): Ditto.
+       (rs6000_sched_groups): Ditto.
+       (rs6000_align_branch_targets): Ditto.
+       (rs6000_sched_costly_dep): Ditto.
+       (rs6000_sched_insert_nops): Ditto.
+       (rs6000_long_double_type_size): Ditto.
+       (rs6000_ieeequad): Ditto.
+       (rs6000_altivec_abi): Ditto.
+       (rs6000_spe): Ditto.
+       (rs6000_spe_abi): Ditto.
+       (rs6000_float_gprs): Ditto.
+       (rs6000_darwin64_abi): Ditto.
+       (can_override_loop_align): Ditto.
+       (rs6000_sdata): Ditto.
+       (rs6000_tls_size): Ditto.
+       (rs6000_current_abi): Ditto.
+       (rs6000_traceback): Ditto.
+       (rs6000_alignment_flags): Ditto.
+       (rs6000_current_cmodel): Ditto.
+       (rs6000_recip_control): Ditto.
+       (rs6000_cpu_index): Ditto.
+       (rs6000_tune_index): Ditto.
+       (rs6000_debug): Ditto.
+       (rs6000_target_flags_explict): Ditto.
+
+       * config/rs6000/rs6000-protos.h (rs6000_pragma_target_parse): Add
+       declaration.
+
+       * config/rs6000/linux64.h (rs6000_current_cmode): Rename from
+       cmodel.  Change all uses.
+
+       * config/rs6000/rs6000.c (rs6000_always_hint): Move to
+       rs6000.opt.  Combine -mdebug=<xxx> variables into a single int.
+       Rename cmodel to rs6000_current_cmodel.
+       (rs6000_sched_groups): Ditto.
+       (rs6000_align_branch_targets): Ditto.
+       (rs6000_sched_costly_dep): Ditto.
+       (rs6000_sched_insert_nops): Ditto.
+       (rs6000_long_double_type_size): Ditto.
+       (rs6000_ieeequad): Ditto.
+       (rs6000_altivec_abi): Ditto.
+       (rs6000_spe): Ditto.
+       (rs6000_spe_abi): Ditto.
+       (rs6000_float_gprs): Ditto.
+       (rs6000_darwin64_abi): Ditto.
+       (can_override_loop_align): Ditto.
+       (rs6000_sdata): Ditto.
+       (rs6000_tls_size): Ditto.
+       (rs6000_current_abi): Ditto.
+       (rs6000_traceback): Ditto.
+       (rs6000_alignment_flags): Ditto.
+       (rs6000_current_cmodel): Ditto.
+       (rs6000_recip_control): Ditto.
+       (rs6000_cpu_index): Ditto.
+       (rs6000_tune_index): Ditto.
+       (rs6000_debug): Ditto.
+       (rs6000_target_flags_explict): Ditto.
+       (rs6000_sched_insert_nops_str): Make static.
+       (rs6000_sched_costly_dep_str): Ditto.
+       (rs6000_recip_name): Ditto.
+       (rs6000_abi_name): Ditto.
+       (rs6000_sdata_name): Ditto.
+       (enum rs6000_traceback_name): Move to rs6000-opts.h.
+       (rs6000_parse_tls_size_option): Delete.
+       (rs6000_valid_attribute_p): New function for target attributes and
+       pragmas.
+       (rs6000_function_specific_save): Ditto.
+       (rs6000_function_specific_restore): Ditto.
+       (rs6000_function_specific_print): Ditto.
+       (rs6000_can_inline_p): Ditto.
+       (rs6000_set_current_function): Ditto.
+       (rs6000_inner_target_options): Ditto.
+       (rs6000_debug_target_options): Ditto.
+       (rs6000_pragma_target_parse): Ditto.
+       (TARGET_OPTION_VALID_ATTRIBUTE_P): Define target hooks for target
+       attributes and pragmas.
+       (TARGET_OPTION_SAVE): Ditto.
+       (TARGET_OPTION_RESTORE): Ditto.
+       (TARGET_OPTION_PRINT): Ditto.
+       (TARGET_CAN_INLINE_P): Ditto.
+       (TARGET_SET_CURRENT_FUNCTION): Ditto.
+       (POWER_MASKS): Move to file level scope from the
+       rs6000_option_override_internal function.
+       (POWERPC_MASKS): Ditto.
+       (ISA_*_MASKS): Ditto.
+       (struct rs6000_ptt): Ditto.
+       (processor_target_table): Ditto.
+       (rs6000_cpu_name_lookup): Map cpu name to an index in
+       processor_target_table.
+       (rs6000_debug_reg_global): Print more information on processor
+       options for -mdebug=reg.
+       (rs6000_init_hard_regno_mode_ok): Add support for target
+       attributes and pragmas.  Merge all -mdebug=<xxx> fields into one.
+       Allow -mdebug=val1,val2.  Rename cmodel variable.
+       (rs6000_option_override_internal): Ditto.
+       (rs6000_option_override): Ditto.
+       (rs6000_handle_option): Ditto.
+       (rs6000_conditional_register_usage): Add debug trace message.
+       (struct rs6000_opt_mask): New for target attribute/pragma support.
+       (rs6000_opt_masks): Ditto.
+       (struct rs6000_opt_var): Ditto.
+       (rs6000_opt_vars): Ditto.
+       (rs6000_previous_function): Ditto.
+
+       * config/rs6000/rs6000.h (top level): Include rs6000-opts.h if it
+       wasn't already included.
+       (enum rs6000_cmodel): Move to rs6000-opts.h or rs6000.opt.
+       (enum processor_type): Ditto.
+       (rs6000_cpu): Ditto.
+       (enum fpu_type_t): Ditto.
+       (fpu_type): Ditto.
+       (enum rs6000_dependence_cost): Ditto.
+       (enum rs6000_nop_insertion): Ditto.
+       (enum group_termination): Ditto.
+       (rs6000_long_double_type_size): Ditto.
+       (rs6000_ieeequad): Ditto.
+       (rs6000_altivec_abi): Ditto.
+       (rs6000_spe_abi): Ditto.
+       (rs6000_spe): Ditto.
+       (rs6000_float_gprs): Ditto.
+       (rs6000_alignment_flags): Ditto.
+       (rs6000_sched_insert_nops): Ditto.
+       (enum rs6000_vector): Ditto.
+       (enum rs6000_abi): Ditto.
+       (rs6000_current_opt): Ditto.
+       (rs6000_debug_*): Delete.
+       (MASK_DEBUG*): Combine -mdebug=xxxx into one int.
+       (TARGET_DEBUG*): Ditto.
+
+       * config/rs6000/rs6000-opts.h: New header file to define the enums
+       that are used in target variables that are now defined in rs6000.opt.
+
+       * config/rs6000/sysv4.h (enum rs6000_sdata_type): Move to
+       rs6000-opts.h.
+       (rs6000_sdata): Ditto.
+       (rs6000_abi_name): Delete.
+       (rs6000_sdata_name): Ditto.
+       (rs6000_tls_size_string): Ditto.
+
+2010-11-19  Joseph Myers  <joseph@codesourcery.com>
+
+       * common.opt (debug_struct_ordinary, debug_struct_generic): New
+       Variable entries.
+       * dwarf2out.c (matches_main_base, dump_struct_debug, DUMP_GSTRUCT,
+       should_emit_struct_debug): Move from opts.c.
+       * flag-types.h (enum debug_struct_file): Move from opts.c.
+       * flags.h (should_emit_struct_debug): Remove.
+       (base_of_path): Declare.
+       (set_struct_debug_option): Add gcc_options parameter.
+       * optc-gen.awk, opth-gen.awk: Handle array variables.
+       * opts.c (enum debug_struct_file, debug_struct_ordinary,
+       debug_struct_generic): Remove.
+       (set_struct_debug_option): Add gcc_options parameter.
+       (base_of_path): Remove static.
+       (main_input_basename, main_input_baselength, matches_main_base,
+       dump_struct_debug, DUMP_GSTRUCT, should_emit_struct_debug):
+       Remove.
+       * toplev.c (main_input_basename, main_input_baselength): Define
+       here.
+       * toplev.h (main_input_basename, main_input_baselength): Declare
+       here.
+
+2010-11-19  Joseph Myers  <joseph@codesourcery.com>
+
+       * common.opt (flag_instrument_functions_exclude_functions,
+       flag_instrument_functions_exclude_files): New Variable definitions.
+       * flags.h (flag_instrument_functions_exclude_p): Don't declare.
+       * gimplify.c (char_p): Declare type and vectors.
+       (flag_instrument_functions_exclude_p): Moved from opts.c.  Make static.
+       * opts.c (flag_instrument_functions_exclude_functions,
+       flag_instrument_functions_exclude_files): Remove.
+       (add_comma_separated_to_vector): Take void **.
+       (flag_instrument_functions_exclude_p): Move to gimplify.c.
+       (common_handle_option): Use options structure for
+       -finstrument-functions-exclude- options.
+
+2010-11-19  Joseph Myers  <joseph@codesourcery.com>
+
+       * doc/options.texi (Var): Document effects of Defer.
+       (Defer): Document.
+       * opt-functions.awk (var_type, var_set): Handle deferred options.
+       * opts-common.c (set_option): Handle CLVC_DEFER.
+       * common.opt (fcall-saved-, fcall-used-, fdump-, ffixed-,
+       fplugin=, fplugin-arg-, fstack-limit, fstack-limit-register=,
+       fstack-limit-symbol=): Mark as deferred.
+       * opts.c: Don't include rtl.h, ggc.h, output.h, tree-pass.h or
+       plugin.h.
+       (print_filtered_help): Don't report state of CLVC_DEFER options.
+       (common_handle_option): Move code for OPT_fcall_used_,
+       OPT_fcall_saved_, OPT_fdump_, OPT_ffixed_, OPT_fplugin_,
+       OPT_fplugin_arg_, OPT_fstack_limit, OPT_fstack_limit_register_ and
+       OPT_fstack_limit_symbol_ to opts-global.c.
+       (option_enabled, get_option_state): Handle CLVC_DEFER.
+       * opts.h: Include vec.h.
+       (enum cl_var_type): Add CLVC_DEFER.
+       (cl_deferred_option): Define type and vectors.
+       (handle_common_deferred_options): Declare.
+       * opts-global.c: New.
+       * toplev.c (toplev_main): Call handle_common_deferred_options
+       * Makefile.in (OPTS_H): Include $(VEC_H).
+       (OBJS-common): Include opts-global.o.
+       (opts.o): Update dependencies.
+       (opts-global.o): Add dependencies.
+
+2010-11-19  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * c-parser.c (c_parser_objc_protocol_definition): Pass attributes
+       to objc_declare_protocols.
+
+2010-11-19  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/45789
+       * lto-streamer-out.c (lto_output_ts_common_tree_pointers): For
+       IDENTIFIERs do not stream TREE_TYPE.
+       * lto-streamer-in.c (lto_input_ts_common_tree_pointers): Likewise.
+
+2010-11-19  Christian Borntraeger  <borntraeger@de.ibm.com>
+
+       * config/s390/s390.c (s390_function_arg_integer): Handle NULLPTR_TYPE.
+
+2010-11-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/45870
+       * dwarf2out.c (const_ok_for_output_1): Don't complain about
+       non-delegitimized TLS UNSPECs.
+
+2010-11-18  Jack Howarth  <howarth@bromo.med.uc.edu>
+           Ian Lance Taylor  <iant@google.com>
+
+       * config/darwin-c.c (darwin_additional_format_types): Export.
+
+2010-11-18  Paul Koning  <ni1d@arrl.net>
+
+       * config/pdp11/pdp11.h (FIRST_PARM_OFFSET): Fix case of no frame
+       pointer.
+
+2010-11-18  Paul Koning  <ni1d@arrl.net>
+
+       * config/pdp11/pdp11.md (abshi2): Delete TARGET_ABSHI_BUILTIN.
+       * config/pdp11/pdp11.c (TARGET_DEFAULT_TARGET_FLAGS): Ditto.
+       * config/pdp11/pdp11.opt (-mabshi): Delete.
+
+2010-11-19  Mingjie Xing  <mingjie.xing@gmail.com>
+
+       * resource.h (struct resources): Fix typo in the comment.
+
+2010-11-19  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/46546
+       * config/i386/i386.c (ix86_reorg): Call compute_bb_for_insn.
+
+2010-11-18  Richard Henderson  <rth@redhat.com>
+
+       PR middle-end/46515
+       * function.c (maybe_copy_prologue_epilogue_insn): Rename from
+       maybe_copy_epilogue_insn; handle prologue insns as well.
+       * rtl.h, cfglayout.c: Update for rename.
+       * recog.c (peep2_attempt): Copy prologue/epilogue data for
+       RTX_FRAME_RELATED_P insns.
+
+2010-11-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/46534
+       * builtins.c (fold_builtin_printf): Don't copy and modify string
+       before build_string_literal, instead modify what
+       build_string_literal returned.
+
+2010-11-18  Nathan Froyd  <froydnj@codesourcery.com>
+
+       PR c/33193
+       * c-typeck.c (build_unary_op): Call build_real_imag_expr for
+       REALPART_EXPR and IMAGPART_EXPR.
+
+2010-11-18  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/46172
+       * tree-vect-loop-manip.c (remove_dead_stmts_from_loop): New
+       function.
+       (slpeel_tree_peel_loop_to_edge): Call it.
+
+2010-11-18  Jeff Law  <law@redhat.com>
+
+       PR middle-end-optimization/46297
+       * postreload.c (reload_combine_note_store): Deal with embedded
+       side effects in MEM expressions.
+
+2010-11-18  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/45089
+       * dwarf2out.c (add_AT_die_ref): Work around LTO losing types
+       when checking is not enabled.
+
+2010-11-18  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/46525
+       * gimple.c (gimple_register_type): Update TYPE_MAIN_VARIANT of
+       type leaders.
+       (gimple_register_canonical_type): Also cache the canoncial type
+       for non type leaders.
+
+2010-11-18  Richard Guenther  <rguenther@suse.de>
+
+       * lto-wrapper.c (run_gcc): Fix -flto=N parsing.
+
+2010-11-18  Alexander Monakov  <amonakov@ispras.ru>
+
+       PR middle-end/46518
+       * sel-sched-ir.c (init_expr): Use the correct type for
+       target_available.
+       * sel-sched.c (fill_vec_av_set): Use explicitly signed char type.
+
+2010-11-17  Joakim Tjernlund  <Joakim.Tjernlund@transmode.se>
+
+       * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Support -fpic
+       as well as -mrelocatable at the same time.
+
+2010-11-17  Quentin Neill  <quentin.neill.gnu@gmail.com>
+
+       PR target/46422
+       * config/i386/bmiintrin.h (__lzcnt_u16, __lzcnt_u32, __lzcnt_u64):
+       Call the clz builtin.
+
+2010-11-17  Dinar Temirbulatov <dtemirbulatov@gmail.com>
+           Steve Ellcey  <sje@cup.hp.com>
+
+       PR middle-end/31490
+       * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
+       if section attribute used.
+
+2010-11-17  Jan Hubicka  <jh@suse.cz>
+
+       * builtins.c (expand_builtin_mathfn_2, expand_builtin_mathfn): Do not
+       expand errno setting variant when optimizing for size.
+
+2010-11-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * postreload.c (reload_combine): Call control_flow_insn_p only once.
+       Reverse backward loop.  Fix formatting issues.
+
+2010-11-17  Paolo Bonzini  <bonzini@gnu.org>
+
+       * c-parser.c (c_token_is_qualifier,
+       c_parser_next_token_is_qualifier): New.
+       (c_parser_declaration_or_fndef, c_parser_struct_declaration):
+       Improve error message on specs->tagdef_seen_p.
+       (c_parser_struct_or_union_specifier): Improve error recovery.
+       (c_parser_declspecs): Move exit condition on C_ID_ID early.
+       Reorganize exit condition for C_ID_TYPENAME/C_ID_CLASSNAME
+       using c_parser_next_token_is_qualifier; extend it to cover
+       a ctsk_tagdef typespec and !typespec_ok in general.
+
+2010-11-17  Richard Guenther  <rguenther@suse.de>
+
+       * value-prof.c (gimple_divmod_fixed_value_transform): Update the stmt.
+       (gimple_mod_pow2_value_transform): Likewise.
+       (gimple_mod_subtract_transform): Likewise.
+
+2010-11-17  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/46504
+       * gimple.c (gimple_register_canonical_type): Make sure to only
+       make type leaders canonical types.
+
+2010-11-17  Michael Matz  <matz@suse.de>
+
+       * timevar.def (TV_IPA_OPT, TV_EARLY_LOCAL, TV_OPTIMIZE,
+       TV_POSTRELOAD, TV_REMOVE_UNUSED, TV_ADDRESS_TAKEN, TV_TODO,
+       TV_VERIFY_LOOP_CLOSED, TV_VERIFY_RTL_SHARING,
+       TV_REBUILD_FREQUENCIES, TV_REPAIR_LOOPS): New.
+       * tree-into-ssa.c (rewrite_into_ssa): Don't push/pop timevar here ...
+       (pass_build_ssa): ... but here.
+       * cgraphbuild.c (pass_rebuild_cgraph): Use timevar.
+       * tree-ssa-loop-manip.c (verify_loop_closed_ssa): Use timevar.
+       * tree-emutls.c (pass_ipa_lower_emutls): Ditto.
+       * df-core.c (pass_df_initialize_opt, pass_df_initialize_no_opt): Ditto.
+       * predict.c (rebuild_frequencies): Ditto.
+       * tree-vectorizer.c (pass_ipa_increase_alignment): Ditto.
+       * emit-rtl.c (verify_rtl_sharing): Ditto.
+       * tree-cfgcleanup.c (repair_loop_structures): Ditto.
+       * tree-ssa-live.c (remove_unused_locals): Ditto.
+       * cfglayout.c (pass_into_cfg_layout, pass_outof_cfg_layout): Ditto.
+       * tree-ssa.c (pass_early_warn_uninitialized,
+       execute_update_addresses_taken, pass_update_address_taken): Ditto.
+       * tree-optimize.c (pass_all_optimizations, pass_early_local_passes,
+       pass_cleanup_cfg_post_optimizing, tree_rest_of_compilation): Ditto.
+       * passes.c (pass_postreload, execute_todo): Ditto.
+       * tree-ssanames.c (pass_release_ssa_names): Ditto.
+
+2010-11-17  Joseph Myers  <joseph@codesourcery.com>
+
+       * doc/invoke.texi (-dy): Remove.
+       * langhooks-def.h (lhd_do_nothing_i): Don't declare.
+       (LANG_HOOKS_PARSE_FILE): Define to lhd_do_nothing.
+       * langhooks.c (lhd_do_nothing_i): Remove.
+       * langhooks.h (lang_hooks.parse_file): Take no arguments.
+       * toplev.c (set_yydebug): Remove.
+       (compile_file): Update call to lang_hooks.parse_file.
+       (decode_d_option): Don't handle -dy.
+
+2010-11-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/46440
+       * combine.c (update_cfg_for_uncondjump): When changing
+       an indirect jump into unconditional jump, remove BARRIERs
+       from bb's footer.
+
+2010-11-17  Joseph Myers  <joseph@codesourcery.com>
+
+       * opts.c (target_handle_option): Do not assert that loc ==
+       UNKNOWN_LOCATION.
+
+2010-11-17  Jakub Jelinek  <jakub@redhat.com>
+           Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/45838
+       * tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
+       call_may_clobber_ref_p_1): Return true for __sync_* and some
+       OpenMP builtins that act as threading barriers.
+
 2010-11-17  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/46498
        * ipa.c (varpool_can_remove_if_no_refs): ... here.
        (cgraph_remove_unreachable_nodes): Only analyzed nodes needs to stay.
        * cgraphunit.c (cgraph_analyze_functions): Dump varpool, too.
-       * varpool.c (decide_is_variable_needed): Do not handle visibility issues.
+       * varpool.c (decide_is_variable_needed): Do not handle visibility
+       issues.
        (varpool_finalize_decl): Likewise.
-       (varpool_remove_unreferenced_decls): Use varpool_mark_needed_node; update
-       outdated comment on DECL_RTL_SET_P check.
+       (varpool_remove_unreferenced_decls): Use varpool_mark_needed_node;
+       update outdated comment on DECL_RTL_SET_P check.
 
 2010-11-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
 
 2010-11-16  Nick Clifton  <nickc@redhat.com>
 
-       * config/v850/v850.md (maddsf4): Rename to fmasf4 and use fma
-       rtx_code.
+       * config/v850/v850.md (maddsf4): Rename to fmasf4 and use fma rtx_code.
        (msubsf4): Rename to fmssf4, and use fma.
        (nmaddsf4): Rename to fnmasf4 and use fma.
        (nmsubsf4): Rename to fnmssf4 and use fma.
 
 2010-11-16  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
 
-       * gensupport.c (MNEMONIC_ATTR_NAME, MNEMONIC_HTAB_SIZE): New
-       macros.
+       * gensupport.c (MNEMONIC_ATTR_NAME, MNEMONIC_HTAB_SIZE): New macros.
        (htab_eq_string, add_mnemonic_string, gen_mnemonic_setattr)
        (mnemonic_htab_callback, gen_mnemonic_attr): New functions.
        (init_rtx_reader_args_cb): Invoke gen_mnemonic_attr.
 
 2010-11-16  Nathan Froyd  <froydnj@codesourcery.com>
 
-       * Makefile.in (bitmap.o, ebitmap.o, et-forest.o): Update
-       dependencies.
+       * Makefile.in (bitmap.o, ebitmap.o, et-forest.o): Update dependencies.
        (sreal.o, statistics.o, stringpool.o): Likewise.
 
 2010-11-16  Richard Guenther  <rguenther@suse.de>
 2010-11-16  Richard Guenther  <rguenther@suse.de>
 
        PR middle-end/45172
-       * tree-eh.c (cleanup_empty_eh_unsplit): Avoid creating duplicate
-       edges.
+       * tree-eh.c (cleanup_empty_eh_unsplit): Avoid creating duplicate edges.
 
 2010-11-16  Nick Clifton  <nickc@redhat.com>
 
 2010-11-15  Richard Henderson  <rth@redhat.com>
 
        * fold-const.c (operand_equal_for_comparison_p): Handle FMA_EXPR,
-       WIDEN_MULT_PLUS_EXPR, WIDEN_MULT_MINUS_EXPR, VEC_COND_EXPR,
+       WIDEN_MULT_PLUS_EXPR, WIDEN_MULT_MINUS_EXPR, VEC_COND_EXPR and
        DOT_PROD_EXPR.
 
 2010-11-15  Richard Henderson  <rth@redhat.com>
        (argbuf_length, argbuf_index): Remove.
        (alloc_args, clear_args, store_arg, execute, insert_wrapper,
        do_spec, do_self_spec, do_spec_1, eval_spec_function, main,
-       compare_debug_dump_opt_spec_function: Use VEC interfaces on
-       argbuf.
+       compare_debug_dump_opt_spec_function: Use VEC interfaces on argbuf.
        * Makefile.in (GCC_OBJS): Add vec.o and ggc-none.o.
        (gcc.o): Depend on $(VEC_H).
 
        * config/avr/avr.c (avr_num_arg_regs): Constify type.
        (avr_return_addr_rtx): De-constify tem.
        (avr_rotate_bytes): Move declarations to start of block.
-       Don't use variable length array.
-       Put nested if/else into block.
+       Don't use variable length array.  Put nested if/else into block.
 
        PR rtl-optimization/46433
        * var-tracking.c: Include tm_p.h .
        (trapping_loads_p): Remove unused variable pat.
        (bfin_expand_binop_builtin): Use expand_normal.
        (bfin_expand_unop_builtin): Likewise.
-       (bfin_expand_builtin): Likewise.
-       Set tmode before use.
+       (bfin_expand_builtin): Likewise.  Set tmode before use.
 
        PR middle-end/44769
        * final.c (split_double): Don't use BITS_PER_WORD directly in
 
        PR tree-optimize/40436
        * ipa-inline.c (likely_eliminated_by_inlining_p): Rename to ...
-       (eliminated_by_inlining_prob): ... this one; return 50% probability for
-       SRA.
-       (estimate_function_body_sizes): Update use of eliminated_by_inlining_prob;
-       estimate static function size for 2 instructions.
+       (eliminated_by_inlining_prob): ... this one; return 50% probability
+       for SRA.
+       (estimate_function_body_sizes): Update use of
+       eliminated_by_inlining_prob; estimate static function size
+       for 2 instructions.
 
 2010-11-11  Joern Rennecke  <amylaar@spamcop.net>
 
        * opts.c (finish_options, common_handle_option): Start diagnostics
        with lowercase letters and remove trailing '.'.  Fix typo in
        diagnostic.
-       * passes.c (position_pass): Start diagnostic with lowercase
-       letter.
+       * passes.c (position_pass): Start diagnostic with lowercase letter.
        * plugin.c (add_new_plugin, parse_plugin_arg_opt,
        register_callback, try_init_one_plugin): Start diagnostics with
        lowercase letters.