platform/upstream/gcc.git
14 years agore PR libstdc++/44708 (Enabling -std=c++0x results in ambiguous function overload...
Paolo Carlini [Tue, 29 Jun 2010 10:03:36 +0000 (10:03 +0000)]
re PR libstdc++/44708 (Enabling -std=c++0x results in ambiguous function overload in <ext/algorithm> header)

2010-06-29  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/44708
* include/ext/algorithm (copy_n): Qualify __copy_n call with
__gnu_cxx::
* testsuite/ext/rope/44708.cc: New.

From-SVN: r161524

14 years agore PR rtl-optimization/44659 (Combiner fails to match QI cmp patterns with upper...
Eric Botcazou [Tue, 29 Jun 2010 09:24:34 +0000 (09:24 +0000)]
re PR rtl-optimization/44659 (Combiner fails to match QI cmp patterns with upper 8bit register)

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

14 years agoDaily bump.
GCC Administrator [Tue, 29 Jun 2010 00:17:05 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r161521

14 years agore PR middle-end/44671 (Partial inlining breaks C++)
Jan Hubicka [Mon, 28 Jun 2010 21:16:25 +0000 (23:16 +0200)]
re PR middle-end/44671 (Partial inlining breaks C++)

PR middle-end/44671
* ipa-split.c (test_nonssa_use, mark_nonssa_use): Check also uses of RESULT_DECL.

From-SVN: r161514

14 years agore PR c++/44682 (warning: variable ‘x’ set but not used)
Jakub Jelinek [Mon, 28 Jun 2010 20:12:31 +0000 (22:12 +0200)]
re PR c++/44682 (warning: variable ‘x’ set but not used)

PR c++/44682
* class.c (build_base_path): If want_pointer, call mark_rvalue_use
on expr.

* g++.dg/warn/Wunused-var-14.C: New test.

From-SVN: r161511

14 years agore PR libfortran/43298 (fortran library does not read in NaN -Inf or Inf)
Tobias Burnus [Mon, 28 Jun 2010 20:04:40 +0000 (22:04 +0200)]
re PR libfortran/43298 (fortran library does not read in NaN -Inf or Inf)

2010-06-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/43298
        * list_read.c (parse_real, read_real): Support NAN(alphanum).

2010-06-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/43298
        * gfortran.dg/nan_6.f90: New.

From-SVN: r161510

14 years agodouble-int.h (force_fit_type_double): Remove declaration.
Anatoly Sokolov [Mon, 28 Jun 2010 18:23:16 +0000 (22:23 +0400)]
double-int.h (force_fit_type_double): Remove declaration.

* double-int.h (force_fit_type_double): Remove declaration.
* double-int.c (force_fit_type_double): Move to tree.c.
* tree.h (force_fit_type_double): Declare.
* tree.h (force_fit_type_double): Moved from double-int.c. Use
double_int type for 'cst' argument. Use double_int_fits_to_tree_p and
double_int_to_tree instead of fit_double_type and build_int_cst_wide.
* convert.c (convert_to_pointer): Adjust call to
force_fit_type_double.
* tree-vrp.c (extract_range_from_assert,
extract_range_from_unary_expr): Adjust call to force_fit_type_double.
* fold-const.c: Update comment.
(int_const_binop, fold_convert_const_int_from_int,
fold_convert_const_int_from_real, fold_convert_const_int_from_fixed,
extract_muldiv_1, fold_div_compare, fold_sign_changed_comparison,
fold_unary_loc, fold_negate_const, fold_abs_const, fold_not_const,
round_up_loc): Adjust call to force_fit_type_double.

/c-family
* c-common.c (shorten_compare): Adjust call to force_fit_type_double.

From-SVN: r161509

14 years ago* config/rs6000/rs6000.h (PROCESSOR_TITAN): Declare.
Philipp Tomsich [Mon, 28 Jun 2010 17:52:59 +0000 (17:52 +0000)]
* config/rs6000/rs6000.h (PROCESSOR_TITAN): Declare.

From-SVN: r161507

14 years agoAdd a testcase for PR tree-optimization/43781.
H.J. Lu [Mon, 28 Jun 2010 17:25:49 +0000 (17:25 +0000)]
Add a testcase for PR tree-optimization/43781.

2010-06-28  H.J. Lu  <hongjiu.lu@intel.com>

PR tree-optimization/43781
* gcc.dg/torture/pr43781.c: New.

From-SVN: r161505

14 years agore PR fortran/40158 (Misleading error message for passing a scalar to an array)
Paul Thomas [Mon, 28 Jun 2010 17:16:06 +0000 (17:16 +0000)]
re PR fortran/40158 (Misleading error message for passing a scalar to an array)

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

14 years agotree-sra.c (convert_callers): New parameter, change fndecls of recursive calls.
Martin Jambor [Mon, 28 Jun 2010 16:47:55 +0000 (18:47 +0200)]
tree-sra.c (convert_callers): New parameter, change fndecls of recursive calls.

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

14 years agoipa-cp.c (ipcp_init_cloned_node): Replace calls to ipa_check_create_node_params and...
Martin Jambor [Mon, 28 Jun 2010 16:43:09 +0000 (18:43 +0200)]
ipa-cp.c (ipcp_init_cloned_node): Replace calls to ipa_check_create_node_params and ipa_initialize_node_params...

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

14 years agore PR tree-optimization/44687 (ICE: in tree_nrv, at tree-nrv.c:155 with -fprofile...
Jan Hubicka [Mon, 28 Jun 2010 15:51:25 +0000 (17:51 +0200)]
re PR tree-optimization/44687 (ICE: in tree_nrv, at tree-nrv.c:155 with -fprofile-generate)

PR tree-optimization/44687
* gcc.c-torture/compile/pr44687.c
PR tree-optimization/44687
* ipa-split.c (split_function): Use DECL_RESULT to store return value.

From-SVN: r161500

14 years agore PR c++/44535 (g++ -O[ 23] generates undefined symbol)
Martin Jambor [Mon, 28 Jun 2010 15:42:01 +0000 (17:42 +0200)]
re PR c++/44535 (g++ -O[ 23] generates undefined symbol)

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

14 years agore PR middle-end/44592 (wrong code at -O3)
Michael Matz [Mon, 28 Jun 2010 15:14:31 +0000 (15:14 +0000)]
re PR middle-end/44592 (wrong code at -O3)

PR middle-end/44592
* gimple-fold.c (gimplify_and_update_call_from_tree): Maintain
proper VDEF chain for intermediate stores in the sequence.

testsuite/
PR middle-end/44592
* gfortran.dg/pr44592.f90: New test.

From-SVN: r161496

14 years agore PR tree-optimization/44357 (internal compiler error: in cgraph_decide_inlining_of_...
Jan Hubicka [Mon, 28 Jun 2010 15:12:11 +0000 (17:12 +0200)]
re PR tree-optimization/44357 (internal compiler error: in cgraph_decide_inlining_of_small_functions)

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

14 years agoltrans-1.c: Add -march=i486 for i?86-*-* && ilp32.
Rainer Orth [Mon, 28 Jun 2010 14:02:07 +0000 (14:02 +0000)]
ltrans-1.c: Add -march=i486 for i?86-*-* && ilp32.

* gcc.dg/tree-ssa/ltrans-1.c: Add -march=i486 for i?86-*-* && ilp32.
* gcc.dg/tree-ssa/ltrans-3.c: Likewise.
* gcc.dg/tree-ssa/ltrans-4.c: Likewise.
* gcc.dg/tree-ssa/ltrans-5.c: Likewise.
* gcc.dg/tree-ssa/ltrans-6.c: Likewise.
* gcc.dg/tree-ssa/ltrans-8.c: Likewise.
* gcc.dg/tree-ssa/vrp47.c: Add -march=i586 for i?86-*-* && ilp32.
* gfortran.dg/ltrans-7.f90: Add -march=i486 for i?86-*-* && ilp32.

From-SVN: r161492

14 years agoconfig.gcc (powerpc*-*-*): Handle titan.
Philipp Tomsich [Mon, 28 Jun 2010 13:22:47 +0000 (13:22 +0000)]
config.gcc (powerpc*-*-*): Handle titan.

2010-06-28  Philipp Tomsich <philipp.tomsich@theobroma-systems.com>

        * config.gcc (powerpc*-*-*): Handle titan.
        * config/rs6000/rs6000.c (titan_cost): New costs.
        (rs6000_override_options): Add "titan" to processor_target_table.
        Add Titan to branch alignment logic.
        Correctly set rs6000_cost for titan.
        * config/rs6000/rs6000.md (cpu): Add titan.  Include "titan.md".
        * config/rs6000/titan.md: New file.
        * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mcpu=titan.

From-SVN: r161491

14 years agotree-browser.c (TB_history_stack): Convert to a VEC.
Nathan Froyd [Mon, 28 Jun 2010 13:06:43 +0000 (13:06 +0000)]
tree-browser.c (TB_history_stack): Convert to a VEC.

* 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

14 years agojava-tree.h (struct lang_type): Change type to a VEC.
Nathan Froyd [Mon, 28 Jun 2010 12:06:52 +0000 (12:06 +0000)]
java-tree.h (struct lang_type): Change type to a VEC.

* 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

14 years agovec.h (vec_heap_free): Add parentheses around free.
Nathan Froyd [Mon, 28 Jun 2010 12:04:54 +0000 (12:04 +0000)]
vec.h (vec_heap_free): Add parentheses around free.

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

14 years agosystem.h: Poison GCC_EXCEPT_H for front-end files.
Steven Bosscher [Mon, 28 Jun 2010 10:52:46 +0000 (10:52 +0000)]
system.h: Poison GCC_EXCEPT_H for front-end files.

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

14 years agocgraph.h (struct varpool_node): new used_from_object_file flag.
Bingfeng Mei [Mon, 28 Jun 2010 10:39:38 +0000 (10:39 +0000)]
cgraph.h (struct varpool_node): new used_from_object_file flag.

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

14 years agoparams.def (max-inline-insns-auto): Default to 40.
Jan Hubicka [Mon, 28 Jun 2010 00:31:05 +0000 (02:31 +0200)]
params.def (max-inline-insns-auto): Default to 40.

* params.def (max-inline-insns-auto): Default to 40.
* doc/invoke.texi (max-inline-insns-auto): Document the change.

From-SVN: r161481

14 years agoDaily bump.
GCC Administrator [Mon, 28 Jun 2010 00:17:06 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r161480

14 years agore PR middle-end/44671 (Partial inlining breaks C++)
Jan Hubicka [Mon, 28 Jun 2010 00:10:34 +0000 (02:10 +0200)]
re PR middle-end/44671 (Partial inlining breaks C++)

PR middle-end/44671
PR middle-end/44686
* tree.c (build_function_decl_skip_args): Clear DECL_BUILT_IN on signature
change.
* ipa-split.c (split_function): Always clear DECL_BUILT_IN.
* ipa-prop.c (ipa_modify_formal_parameters): Likewise.

* gcc.c-torture/pr44686.c: New file.

From-SVN: r161476

14 years agogfortran.h (gfc_code): Split backend_decl field into cycle_label and exit_label fields.
Nathan Froyd [Sun, 27 Jun 2010 20:00:50 +0000 (20:00 +0000)]
gfortran.h (gfc_code): Split backend_decl field into cycle_label and exit_label fields.

* gfortran.h (gfc_code): Split backend_decl field into cycle_label
and exit_label fields.
* trans-openmp.c (gfc_trans_omp_do): Assign to new fields
individually.
* trans-stmt.c (gfc_trans_simple_do): Likewise.
(gfc_trans_do): Likewise.
(gfc_trans_do_while): Likewise.
(gfc_trans_cycle): Use cycle_label directly.
(gfc_trans_exit): Use exit_label directly.

From-SVN: r161473

14 years agotarget.h (struct gcc_target): Add register_move_cost field.
Anatoly Sokolov [Sun, 27 Jun 2010 11:40:42 +0000 (15:40 +0400)]
target.h (struct gcc_target): Add register_move_cost field.

* target.h (struct gcc_target): Add register_move_cost field.
* target-def.h (TARGET_REGISTER_MOVE_COST): New.
(TARGET_INITIALIZER): Use TARGET_REGISTER_MOVE_COST.
* targhooks.c (default_register_move_cost): New function.
* targhooks.h (default_register_move_cost): Declare function.
* defaults.h (REGISTER_MOVE_COST): Delete.
* ira-int.h (ira_register_move_cost): Update comment.
* ira.c: (ira_register_move_cost): Update comment.
* reload.h (register_move_cost): Declare.
* reginfo.c (register_move_cost): New function.
(move_cost): Update comment.
(init_move_cost, memory_move_secondary_cost): Replace
REGISTER_MOVE_COST with register_move_cost.
* postreload.c (reload_cse_simplify_set): (Ditto.).
* reload.c (find_valid_class, find_reloads): (Ditto.).
* reload1.c (choose_reload_regs): (Ditto.).
* doc/tm.texi (TARGET_REGISTER_MOVE_COST): New.
(REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Update documentation.
* doc/md.texi (can_create_pseudo_p): Update documentation.

* config/i386/i386.h (MEMORY_MOVE_COST): Remove macro.
* config/i386/i386-protos.h (int ix86_memory_move_cost): Remove.
* config/i386/i386.h (ix86_memory_move_cost): Make static.
(TARGET_MEMORY_MOVE_COST): Define.

* config/ia64/ia64.h (MEMORY_MOVE_COST): Remove macro.
* config/ia64/ia64-protos.h (int ia64_memory_move_cost): Remove.
* config/ia64/ia64.h (ia64_memory_move_cost): Make static.
(TARGET_MEMORY_MOVE_COST): Define.

From-SVN: r161470

14 years agore PR tree-optimization/44683 (Optimization bug with copysign builtin)
Richard Guenther [Sun, 27 Jun 2010 11:16:46 +0000 (11:16 +0000)]
re PR tree-optimization/44683 (Optimization bug with copysign builtin)

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

14 years agoFix typo
Eric Botcazou [Sun, 27 Jun 2010 10:59:55 +0000 (10:59 +0000)]
Fix typo

From-SVN: r161465

14 years agoregex_compiler.h: Trivial formatting / stylistic fixes.
Paolo Carlini [Sun, 27 Jun 2010 09:29:25 +0000 (09:29 +0000)]
regex_compiler.h: Trivial formatting / stylistic fixes.

2010-06-27  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/regex_compiler.h: Trivial formatting / stylistic fixes.
* include/bits/regex_grep_matcher.tcc: Likewise.
* include/bits/regex_cursor.h: Likewise.
* include/bits/regex.h: Likewise.

From-SVN: r161462

14 years agotrans.c: Include tree-flow.h.
Eric Botcazou [Sun, 27 Jun 2010 08:47:23 +0000 (08:47 +0000)]
trans.c: Include tree-flow.h.

* 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

14 years agodump-parse-tree.c (show_symbol): Dump target-expression for associate names.
Daniel Kraft [Sun, 27 Jun 2010 08:40:40 +0000 (10:40 +0200)]
dump-parse-tree.c (show_symbol): Dump target-expression for associate names.

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

14 years agore PR middle-end/44684 (FAIL: g++.dg/opt/pmf1.C)
Richard Guenther [Sun, 27 Jun 2010 08:10:45 +0000 (08:10 +0000)]
re PR middle-end/44684 (FAIL: g++.dg/opt/pmf1.C)

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

14 years agoDaily bump.
GCC Administrator [Sun, 27 Jun 2010 00:16:50 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r161451

14 years agore PR fortran/44678 (ICE with -fdump-parse-tree and select type)
Thomas Koenig [Sat, 26 Jun 2010 22:54:39 +0000 (22:54 +0000)]
re PR fortran/44678 (ICE with -fdump-parse-tree and select type)

2010-06-27  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/44678
* dump-parse-tree.c (show_code_node):  Show namespace for
EXEC_BLOCK.

From-SVN: r161444

14 years agocall.c (add_function_candidate): Set LOOKUP_COPY_PARM for any constructor called...
Jason Merrill [Sat, 26 Jun 2010 21:34:36 +0000 (17:34 -0400)]
call.c (add_function_candidate): Set LOOKUP_COPY_PARM for any constructor called with a single argument that...

* 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

14 years agosparc.c (sparc_emit_set_const32): Make static.
Eric Botcazou [Sat, 26 Jun 2010 21:08:46 +0000 (21:08 +0000)]
sparc.c (sparc_emit_set_const32): Make static.

* config/sparc/sparc.c (sparc_emit_set_const32): Make static.
(sparc_emit_set_const64): Likewise.  Remove disabled code.
* config/sparc/sparc-protos.h (sparc_emit_set_const32): Delete.
(sparc_emit_set_const64): Likewise.

From-SVN: r161442

14 years ago[multiple changes]
Paolo Carlini [Sat, 26 Jun 2010 20:11:20 +0000 (20:11 +0000)]
[multiple changes]

2010-06-26  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/util/testsuite_hooks.h: Cast fn to bool.

2010-06-26  Kees Cook  <kees.cook@canonical.com>

* testsuite/27_io/ios_base/sync_with_stdio/1.cc: Verify freopen.
* testsuite/27_io/objects/wchar_t/9520.cc: Likewise.
* testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
* testsuite/27_io/objects/wchar_t/12048-2.cc: Likewise.
* testsuite/27_io/objects/wchar_t/12048-4.cc: Likewise.
* testsuite/27_io/objects/wchar_t/11.cc: Likewise.
* testsuite/27_io/objects/wchar_t/12048-1.cc: Likewise.
* testsuite/27_io/objects/wchar_t/12048-3.cc: Likewise.
* testsuite/27_io/objects/wchar_t/10.cc: Likewise.
* testsuite/27_io/objects/wchar_t/12048-5.cc: Likewise.
* testsuite/27_io/objects/char/9661-1.cc: Likewise.
* testsuite/27_io/objects/char/12048-2.cc: Likewise.
* testsuite/27_io/objects/char/12048-4.cc: Likewise.
* testsuite/27_io/objects/char/9.cc: Likewise.
* testsuite/27_io/objects/char/12048-1.cc: Likewise.
* testsuite/27_io/objects/char/12048-3.cc: Likewise.
* testsuite/27_io/objects/char/12048-5.cc: Likewise.
* testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise.
* testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc: Verify fgets.
* testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc: Verify
fwrite.
* testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: Likewise.
* testsuite/ext/stdio_sync_filebuf/char/1.cc: Likewise.

From-SVN: r161441

14 years agomips.md (alu_type): New attribute.
Catherine Moore [Sat, 26 Jun 2010 19:27:04 +0000 (15:27 -0400)]
mips.md (alu_type): New attribute.

2010-06-26  Catherine Moore  <clm@codesourcery.com>

        * config/mips/mips.md (alu_type): New attribute.
        (type): Infer type from alu_type.
        (*add<mode>3, *add<mode>3_mips16, *addsi3_extended,
        *baddu_si_eb, *baddu_si_el, *baddu_di, sub<mode>3,
        *subsi3_extended, negsi2, negdi2, *low<mode>,
        *low<mode>_mips16, *ior<mode>3, *ior<mode>3_mips16,
        xor<mode>3, *nor<mode>3,
        *zero_extend<GPR:mode>_trunc<SHORT:mode>,
        *zero_extendhi_truncqi):  Set alu_type instead of type.

From-SVN: r161440

14 years agoFix typo in last ChangeLog entry.
Douglas Rupp [Sat, 26 Jun 2010 17:44:58 +0000 (17:44 +0000)]
Fix typo in last ChangeLog entry.

From-SVN: r161438

14 years agoFix the Alpha/VMS build. Installed as obvious.
Douglas B Rupp [Sat, 26 Jun 2010 17:42:58 +0000 (17:42 +0000)]
Fix the Alpha/VMS build. Installed as obvious.

* config/alpha/alpha.c (alpha_need_linkage): Adjust
splay_tree_new_gcc_call.
(alpha_use_linkage): Likewise.

From-SVN: r161437

14 years agocollect2.c (main): Remove SWITCHES_NEED_SPACES conditional.
Joseph Myers [Sat, 26 Jun 2010 17:04:16 +0000 (18:04 +0100)]
collect2.c (main): Remove SWITCHES_NEED_SPACES conditional.

* collect2.c (main): Remove SWITCHES_NEED_SPACES conditional.
* doc/tm.texi (SWITCHES_NEED_SPACES): Don't document.
* gcc.c (SWITCHES_NEED_SPACES, switches_need_spaces): Remove.
(static_specs): Remove switches_need_spaces.
(process_command, do_self_spec): Hardcode handling "-o" instead of
checking switches_need_spaces.
* system.h (SWITCHES_NEED_SPACES): Poison.

From-SVN: r161436

14 years agore PR tree-optimization/44393 (ICE: verify_ssa failed: no immediate_use list with...
Richard Guenther [Sat, 26 Jun 2010 15:55:05 +0000 (15:55 +0000)]
re PR tree-optimization/44393 (ICE: verify_ssa failed: no immediate_use list with -Os -ftree-loop-distribution)

2010-06-26  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/44393
* tree-loop-distribution.c (generate_loops_for_partition): Fix
stmt removal and VOP renaming.
(generate_memset_zero): Remove redundant stmt updating.
* tree-flow.h (mark_virtual_ops_in_bb): Remove.
* tree-cfg.c (mark_virtual_ops_in_bb): Likewise.

* gcc.dg/pr44393.c: New testcase.

From-SVN: r161434

14 years agoipa-split-2.c: New testcase.
Jan Hubicka [Sat, 26 Jun 2010 14:45:40 +0000 (16:45 +0200)]
ipa-split-2.c: New testcase.

* 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

14 years agore PR tree-optimization/44674 (ICE: in refs_may_alias_p_1, at tree-ssa-alias.c:953...
Richard Biener [Sat, 26 Jun 2010 13:24:57 +0000 (13:24 +0000)]
re PR tree-optimization/44674 (ICE: in refs_may_alias_p_1, at tree-ssa-alias.c:953 with -fprofile-generate)

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

14 years agogcc.c (n_switches_alloc, [...]): New.
Joseph Myers [Sat, 26 Jun 2010 13:11:04 +0000 (14:11 +0100)]
gcc.c (n_switches_alloc, [...]): New.

* 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

14 years agodecl.c (gfc_match_decl_type_spec): Support TYPE(intrinsic-type-spec).
Tobias Burnus [Sat, 26 Jun 2010 13:03:49 +0000 (15:03 +0200)]
decl.c (gfc_match_decl_type_spec): Support TYPE(intrinsic-type-spec).

2010-06-26  Tobias Burnus  <burnus@net-b.de>

        * decl.c (gfc_match_decl_type_spec): Support
        TYPE(intrinsic-type-spec).

2010-06-26  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/type_decl_1.f90: New.
        * gfortran.dg/type_decl_2.f90: New.

From-SVN: r161429

14 years agore PR middle-end/44671 (Partial inlining breaks C++)
Jan Hubicka [Sat, 26 Jun 2010 11:38:57 +0000 (13:38 +0200)]
re PR middle-end/44671 (Partial inlining breaks C++)

PR middle-end/44671
* cgraphunit.c (cgraph_function_versioning): Remove wrong cgraph_make_decl_local
call; fix typo copying RTL data.

From-SVN: r161428

14 years agosemicolon_fixed.f: Fix dg syntax..
Tobias Burnus [Sat, 26 Jun 2010 06:19:57 +0000 (08:19 +0200)]
semicolon_fixed.f: Fix dg syntax..

2010-06-26  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/semicolon_fixed.f: Fix dg syntax..
        * gfortran.dg/semicolon_fixed_2.f: Ditto.

From-SVN: r161426

14 years agom32c-protos.h (m32c_note_pragma_address): Declare.
DJ Delorie [Sat, 26 Jun 2010 03:30:19 +0000 (23:30 -0400)]
m32c-protos.h (m32c_note_pragma_address): Declare.

* config/m32c/m32c-protos.h (m32c_note_pragma_address): Declare.
(m32c_output_aligned_common): Likewise.
* config/m32c/m32c.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
(ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
* config/m32c/m32c-pragma.c (m32c_pragma_address): New.
(m32c_register_pragmas): Register it.
* config/m32c/m32c.c (m32c_get_pragma_address): New.
(m32c_insert_attributes): Set #pragma address decls volatile.
(pragma_entry_eq): New.
(pragma_entry_hash): New.
(m32c_note_pragma_address): New.
(m32c_get_pragma_address): New.
(m32c_output_aligned_common): New.
* doc/extend.texi: Document the new pragma.

* config/m32c/m32c.c (m32c_illegal_subreg_p): Reject illegal MEMs
also.
* config/m32c/predicates.md (m32c_any_operand): Check the code
instead of memory_operand so as to allow matching volatile MEMs.
(m32c_nonimmediate_operand): Likewise.
(mra_operand): Allow volatiles.

From-SVN: r161425

14 years agoDaily bump.
GCC Administrator [Sat, 26 Jun 2010 00:17:02 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r161424

14 years agofaq.xml: Fix typo.
Jonathan Wakely [Fri, 25 Jun 2010 23:18:08 +0000 (23:18 +0000)]
faq.xml: Fix typo.

2010-06-25  Jonathan Wakely  <jwakely.gcc@gmail.com>

* doc/xml/faq.xml: Fix typo.
* doc/html/faq.xml: Likewise.

From-SVN: r161420

14 years ago2010-06-25 Paolo Carlini <paolo.carlini@oracle.com>
Paolo Carlini [Fri, 25 Jun 2010 23:04:11 +0000 (23:04 +0000)]
2010-06-25  Paolo Carlini <paolo.carlini@oracle.com>

Reformat last ChangeLog entry.

From-SVN: r161419

14 years agore PR testsuite/38946 (gcc trunk 143562 - Testsuite - gfortran failing tests that...
Jerry DeLisle [Fri, 25 Jun 2010 21:32:37 +0000 (21:32 +0000)]
re PR testsuite/38946 (gcc trunk 143562 - Testsuite - gfortran failing tests that worked previously)

2010-06-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR testsuite/38946
* gfortran.dg/array_constructor_23.f: Update test to allow for small
error in comparing reals.

From-SVN: r161416

14 years agore PR debug/44610 (VTA produces wrong variable location information)
Alexandre Oliva [Fri, 25 Jun 2010 21:11:32 +0000 (21:11 +0000)]
re PR debug/44610 (VTA produces wrong variable location information)

PR debug/44610
* simplify-rtx.c (delegitimize_mem_from_attrs): Don't use a base
address if the offset is unknown.

From-SVN: r161413

14 years agointrinsic.h (gfc_check_selected_real_kind, [...]): Update prototypes.
Tobias Burnus [Fri, 25 Jun 2010 19:40:37 +0000 (21:40 +0200)]
intrinsic.h (gfc_check_selected_real_kind, [...]): Update prototypes.

2010-06-25  Tobias Burnus  <burnus@net-b.de>

        * intrinsic.h (gfc_check_selected_real_kind,
        gfc_simplify_selected_real_kind): Update prototypes.
        * intrinsic.c (add_functions): Add radix support to
        selected_real_kind.
        * check.c (gfc_check_selected_real_kind): Ditto.
        * simplify.c (gfc_simplify_selected_real_kind): Ditto.
        * trans-decl.c (gfc_build_intrinsic_function_decls):
        Change call from selected_real_kind to selected_real_kind2008.
        * intrinsic.texi (SELECTED_REAL_KIND): Update for radix.
        (PRECISION, RANGE, RADIX): Add cross @refs.

2010-06-25  Tobias Burnus  <burnus@net-b.de>

        * intrinsics/selected_real_kind.f90
        (_gfortran_selected_real_kind2008): Add function.
        (_gfortran_selected_real_kind): Stub which calls
        _gfortran_selected_real_kind2008.
        * gfortran.map (GFORTRAN_1.4): Add
        _gfortran_selected_real_kind2008.
        * mk-srk-inc.sh: Save also RADIX.

2010-06-25  Tobias Burnus  <burnus@net-b.de>

        * selected_real_kind_2.f90: New.
        * selected_real_kind_3.f90: New.

From-SVN: r161411

14 years agoInitial regex implementation.
Stephen M. Webb [Fri, 25 Jun 2010 19:27:16 +0000 (19:27 +0000)]
Initial regex implementation.

2010-06-25  Stephen M. Webb  <stephen.webb@bregmasoft.ca>

  Initial regex implementation.

  * include/std/regex: Modified to use bits/regex_* headers.
  * include/bits/regex_compiler.h: New file.
  * include/bits/regex_constants.h: New file.
  * include/bits/regex_cursor.h: New file.
  * include/bits/regex_error.h: New file.
  * include/bits/regex_grep_matcher.h: New file.
  * include/bits/regex_grep_matcher.tcc: New file.
  * include/bits/regex.h: New file.
  * include/bits/regex_nfa.h: New file.
  * include/bits/regex_nfa.tcc: New file.
  * include/Makefile.am: Added above new files.
  * include/Makefile.in: Regenerated.
  * testsuite/28_regex/02_definitions: New file.
  * testsuite/28_regex/03_requirements: New file.
  * testsuite/28_regex/03_requirements/typedefs.cc: New file.
  * testsuite/28_regex/04_header: New file.
  * testsuite/28_regex/04_header/regex: New file.
  * testsuite/28_regex/04_header/regex/std_c++0x_neg.cc: New file.
  * testsuite/28_regex/05_constants: New file.
  * testsuite/28_regex/05_constants/error_type.cc: New file.
  * testsuite/28_regex/05_constants/match_flag_type.cc: New file.
  * testsuite/28_regex/05_constants/syntax_option_type.cc: New file.
  * testsuite/28_regex/06_exception_type: New file.
  * testsuite/28_regex/06_exception_type/regex_error.cc: New file.
  * testsuite/28_regex/07_traits: New file.
  * testsuite/28_regex/07_traits/char: New file.
  * testsuite/28_regex/07_traits/char/ctor.cc: New file.
  * testsuite/28_regex/07_traits/char/isctype.cc: New file.
  * testsuite/28_regex/07_traits/char/length.cc: New file.
  * testsuite/28_regex/07_traits/char/lookup_classname.cc: New file.
  * testsuite/28_regex/07_traits/char/lookup_collatename.cc: New file.
  * testsuite/28_regex/07_traits/char/transform.cc: New file.
  * testsuite/28_regex/07_traits/char/transform_primary.cc: New file.
  * testsuite/28_regex/07_traits/char/translate.cc: New file.
  * testsuite/28_regex/07_traits/char/translate_nocase.cc: New file.
  * testsuite/28_regex/07_traits/char/value.cc: New file.
  * testsuite/28_regex/07_traits/wchar_t: New file.
  * testsuite/28_regex/07_traits/wchar_t/ctor.cc: New file.
  * testsuite/28_regex/07_traits/wchar_t/length.cc: New file.
  * testsuite/28_regex/07_traits/wchar_t/transform.cc: New file.
  * testsuite/28_regex/07_traits/wchar_t/translate.cc: New file.
  * testsuite/28_regex/07_traits/wchar_t/translate_nocase.cc: New file.
  * testsuite/28_regex/07_traits/wchar_t/value.cc: New file.
  * testsuite/28_regex/08_basic_regex: New file.
  * testsuite/28_regex/08_basic_regex/assign: New file.
  * testsuite/28_regex/08_basic_regex/assign/char: New file.
  * testsuite/28_regex/08_basic_regex/assign/char/cstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/char/cstring_op.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/char/moveable.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/char/pstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/char/range.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/char/string.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/char/string_op.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/wchar_t: New file.
  * testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring_op.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/wchar_t/pstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/wchar_t/range.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/wchar_t/string.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/wchar_t/string_op.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors: New file.
  * testsuite/28_regex/08_basic_regex/ctors/basic: New file.
  * testsuite/28_regex/08_basic_regex/ctors/basic/cstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/basic/pstring_char.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/basic/pstring_wchar_t.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/basic/string_range_01_02_03.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char/cstring_awk.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char/cstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char/cstring_ecma.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char/cstring_egrep.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char/cstring_grep.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char/default.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char/range.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/copy_char.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/extended: New file.
  * testsuite/28_regex/08_basic_regex/ctors/extended/cstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/extended/string_range_01_02_03.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/move_char.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/string_char.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/string_wchar_t.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/wchar_t: New file.
  * testsuite/28_regex/08_basic_regex/ctors/wchar_t/cstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/wchar_t/default.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/wchar_t/range.cc: New file.
  * testsuite/28_regex/08_basic_regex/regex.cc: New file.
  * testsuite/28_regex/09_sub_match: New file.
  * testsuite/28_regex/09_sub_match/cast_char.cc: New file.
  * testsuite/28_regex/09_sub_match/cast_wchar_t.cc: New file.
  * testsuite/28_regex/09_sub_match/length.cc: New file.
  * testsuite/28_regex/09_sub_match/typedefs.cc: New file.
  * testsuite/28_regex/10_match_results: New file.
  * testsuite/28_regex/10_match_results/ctors: New file.
  * testsuite/28_regex/10_match_results/ctors/char: New file.
  * testsuite/28_regex/10_match_results/ctors/char/default.cc: New file.
  * testsuite/28_regex/10_match_results/ctors/wchar_t: New file.
  * testsuite/28_regex/10_match_results/ctors/wchar_t/default.cc: New file.
  * testsuite/28_regex/10_match_results/typedefs.cc: New file.
  * testsuite/28_regex/11_algorithms: New file.
  * testsuite/28_regex/11_algorithms/02_match: New file.
  * testsuite/28_regex/11_algorithms/02_match/basic: New file.
  * testsuite/28_regex/11_algorithms/02_match/basic/string_01.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/basic/string_range_00_03.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/basic/string_range_01_03.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/basic/string_range_02_03.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/extended: New file.
  * testsuite/28_regex/11_algorithms/02_match/extended/cstring_plus.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/extended/cstring_questionmark.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/extended/string_any.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/extended/string_range_00_03.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/extended/string_range_01_03.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/extended/string_range_02_03.cc: New file.
  * testsuite/28_regex/12_iterators: New file.
  * testsuite/28_regex/12_iterators/regex_iterator: New file.
  * testsuite/28_regex/12_iterators/regex_iterator/ctors: New file.
  * testsuite/28_regex/12_iterators/regex_iterator/ctors/char: New file.
  * testsuite/28_regex/12_iterators/regex_iterator/ctors/char/default.cc: New file.
  * testsuite/28_regex/12_iterators/regex_iterator/ctors/wchar_t: New file.
  * testsuite/28_regex/12_iterators/regex_iterator/ctors/wchar_t/default.cc: New file.
  * testsuite/28_regex/12_iterators/regex_iterator/typedefs.cc: New file.
  * testsuite/28_regex/12_iterators/regex_token_iterator: New file.
  * testsuite/28_regex/12_iterators/regex_token_iterator/ctors: New file.
  * testsuite/28_regex/12_iterators/regex_token_iterator/ctors/char: New file.
  * testsuite/28_regex/12_iterators/regex_token_iterator/ctors/char/default.cc: New file.
  * testsuite/28_regex/12_iterators/regex_token_iterator/ctors/wchar_t: New file.
  * testsuite/28_regex/12_iterators/regex_token_iterator/ctors/wchar_t/default.cc: New file.
  * testsuite/28_regex/12_iterators/regex_token_iterator/typedefs.cc: New file.
  * testsuite/28_regex/13_ecmascript: New file.

From-SVN: r161410

14 years agodecl.c (gfc_match_entry): Mark ENTRY as GFC_STD_F2008_OBS.
Tobias Burnus [Fri, 25 Jun 2010 19:17:21 +0000 (21:17 +0200)]
decl.c (gfc_match_entry): Mark ENTRY as GFC_STD_F2008_OBS.

2010-06-25  Tobias Burnus  <burnus@net-b.de>

        * decl.c (gfc_match_entry): Mark ENTRY as GFC_STD_F2008_OBS.
        * gfortran.texi (_gfortran_set_options): Update for
        GFC_STD_F2008_OBS addition.
        * libgfortran.h: Add GFC_STD_F2008_OBS.
        * options.c (set_default_std_flags, gfc_handle_option): Handle
        GFC_STD_F2008_OBS.
        io.c (check_format): Fix allow_std check.

2010-06-25  Tobias Burnus  <burnus@net-b.de>

        * runtime/compile_options.c (init_compile_options): Update
        compile_options.allow_std for GFC_STD_F2008_OBS.
        * io/transfer.c (formatted_transfer_scalar_read,
        formatted_transfer_scalar_write): Fix allow_std check.
        * io/list_read.c (nml_parse_qualifier): Ditto.

2010-06-25  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/entry_19.f90: New.

From-SVN: r161409

14 years agodecl.c (gfc_match_entry): Allow END besides END SUBROUTINE/END FUNCTION for contained...
Tobias Burnus [Fri, 25 Jun 2010 19:02:47 +0000 (21:02 +0200)]
decl.c (gfc_match_entry): Allow END besides END SUBROUTINE/END FUNCTION for contained procedures.

2010-06-25  Tobias Burnus  <burnus@net-b.de>

        * decl.c (gfc_match_entry): Allow END besides
        END SUBROUTINE/END FUNCTION for contained procedures.

2010-06-25  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/end_subroutine_1.f90: New.
        * gfortran.dg/end_subroutine_2.f90: New.
        * gfortran.dg/interface_proc_end.f90: Update.

From-SVN: r161406

14 years agoparse.c (next_free, next_fixed): Allow ";" as first character.
Tobias Burnus [Fri, 25 Jun 2010 19:01:04 +0000 (21:01 +0200)]
parse.c (next_free, next_fixed): Allow ";" as first character.

2010-06-25  Tobias Burnus  <burnus@net-b.de>

        * parse.c (next_free, next_fixed): Allow ";" as first character.

2010-06-25  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/semicolon_fixed.f: Update.
        * gfortran.dg/semicolon_fixed_2.f: New.
        * gfortran.dg/semicolon_free_2.f90: New.
        * gfortran.dg/semicolon_free.f90: Update.

From-SVN: r161405

14 years agodwarf2out.c (dwarf2out_vms_debug_main_pointer): New function.
Douglas B Rupp [Fri, 25 Jun 2010 18:49:36 +0000 (18:49 +0000)]
dwarf2out.c (dwarf2out_vms_debug_main_pointer): New function.

* dwarf2out.c (dwarf2out_vms_debug_main_pointer): New function.
* dwarf2out.h (dwarf2out_vms_debug_main_pointer): Declare new function.
* config/ia64/ia64-protos.h (ia64_start_function): Declare.
* config/ia64/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Move contents
to ia64_start_function. Invoke it.
* config/ia64/ia64.c (ia64_start_function): Call new function
dwarf2out_vms_debug_main_pointer.

From-SVN: r161402

14 years agoDo not insert statements computing the true predicate.
Sebastian Pop [Fri, 25 Jun 2010 18:38:25 +0000 (18:38 +0000)]
Do not insert statements computing the true predicate.

2010-06-25  Sebastian Pop  <sebastian.pop@amd.com>

* tree-if-conv.c (insert_gimplified_predicates): Do not insert
statements computing the true predicate.

From-SVN: r161398

14 years agoUse reset_bb_predicate whenever the predicate of a BB should be reset to true.
Sebastian Pop [Fri, 25 Jun 2010 18:38:14 +0000 (18:38 +0000)]
Use reset_bb_predicate whenever the predicate of a BB should be reset to true.

2010-06-25  Sebastian Pop  <sebastian.pop@amd.com>

* tree-if-conv.c (init_bb_predicate): Initialize the predicate
to boolean_true_node.
(reset_bb_predicate): New.
(predicate_bbs): Call reset_bb_predicate.

From-SVN: r161397

14 years agoCall cleanup_tree_cfg after if-conversion.
Sebastian Pop [Fri, 25 Jun 2010 18:38:04 +0000 (18:38 +0000)]
Call cleanup_tree_cfg after if-conversion.

2010-06-25  Sebastian Pop  <sebastian.pop@amd.com>

* tree-if-conv.c (combine_blocks): Remove FIXME comment.
(tree_if_conversion): Returns true when something has been changed.
(main_tree_if_conversion): Return TODO_cleanup_cfg when if-conversion
changed something.

From-SVN: r161396

14 years agoAdd a debug counter for the tree-ssa level if-conversion.
Sebastian Pop [Fri, 25 Jun 2010 18:37:50 +0000 (18:37 +0000)]
Add a debug counter for the tree-ssa level if-conversion.

2010-06-25  Sebastian Pop  <sebastian.pop@amd.com>

* Makefile.in (tree-if-conv.o): Depends on DBGCNT_H.
* dbgcnt.def (if_conversion_tree): New DEBUG_COUNTER.
* tree-if-conv.c: Include dbgcnt.h.
(tree_if_conversion): Use if_conversion_tree to count the number of
if-convertible loops.

From-SVN: r161395

14 years agore PR fortran/44448 (32-bit gfortran.dg/atan2_1.f90 fails on Solaris 1[01]/x86 at...
Jerry DeLisle [Fri, 25 Jun 2010 18:31:33 +0000 (18:31 +0000)]
re PR fortran/44448 (32-bit gfortran.dg/atan2_1.f90 fails on Solaris 1[01]/x86 at -O0)

2010-06-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/44448
* gfortran.dg/atan2_1.f90: Add -ffloat-store.

From-SVN: r161392

14 years agoEnable prefetching at -O3 for AMD cpus.
Changpeng Fang [Fri, 25 Jun 2010 18:25:00 +0000 (18:25 +0000)]
Enable prefetching at -O3 for AMD cpus.

2010-06-25  Changpeng Fang  <changpeng.fang@amd.com>

* common.opt (fprefetch-loop-arrays): Re-define
-fprefetch-loop-arrays as a tri-state option with the initial
value of -1.
* tree-ssa-loop.c (gate_tree_ssa_loop_prefetch): Invoke prefetch
pass only when flag_prefetch_loop_arrays > 0.
* toplev.c (process_options): Note that, with tri-states,
flag_prefetch_loop_arrays>0 means prefetching is enabled.
* config/i386/i386.c (override_options): Enable prefetching at -O3
for a set of CPUs that sw prefetching is helpful.
(software_prefetching_beneficial_p): New.  Return TRUE if software
prefetching is beneficial for the given CPU.

From-SVN: r161391

14 years agoprofiler_list_to_slist.h: Remove spurious semicolon; prefer pre-increment.
Paolo Carlini [Fri, 25 Jun 2010 17:06:06 +0000 (17:06 +0000)]
profiler_list_to_slist.h: Remove spurious semicolon; prefer pre-increment.

2010-06-25  Paolo Carlini  <paolo.carlini@oracle.com>

* include/profile/impl/profiler_list_to_slist.h: Remove spurious
semicolon; prefer pre-increment.
* include/profile/impl/profiler_container_size.h: Use everywhere
qualified std::size_t.
* include/profile/impl/profiler_trace.h (__trace_base<>::
__collect_warnings): Tidy loop.
* include/profile/impl/profiler_vector_to_list.h: Minor formatting
changes.

From-SVN: r161390

14 years agoDon't search DEBUG_INSNs for removable zero extends.
H.J. Lu [Fri, 25 Jun 2010 15:33:21 +0000 (15:33 +0000)]
Don't search DEBUG_INSNs for removable zero extends.

2010-06-25  H.J. Lu  <hongjiu.lu@intel.com>

PR rtl-optimization/44326
* implicit-zee.c (find_removable_zero_extends): Replace
INSN_P with NONDEBUG_INSN_P.

From-SVN: r161389

14 years agoipa-prop.h (struct ipa_param_descriptor): Removed the modified flag.
Martin Jambor [Fri, 25 Jun 2010 14:27:47 +0000 (16:27 +0200)]
ipa-prop.h (struct ipa_param_descriptor): Removed the modified flag.

2010-06-25  Martin Jambor  <mjambor@suse.cz>

* ipa-prop.h (struct ipa_param_descriptor): Removed the modified flag.
(struct ipa_node_params): Removed the modification_analysis_done flag.
(ipa_is_param_modified): Removed.
(ipa_analyze_node): Declare.
(ipa_compute_jump_functions): Remove declaration.
(ipa_count_arguments): Likewise.
(ipa_detect_param_modifications): Likewise.
(ipa_analyze_params_uses): Likewise.
* ipa-prop.c (struct param_analysis_info): New type.
(visit_store_addr_for_mod_analysis): Removed.
(visit_load_for_mod_analysis): Renamed to visit_ref_for_mod_analysis,
moved down in the file.
(ipa_detect_param_modifications): Merged into ipa_analyze_params_uses.
(ipa_count_arguments): Made static.
(mark_modified): New function.
(is_parm_modified_before_call): New function.
(compute_pass_through_member_ptrs): New parameter parms_info, call
is_parm_modified_before_call instead of ipa_is_param_modified.
(ipa_compute_jump_functions_for_edge): New parameter parms_info, pass
it to compute_pass_through_member_ptrs.
(ipa_compute_jump_functions): New parameter parms_info, pass it to
ipa_compute_jump_functions_for_edge.  Call ipa_initialize_node_params
on the callee if it is analyzed.  Made static.
(ipa_analyze_indirect_call_uses): New parameter parms_info, call
is_parm_modified_before_call instead of ipa_is_param_modified.
(ipa_analyze_call_uses): New parameter parms_info, pass it to
ipa_analyze_indirect_call_uses.
(ipa_analyze_stmt_uses): New parameter parms_info, pass it to
ipa_analyze_call_uses.
(ipa_analyze_params_uses): New parameter parms_info, pass it to
ipa_analyze_stmt_uses.  Also perform the used analysis.  Made static.
(ipa_analyze_node): New function.
(ipa_print_node_params): Do not dump the modified flag.
(ipa_write_node_info): Assert uses_analysis_done rather than streaming
it.  Do not stream the modified parameter flag.
(ipa_read_node_info): Set uses_analysis_done to 1 instead of streaming
it.  Do not stream the modified parameter flag.
* ipa-cp.c (ipcp_analyze_node): Removed.
(ipcp_init_stage): Iterate only once over the nodes, analyze each one
with only a call to ipa_analyze_node.
* ipa-inline.c (inline_indirect_intraprocedural_analysis): Analyze the
node with only a call to ipa_analyze_node.

* testsuite/g++.dg/ipa/iinline-3.C: New test.
* testsuite/gcc.dg/ipa/modif-1.c: Removed.

From-SVN: r161384

14 years agoinvoke.texi (-Wsuggest-attribute): Add item for noreturn.
Manuel López-Ibáñez [Fri, 25 Jun 2010 13:23:08 +0000 (13:23 +0000)]
invoke.texi (-Wsuggest-attribute): Add item for noreturn.

2010-06-25  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* doc/invoke.texi (-Wsuggest-attribute): Add item for noreturn.

From-SVN: r161383

14 years agotree-pass.h (pass_split_functions): Declare.
Jan Hubicka [Fri, 25 Jun 2010 13:13:31 +0000 (15:13 +0200)]
tree-pass.h (pass_split_functions): Declare.

* tree-pass.h (pass_split_functions): Declare.
* opts.c (decode_options): Enable function splitting at -O2
* timevar.def (TV_IPA_FNSPLIT): New macro.
* ipa-split.c: New file.
* common.opt (-fpartial-inlining): New flag.
* Makefile.in (ipa-split.o): New object file.
* passes.c (init_optimization_passes): Add ipa-split.
* params.def (max-inline-insns-auto): Reduce max-inline-insns-auto to 40.
(partial-inlining-entry-probability): New parameters.
* doc/invoke.texi (-fpartial-inlining): New.

* testsuite/gcc.dg/tree-ssa/ipa-split.c

From-SVN: r161382

14 years agore PR middle-end/44665 (typo in comment, incorrect/out-of-date comment)
Manuel López-Ibáñez [Fri, 25 Jun 2010 13:09:28 +0000 (13:09 +0000)]
re PR middle-end/44665 (typo in comment, incorrect/out-of-date comment)

2010-06-25  Manuel López-Ibáñez  <manu@gcc.gnu.org>

       PR 44665
       * tree-inline.c (gimple_expand_calls_inline): Fix typo in comment.
       * gimplify.c (is_gimple_reg_rhs_or_call): Likewise.
       (gimplify_expr): Likewise.

From-SVN: r161380

14 years agoipa-prop.c (determine_cst_member_ptr): Ignore non-clobbering statements instead of...
Martin Jambor [Fri, 25 Jun 2010 12:46:41 +0000 (14:46 +0200)]
ipa-prop.c (determine_cst_member_ptr): Ignore non-clobbering statements instead of bailing out on them.

2010-06-25  Martin Jambor  <mjambor@suse.cz>

* ipa-prop.c (determine_cst_member_ptr): Ignore non-clobbering
statements instead of bailing out on them.
(ipa_analyze_indirect_call_uses): Do not require that loads from the
parameter are in the same BB as the condition.  Update comments.

* testsuite/g++.dg/ipa/iinline-2.C: New test.

From-SVN: r161377

14 years agore PR middle-end/43866 (wrong code with -fbounds-check -funswitch-loops)
Jakub Jelinek [Fri, 25 Jun 2010 12:10:42 +0000 (14:10 +0200)]
re PR middle-end/43866 (wrong code with -fbounds-check -funswitch-loops)

PR middle-end/43866
* tree-ssa-loop-unswitch.c (tree_may_unswitch_on): If stmt is always
true or always false, return NULL_TREE.
(tree_unswitch_single_loop): Optimize conditions even when reaching
max-unswitch-level parameter.  If num > 0, optimize first all conditions
using entry checks, then do still reachable block discovery and consider
only conditions in still reachable basic blocks in the loop.

* gfortran.dg/pr43866.f90: New test.

From-SVN: r161375

14 years agore PR tree-optimization/44539 (ICE: verify_ssa failed: type mismatch between an SSA_N...
Jakub Jelinek [Fri, 25 Jun 2010 12:07:00 +0000 (14:07 +0200)]
re PR tree-optimization/44539 (ICE: verify_ssa failed: type mismatch between an SSA_NAME and its symbol)

PR tree-optimization/44539
* tree-cfgcleanup.c (fixup_noreturn_call): Call update_stmt even when
the call doesn't have LHS, but has VDEF.

* gcc.dg/pr44539.c: New test.

From-SVN: r161374

14 years agoprofiler_list_to_slist.h: Remove spurious semicolon; prefer pre-increment.
Paolo Carlini [Fri, 25 Jun 2010 11:37:54 +0000 (11:37 +0000)]
profiler_list_to_slist.h: Remove spurious semicolon; prefer pre-increment.

2010-06-25  Paolo Carlini  <paolo.carlini@oracle.com>

* include/profile/impl/profiler_list_to_slist.h: Remove spurious
semicolon; prefer pre-increment.
* include/profile/impl/profiler_container_size.h: Use everywhere
qualified std::size_t.
* include/profile/impl/profiler_trace.h (__trace_base<>::
__collect_warnings): Tidy loop.
* include/profile/impl/profiler_vector_to_list.h: Minor formatting
changes.

From-SVN: r161373

14 years agopa.h (MODIFY_TARGET_NAME): Remove.
Joseph Myers [Fri, 25 Jun 2010 11:12:01 +0000 (12:12 +0100)]
pa.h (MODIFY_TARGET_NAME): Remove.

* config/pa/pa.h (MODIFY_TARGET_NAME): Remove.
* doc/tm.texi (MODIFY_TARGET_NAME): Don't document.
* gcc.c (enum add_del, struct modify_target, modify_target):
Remove.
(process_command): Remove code conditional on MODIFY_TARGET_NAME.
* system.h (MODIFY_TARGET_NAME): Poison.

From-SVN: r161372

14 years agoinvoke.texi: Delete mcmodel=medium from powerpc options.
Alan Modra [Fri, 25 Jun 2010 10:42:41 +0000 (20:12 +0930)]
invoke.texi: Delete mcmodel=medium from powerpc options.

* doc/invoke.texi: Delete mcmodel=medium from powerpc options.
* config/rs6000/rs6000.h (enum rs6000_cmodel): Delete CMODEL_MEDIUM.
* config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set
CMODEL_LARGE as default.
* config/rs6000/rs6000.c (rs6000_handle_option): Remove mcmodel=medium.
(offsettable_ok_by_alignment): Delete.
(rs6000_emit_move): Remove mcmodel=medium optimization.

From-SVN: r161371

14 years agoprofiler_trace.h: Uglify it to __it, use everywhere std::size_t instead of size_t.
Paolo Carlini [Fri, 25 Jun 2010 09:43:18 +0000 (09:43 +0000)]
profiler_trace.h: Uglify it to __it, use everywhere std::size_t instead of size_t.

2010-06-25  Paolo Carlini  <paolo.carlini@oracle.com>

* include/profile/impl/profiler_trace.h: Uglify it to __it, use
everywhere std::size_t instead of size_t.

From-SVN: r161368

14 years agoWith large parts from Jim Wilson:
Bernd Schmidt [Fri, 25 Jun 2010 08:56:24 +0000 (08:56 +0000)]
With large parts from Jim Wilson:

PR target/43902
* tree-pretty-print.c (dump_generic_node, op_code_prio): Add
WIDEN_MULT_PLUS_EXPR and WIDEN_MULT_MINUS_EXPR.
* optabs.c (optab_for_tree_code): Likewise.
(expand_widen_pattern_expr): Likewise.
* tree-ssa-math-opts.c (convert_mult_to_widen): New function, broken
out of execute_optimize_widening_mul.
(convert_plusminus_to_widen): New function.
(execute_optimize_widening_mul): Use the two new functions.
* expr.c (expand_expr_real_2): Add support for GIMPLE_TERNARY_RHS.
Remove code to generate widening multiply-accumulate.  Add support
for WIDEN_MULT_PLUS_EXPR and WIDEN_MULT_MINUS_EXPR.
* gimple-pretty-print.c (dump_ternary_rhs): New function.
(dump_gimple_assign): Call it when appropriate.
* tree.def (WIDEN_MULT_PLUS_EXPR, WIDEN_MULT_MINUS_EXPR): New codes.
* cfgexpand.c (gimple_assign_rhs_to_tree): Likewise.
(expand_gimple_stmt_1): Likewise.
(expand_debug_expr): Support WIDEN_MULT_PLUS_EXPR and
WIDEN_MULT_MINUS_EXPR.
* tree-ssa-operands.c (get_expr_operands): Likewise.
* tree-inline.c (estimate_operator_cost): Likewise.
* gimple.c (extract_ops_from_tree_1): Renamed from
extract_ops_from_tree.  Add new arg for a third operand; fill it.
(gimple_build_assign_stat): Support operations with three operands.
(gimple_build_assign_with_ops_stat): Likewise.
(gimple_assign_set_rhs_from_tree): Likewise.
(gimple_assign_set_rhs_with_ops_1): Renamed from
gimple_assign_set_rhs_with_ops.  Add new arg for a third operand.
(get_gimple_rhs_num_ops): Support GIMPLE_TERNARY_RHS.
(get_gimple_rhs_num_ops): Handle WIDEN_MULT_PLUS_EXPR and
WIDEN_MULT_MINUS_EXPR.
* gimple.h (enum gimple_rhs_class): Add GIMPLE_TERNARY_RHS.
(extract_ops_from_tree_1): Adjust declaration.
(gimple_assign_set_rhs_with_ops_1): Likewise.
(gimple_build_assign_with_ops): Pass NULL for last operand.
(gimple_build_assign_with_ops3): New macro.
(gimple_assign_rhs3, gimple_assign_rhs3_ptr, gimple_assign_set_rhs3,
gimple_assign_set_rhs_with_ops, extract_ops_from_tree): New inline
functions.
* tree-cfg.c (verify_gimple_assign_ternary): New static function.
(verify_gimple_assign): Call it.
* doc/gimple.texi (Manipulating operands): Document GIMPLE_TERNARY_RHS.
(Tuple specific accessors, subsection GIMPLE_ASSIGN): Document new
functions for dealing with three-operand statements.
* tree.c (commutative_ternary_tree_code): New function.
* tree.h (commutative_ternary_tree_code): Declare it.
* tree-vrp.c (gimple_assign_nonnegative_warnv_p): Return false for ternary
statements.
(gimple_assign_nonzero_warnv_p): Likewise.
* tree-ssa-sccvn.c (stmt_has_constants): Handle GIMPLE_TERNARY_RHS.
* tree-ssa-ccp.c (get_rhs_assign_op_for_ccp): New static function.
(ccp_fold): Use it.  Handle GIMPLE_TERNARY_RHS.
* tree-ssa-dom.c (enum expr_kind): Add EXPR_TERNARY.
(struct hashtable_expr): New member ternary in the union.
(initialize_hash_element): Handle GIMPLE_TERNARY_RHS.
(hashable_expr_equal_p): Fix indentation.  Handle EXPR_TERNARY.
(iterative_hash_hashable_expr): Likewise.
(print_expr_hash_elt): Handle EXPR_TERNARY.
* gimple-fold.c (fold_gimple_assign): Handle GIMPLE_TERNARY_RHS.
* tree-ssa-threadedge.c (fold_assignment_stmt): Remove useless break
statements.  Handle GIMPLE_TERNARY_RHS.

testsuite/
PR target/43902
* gcc.target/mips/madd-9.c: New test.

From-SVN: r161366

14 years ago* doc/invoke.texi (-Wsuggest-attribute): Add noreturn.
Jan Hubicka [Fri, 25 Jun 2010 07:56:43 +0000 (09:56 +0200)]
* doc/invoke.texi (-Wsuggest-attribute): Add noreturn.

From-SVN: r161364

14 years agore PR c/44517 (improve diagnostic for mispelled typename in function declaration)
Shujing Zhao [Fri, 25 Jun 2010 07:31:49 +0000 (07:31 +0000)]
re PR c/44517 (improve diagnostic for mispelled typename in function declaration)

gcc/
2010-06-25  Shujing Zhao  <pearly.zhao@oracle.com>

        PR c/44517
        * c-parser.c (c_parser_parms_list_declarator): Return NULL if one of
        parameters are not good.
        (c_parser_parameter_declaration): Error unknown type name if the type
        name can't start declaration specifiers.

gcc/testsuite/
2010-06-25  Shujing Zhao  <pearly.zhao@oracle.com>

        PR c/44517
        * gcc.dg/noncompile/pr44517.c: New.
        * gcc.dg/noncompile/990416-1.c: Adjust expected error.

From-SVN: r161363

14 years agogcc.c (translate_options): Don't mention +e in comment.
Joseph Myers [Fri, 25 Jun 2010 00:26:24 +0000 (01:26 +0100)]
gcc.c (translate_options): Don't mention +e in comment.

* gcc.c (translate_options): Don't mention +e in comment.
(process_command): Don't handle +e specially.

cp:
* lang-specs.h: Remove +e handling.

objcp:
* lang-specs.h: Remove +e handling.

From-SVN: r161355

14 years agoDaily bump.
GCC Administrator [Fri, 25 Jun 2010 00:18:17 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r161354

14 years agoira-int.h (struct live_range, [...]): Renamed from struct ira_allocno_live_range...
Bernd Schmidt [Thu, 24 Jun 2010 23:30:28 +0000 (23:30 +0000)]
ira-int.h (struct live_range, [...]): Renamed from struct ira_allocno_live_range and allocno_live_range_t...

* ira-int.h (struct live_range, live_range_t): Renamed from struct
ira_allocno_live_range and allocno_live_range_t; all uses changed.
* ira-build.c (live_range_pool): Renamed from allocno_live_range_pool.
All uses changed.

From-SVN: r161350

14 years agoira-int.h (SET_MINMAX_SET_BIT, [...]): Renamed from SET_ALLOCNO_SET_BIT...
Bernd Schmidt [Thu, 24 Jun 2010 23:29:44 +0000 (23:29 +0000)]
ira-int.h (SET_MINMAX_SET_BIT, [...]): Renamed from SET_ALLOCNO_SET_BIT...

* ira-int.h (SET_MINMAX_SET_BIT, CLEAR_MINMAX_SET_BIT,
TEST_MINMAX_SET_BIT, minmax_set_iterator, minmax_set_iter_init,
minmax_set_iter_cond, minmax_set_iter_next,
FOR_EACH_BIT_IN_MINMAX_SET): Renamed from SET_ALLOCNO_SET_BIT,
CLEAR_ALLOCNO_SET_BIT, TEST_ALLOCNO_SET_BIT, ira_allocno_set_iterator,
ira_allocno_set_iter_init, ira_allocno_set_iter_cond,
ira_allocno_set_iter_Next and FOR_EACH_ALLOCNO_IN_ALLOCNO_SET.  All
uses changed.

From-SVN: r161349

14 years agoira-color.c (assign_hard_reg): Improve formatting of multi-line for statement.
Bernd Schmidt [Thu, 24 Jun 2010 23:28:35 +0000 (23:28 +0000)]
ira-color.c (assign_hard_reg): Improve formatting of multi-line for statement.

* ira-color.c (assign_hard_reg): Improve formatting of multi-line for
statement.

From-SVN: r161348

14 years agoira-int.h (ira_parent_allocno, [...]): Declare.
Bernd Schmidt [Thu, 24 Jun 2010 23:27:58 +0000 (23:27 +0000)]
ira-int.h (ira_parent_allocno, [...]): Declare.

* ira-int.h (ira_parent_allocno, ira_parent_or_cap_allocno): Declare.
* ira-build.c (ira_parent_allocno, ira_parent_or_cap_allocno): New
functions.
(ira_flattening): Use ira_parent_allocno.
* ira-conflicts.c (process_regs_for_copy, propagate_copies)
build_allocno_conflicts): Use ira_parent_or_cap_allocno.

From-SVN: r161347

14 years agoira-build.c (merge_hard_reg_conflicts): New function.
Bernd Schmidt [Thu, 24 Jun 2010 23:27:09 +0000 (23:27 +0000)]
ira-build.c (merge_hard_reg_conflicts): New function.

* ira-build.c (merge_hard_reg_conflicts): New function.
(create_cap_allocno, copy_info_to_removed_store_destinations,
propagate_some_info_from_allocno, propagate_allocno_info): Use it.
(move_allocno_live_ranges, copy_allocno_live_ranges): New functions.
(remove_unnecessary_allocnos, remove_low_level_allocnos)
copy_nifo_to_removed_store_destination): Use them.
* ira-lives.c (make_hard_regno_born): New function, split out of
make_regno_born.
(make_allocno_born): Likewise.
(make_hard_regno_dead): New function, split out of make_regno_dead.
(make_allocno_dead): Likewise.
(inc_register_pressure): New function, split out of set_allocno_live.
(dec_register_pressure): New function, split out of clear_allocno_live.
(mark_pseudo_regno_live): New function, split out of mark_reg_live.
(mark_hard_reg_live): Likewise.  Use inc_register_pressure.
(mark_pseudo_regno_dead): New function, split out of mark_reg_dead.
(mark_hard_reg_dead): Likewise.  Use dec_register_pressure.
(make_pseudo_conflict): Use mark_pseudo_regno_dead and
mark_pseudo_regno_live.
(process_bb_node_lives): Use mark_pseudo_regno_live,
make_hard_regno_born and make_allocno_dead.
(make_regno_born, make_regno_dead, mark_reg_live, mark_reg_dead,
set_allocno_live, clear_allocno_live): Delete functions.

From-SVN: r161346

14 years ago* ira.c (allocno_pool, copy_pool, allocno_live_range_pool): Delete.
Bernd Schmidt [Thu, 24 Jun 2010 23:25:23 +0000 (23:25 +0000)]
* ira.c (allocno_pool, copy_pool, allocno_live_range_pool): Delete.

From-SVN: r161345

14 years agothumb2.md (thumb2_tlobits_cbranch): Delete.
Richard Earnshaw [Thu, 24 Jun 2010 22:46:54 +0000 (22:46 +0000)]
thumb2.md (thumb2_tlobits_cbranch): Delete.

* thumb2.md (thumb2_tlobits_cbranch): Delete.
(peephole2 to convert zero_extract/compare of single bit to
 lshift/compare): New.

From-SVN: r161344

14 years agoFix type in last checkin. (Added \t that should not have been there.)
Steve Ellcey [Thu, 24 Jun 2010 22:38:15 +0000 (22:38 +0000)]
Fix type in last checkin. (Added \t that should not have been there.)

From-SVN: r161343

14 years agore PR testsuite/43283 (ld: Unsatisfied symbol "start" in file c_lto_20091216-1_0.o)
Steve Ellcey [Thu, 24 Jun 2010 22:31:23 +0000 (22:31 +0000)]
re PR testsuite/43283 (ld: Unsatisfied symbol "start" in file c_lto_20091216-1_0.o)

2010-06-24  Steve Ellcey  <sje@cup.hp.com>

PR testsuite/43283
* gcc.dg/lto/20091216-1_0.c: Use newline instead of semicolon
and add argument to nop for IA64.

From-SVN: r161342

14 years agofold-const.c (const_binop): Remove 'notrunc' argement.
Anatoly Sokolov [Thu, 24 Jun 2010 19:11:19 +0000 (23:11 +0400)]
fold-const.c (const_binop): Remove 'notrunc' argement.

* fold-const.c (const_binop): Remove 'notrunc' argement. Adjust
recursive call and call to 'int_const_binop'.
(build_range_check, fold_cond_expr_with_comparison, unextend,
fold_truthop, extract_muldiv_1, fold_comparison, fold_binary_loc,
multiple_of_p): Adjust call to const_binop.

From-SVN: r161336

14 years agoprofiler_trace.h (__trace_base<>:: __trace_base()): Move inline, simplify; formatting...
Paolo Carlini [Thu, 24 Jun 2010 18:52:42 +0000 (18:52 +0000)]
profiler_trace.h (__trace_base<>:: __trace_base()): Move inline, simplify; formatting tweaks.

2010-06-24  Paolo Carlini  <paolo.carlini@oracle.com>

* include/profile/impl/profiler_trace.h (__trace_base<>::
__trace_base()): Move inline, simplify; formatting tweaks.
* include/profile/impl/profiler_hash_func.h: Formatting tweaks.

From-SVN: r161334

14 years agoprofiler_trace.h (__trace_base<>:: __trace_base()): Move inline, simplify; formatting...
Paolo Carlini [Thu, 24 Jun 2010 18:52:31 +0000 (18:52 +0000)]
profiler_trace.h (__trace_base<>:: __trace_base()): Move inline, simplify; formatting tweaks.

2010-06-24  Paolo Carlini  <paolo.carlini@oracle.com>

* include/profile/impl/profiler_trace.h (__trace_base<>::
__trace_base()): Move inline, simplify; formatting tweaks.
* include/profile/impl/profiler_hash_func.h: Formatting tweaks.

From-SVN: r161333

14 years agoi386.md (XFmode push splitter): Use GET_MODE_SIZE to determine size of XFmode operand.
Uros Bizjak [Thu, 24 Jun 2010 18:35:52 +0000 (20:35 +0200)]
i386.md (XFmode push splitter): Use GET_MODE_SIZE to determine size of XFmode operand.

* config/i386/i386.md (XFmode push splitter): Use GET_MODE_SIZE to
determine size of XFmode operand.
(XFmode extended DFmode push splitter): Ditto.
(XFmode extended SFmode push splitter): Ditto.

From-SVN: r161332

14 years agoAdd missing testcases for PR 44588.
H.J. Lu [Thu, 24 Jun 2010 18:21:21 +0000 (11:21 -0700)]
Add missing testcases for PR 44588.

From-SVN: r161330