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
* gcc.dg/tree-ssa/ipa-split-2.c: New testcase.
* ipa-split.c (consider_split): PHI in entry block is OK as long as all
edges comming from header are equivalent.
(visit_bb): Handle PHIs correctly.
* tree-inline.c (copy_phis_for_bb): Be able to copy
PHI from entry edge.
(copy_cfg_body): Produce edge from entry BB before copying
PHIs.
From-SVN: r161433
2010-06-26 Richard Guenther <rguenther@suse.de>
PR middle-end/44674
* tree-ssa-alias.c (refs_may_alias_p_1): Allow all kind of
decls. Handle LABEL_DECLs like FUNCTION_DECLs.
* gcc.dg/pr44674.c: New testcase.
From-SVN: r161431
* gcc.c (n_switches_alloc, n_infiles_alloc, alloc_infile,
add_infile, alloc_switch): New.
(process_command): Remove variable lang_n_infiles. Process
options in a single pass. Use new functions for allocating
infiles and switches arrays. Properly skip operands of
-Xpreprocessor and -Xassembler.
testsuite:
* gcc.dg/opts-3.c: New test.
From-SVN: r161430