PR bootstrap/44713
* config/i386/i386.c (type_natural_mode): Const-ify CUM parameter.
(function_arg_advance_32): Const-ify TYPE parameter.
(function_arg_advance_64): Likewise. Change type of NAMED to bool.
(ix86_function_arg_advance): Change type of NAMED to bool.
(function_arg_32): Const-ify CUM and TYPE parameters.
(function_arg_64): Likewise. Change type of NAMED to bool.
(function_arg_ms_64): Const-ify CUM parameter. Change type of NAMED
to bool.
(ix86_function_arg): Change type of NAMED to bool.
(ix86_setup_incoming_varargs): Call ix86_function_arg_advance. Pass
last argument as a bool.
From-SVN: r161540
* doc/tm.texi (TARGET_OPTION_OVERRIDE): Document.
(OVERRIDE_OPTIONS): Add note of obsolescence.
Replace references with references to TARGET_OPTION_OVERRIDE.
(Except for C_COMMON_OVERRIDE_OPTIONS, which remains similar to
the macro).
* targhooks.c (default_target_option_override): New function.
* targhooks.h (default_target_option_override): Declare.
* target.h (struct gcc_target): Add override member to
target_option emmber.
* toplev.c (process_options): Replace OVERRIDE_OPTIONS use with
targetm.target_option.override call.
* target-def.h (TARGET_OPTION_OVERRIDE): Define.
(TARGET_OPTION_HOOKS): Add TARGET_OPTION_OVERRIDE.
From-SVN: r161538
* predict.c (propagate_freq): Clear EXIT_BLOCK_PTR frequency if it is
unreachable.
(rebuild_frequencies): New function.
* predict.h (rebuild_frequencies): Declare.
* tree-inline.c (copy_cfg_body): Compute properly count & frequency of
entry block and edge reaching new_entry.
(tree_function_versioning): When doing partial cloning, rebuild frequencies
when done.
* passes.c (execute_function_todo): Use rebild_frequencies.
From-SVN: r161536
PR rtl-optimization/44659
* combine.c (make_compound_operation) <SUBREG>: Do not return the
result of force_to_mode if it partially re-expanded the compound.
From-SVN: r161523
2010-06-28 Paul Thomas <pault@gcc.gnu.org>
PR fortran/40158
* interface.c (argument_rank_mismatch): New function.
(compare_parameter): Call new function instead of generating
the error directly.
2010-06-28 Paul Thomas <pault@gcc.gnu.org>
PR fortran/40158
* gfortran.dg/actual_rank_check_1.f90: New test.
From-SVN: r161504
2010-06-26 Martin Jambor <mjambor@suse.cz>
* tree-sra.c (convert_callers): New parameter, change fndecls of
recursive calls.
(modify_function): Pass the old decl to convert_callers.
* testsuite/gcc.dg/ipa/ipa-sra-6.c: New test.
From-SVN: r161503
2010-06-28 Martin Jambor <mjambor@suse.cz>
* ipa-cp.c (ipcp_init_cloned_node): Replace calls to
ipa_check_create_node_params and ipa_initialize_node_params with
checking asserts they are not necessary.
From-SVN: r161502
2010-06-28 Martin Jambor <mjambor@suse.cz>
PR c++/44535
* gimple-fold.c (get_first_base_binfo_with_virtuals): New function.
(gimple_get_relevant_ref_binfo): Use get_first_base_binfo_with_virtuals
instead of BINFO_BASE_BINFO.
* testsuite/g++.dg/torture/pr44535.C: New test.
From-SVN: r161498
PR tree-optimization/44357
* ipa-inline.c (add_new_edges_to_heap): Do not add edges to uninlinable
functions.
PR tree-optimization/44357
* g++.dg/torture/pr44357.C: New testcase.
From-SVN: r161495
* tree-browser.c (TB_history_stack): Convert to a VEC.
(TB_SET_HEAD): Adjust for new type of TB_history_stack.
(TB_history_prev): Likewise.
From-SVN: r161490
* java-tree.h (struct lang_type) [catch_classes]: Change type to a
VEC.
* except.c (prepare_eh_table_type): Call CONSTRUCTOR_APPEND_ELT
instead of tree_cons.
* class.c (make_class): Add dummy entry to TYPE_CATCH_CLASSES.
(emit_catch_table): Adjust for new type of TYPE_CATCH_CLASSES.
From-SVN: r161487
gcc/
* vec.h (vec_heap_free): Add parentheses around free.
gcc/fortran/
* trans-openmp.c (dovar_init): Define. Define VECs containing it.
(gfc_trans_omp_do): Use a VEC to accumulate variables and their
initializers.
From-SVN: r161486
gcc/ChangeLog:
2010-06-28 Steven Bosscher <steven@gcc.gnu.org>
* system.h: Poison GCC_EXCEPT_H for front-end files.
* langhooks.h (struct lang_hooks): Add eh_protect_cleanup_actions
langhook.
* langhooks-def.h (LANG_HOOKS_EH_PROTECT_CLEANUP_ACTIONS) New.
Define to NULL by default.
* except.h: Define GCC_EXCEPT_H.
(doing_eh): Remove prototype.
(init_eh, init_eh_for_function): Move prototypes to toplev.h.
(lang_protect_cleanup_actions): Remove.
* except.c (lang_protect_cleanup_actions): Remove.
(doing_eh): Remove.
(gen_eh_region): Don't check doing_eh here.
* toplev.h (init_eh, init_eh_for_function_): Moved from except.h.
* tree-eh.c (honor_protect_cleanup_actions): Use new langhook
instead of lang_protect_cleanup_actions.
* omp-low.c (maybe_catch_exception): Likewise.
* Makefile.in: Update dependencies.
gcc/c-family/ChangeLog:
2010-06-28 Steven Bosscher <steven@gcc.gnu.org>
* c-cppbuiltin.c: Do not include except.h.
gcc/objc/ChangeLog:
2010-06-28 Steven Bosscher <steven@gcc.gnu.org>
* objc-act.c: Do not include except.h.
gcc/cp/ChangeLog:
2010-06-28 Steven Bosscher <steven@gcc.gnu.org>
* init.c: Do not include except.h.
* decl.c: Likewise.
* expr.c: Likewise.
* cp-lang.c: Likewise.
* pt.c: Likewise.
* semantics.c: Likewise.
* decl2.c: Likewise.
* except.c: Likewise.
(init_exception_processing): Do not set the removed
lang_protect_cleanup_actions here.
(cp_protect_cleanup_actions): Make non-static and remove prototype.
(doing_eh): New, moved from except.c but removed the do_warning flag.
(expand_start_catch_block): Update doing_eh call.
(expand_end_catch_block): Likewise.
(build_throw): Likewise.
* cp-tree.h: Prototype cp_protect_cleanup_actions.
* cp-objcp-common.h: Set LANG_HOOKS_EH_PROTECT_CLEANUP_ACTIONS to
cp_protect_cleanup_actions.
* Make-lang.in: Update dependencies.
gcc/objcp/ChangeLog:
2010-06-28 Steven Bosscher <steven@gcc.gnu.org>
* objcp-lang.c: Do not include except.h.
* Make-lang.in: Update dependencies.
gcc/java/ChangeLog:
2010-06-28 Steven Bosscher <steven@gcc.gnu.org>
* lang.c: Do not include except.h
* except.c: Likewise.
(doing_eh): New, moved from except.c (in gcc/) but removed the
do_warning flag.
(maybe_start_try): Update doing_eh call.
* Make-lang.in: Update dependencies.
gcc/ada/ChangeLog:
2010-06-28 Steven Bosscher <steven@gcc.gnu.org>
* gcc-interface/misc.c: Do not include except.h.
* gcc-interface/Make-lang.in: Update dependencies.
gcc/fortran/ChangeLog:
2010-06-28 Steven Bosscher <steven@gcc.gnu.org>
* Make-lang.in: Update dependencies.
From-SVN: r161484
2010-06-28 Bingfeng Mei <bmei@broadcom.com>
* cgraph.h (struct varpool_node): new used_from_object_file flag.
(struct cgraph_local_info): new used_from_object_file flag.
* cgraph.c (dump_cgraph_node): dump used_from_object_file flag.
(cgraph_clone_node): initialize used_from_object_file.
(cgraph_create_virtual_clone): initialize used_from_object_file.
* lto-symbtab.c (lto_symtab_merge_decls_1): Set
used_from_object_file flags for symbols of LDPR_PREVAILING_DEF
when compiling with -fwhole-program.
(lto_symtab_resolve_symbols) Use LDPR_PREVAILING_DEF_IRONLY for
internal resolver.
* ipa.c (function_and_variable_visibility): Set externally_visible
flag of varpool_node if used_from_object_file flag is set.
(cgraph_externally_visible_p): check used_from_object_file flag.
* doc/invoke.texi (-fwhole-program option): Change description of
externally_visible attribute accordingly.
* doc/extend.texi (externally_visible): Ditto.
From-SVN: r161483
2010-06-27 Richard Guenther <rguenther@suse.de>
PR tree-optimization/44683
* tree-ssa-dom.c (record_edge_info): Record equivalences for the
false edge from the inverted condition.
* gcc.c-torture/execute/pr44683.c: New testcase.
From-SVN: r161467
* gcc-interface/trans.c: Include tree-flow.h.
(gnu_switch_label_stack): Delete.
(Case_Statement_to_gnu): Do not emit the goto at the end of a case if
its associated block cannot fall through. Do not emit the final label
if no cases branche to it.
* gcc-interface/Make-lang.in (ada/trans.o): Add $(TREE_FLOW_H).
From-SVN: r161461
2010-06-27 Daniel Kraft <d@domob.eu>
* dump-parse-tree.c (show_symbol): Dump target-expression for
associate names.
(show_code_node): Make distinction between BLOCK and ASSOCIATE.
(show_namespace): Use show_level for correct indentation of
"inner namespaces" (contained procedures or BLOCK).
From-SVN: r161460
2010-06-27 Richard Guenther <rguenther@suse.de>
PR middle-end/44684
* tree-ssa-alias.c (refs_may_alias_p_1): Allow SSA name refs.
(stmt_may_clobber_ref_p_1): Do not bother to call the oracle
for register LHS. Or non-store assignments.
From-SVN: r161456
* call.c (add_function_candidate): Set LOOKUP_COPY_PARM for any
constructor called with a single argument that takes a reference
to the constructor's class.
(BAD_CONVERSION_RANK): New.
(compare_ics): Use it to compare bad ICSes.
From-SVN: r161443