gcc.git
14 years ago* expr.c (pop_arguments): Fix use of undeclared variable.
Nathan Froyd [Wed, 19 May 2010 01:15:43 +0000 (01:15 +0000)]
* expr.c (pop_arguments): Fix use of undeclared variable.

From-SVN: r159555

14 years agoRevert:
Nathan Froyd [Wed, 19 May 2010 00:43:27 +0000 (00:43 +0000)]
Revert:

2010-05-18  Nathan Froyd  <froydnj@codesourcery.com>

* tree.h (build_call_list): Remove.
* tree.c (build_call_list): Remove.

From-SVN: r159554

14 years agoDaily bump.
GCC Administrator [Wed, 19 May 2010 00:18:01 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r159553

14 years agore PR libstdc++/44190 (Debug vector resize does not update capacity)
Eelis van der Weegen [Tue, 18 May 2010 23:58:50 +0000 (23:58 +0000)]
re PR libstdc++/44190 (Debug vector resize does not update capacity)

2010-05-18  Eelis van der Weegen  <gcc-bugzilla@contacts.eelis.net>

PR libstdc++/44190
* include/debug/vector (vector<>::resize): Call
_M_update_guaranteed_capacity.
* testsuite/23_containers/vector/capacity/44190.cc: New.

From-SVN: r159549

14 years agotree.h (build_call_list): Remove.
Nathan Froyd [Tue, 18 May 2010 23:45:21 +0000 (23:45 +0000)]
tree.h (build_call_list): Remove.

gcc/
* tree.h (build_call_list): Remove.
* tree.c (build_call_list): Remove.

gcc/ada/
* gcc-interface/trans.c (call_to_gnu): Use build_call_vec instead of
build_call_list.
* gcc-interface/utils.c (build_function_stub): Likewise.

gcc/cp/
* tree.c (build_min_non_dep_call_vec): Update comment.

gcc/java/
* expr.c (expand_java_multianewarray): Use build_call_vec instead of
build_call_list.
(pop_arguments): Return a VEC instead of a tree.  Take a method type
rather than a list of argument types.
(rewrite_rule): Change signature. of rewrite_arglist member.
(rewrite_arglist_getcaller): Update signature.
(rewrite_arglist_getclass): Likewise.
(maybe_rewrite_invocation): Update for rewrite_arglist change.
(build_known_method_ref): Take a VEC instead of a tree.
(invoke_build_dtable): Likewise.
(expand_invoke): Update calls to pop_arguments.  Use build_call_vec
instead of build_call_list.
(build_jni_stub): Use build_call_vec instead of build_call_list.
* java-tree.h (maybe_rewrite_invocation): Update declaration.
(build_known_method_ref): Likewise.
(invoke_build_dtable): Likewise.

From-SVN: r159548

14 years ago* ipa-reference.c (propagate): Walk all nodes in the cleanup stage.
Jan Hubicka [Tue, 18 May 2010 22:37:32 +0000 (00:37 +0200)]
* ipa-reference.c (propagate): Walk all nodes in the cleanup stage.

From-SVN: r159546

14 years agore PR rtl-optimization/43332 (valgrind warns about using uninitialized variable with...
Vladimir Makarov [Tue, 18 May 2010 22:09:19 +0000 (22:09 +0000)]
re PR rtl-optimization/43332 (valgrind warns about using uninitialized variable with -fsched-pressure -fschedule-insns)

2010-05-18  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/43332
* haifa-sched.c (setup_insn_max_reg_pressure): Check barrier.

From-SVN: r159545

14 years agotree.h (build_int_cstu): Implement as static inline.
Anatoly Sokolov [Tue, 18 May 2010 20:54:59 +0000 (00:54 +0400)]
tree.h (build_int_cstu): Implement as static inline.

* tree.h (build_int_cstu): Implement as static inline.
* tree.c (build_int_cstu): Remove function.
(double_int_to_tree, double_int_fits_to_tree_p): Handle size types as
sign extended.

From-SVN: r159544

14 years ago20011009-1.c (COMMENT): Define.
Rainer Orth [Tue, 18 May 2010 19:05:09 +0000 (19:05 +0000)]
20011009-1.c (COMMENT): Define.

* gcc.target/i386/20011009-1.c (COMMENT): Define.
(main): Use it.
* gcc.target/i386/pr25993.c [__sun__]: Use .globl.
* lib/lto.exp (lto_prune_warns): Fix location line regex.
Prune another location line format.
(lto-obj): Call lto_prune_warns on comp_output.

From-SVN: r159538

14 years agore PR lto/44143 (-fdump-tree-all for lto does not work as expected)
Richard Guenther [Tue, 18 May 2010 15:11:01 +0000 (15:11 +0000)]
re PR lto/44143 (-fdump-tree-all for lto does not work as expected)

2010-05-18  Richard Guenther  <rguenther@suse.de>

PR lto/44143
* lto-wrapper.c (verbose): New variable.  Initialize from -v.
(debug): Initialize from -save-temps.
(collect_execute): Print command-line when verbose.
(run_gcc): Always use COLLECT_GCC_OPTIONS.  Use fork_execute
for ltrans invocation.  Produce -dumpbase flag again.
(process_args): Remove.
(main): Simplify.
* collect2.c (maybe_run_lto_and_relink): Only pass object
files to lto-wrapper.
* gcc.c (LINK_COMMAND_SPEC): Likewise.

From-SVN: r159536

14 years agoipacp_0.c: New test.
Jan Hubicka [Tue, 18 May 2010 14:37:30 +0000 (16:37 +0200)]
ipacp_0.c: New test.

* gcc.dg/lto/ipacp_0.c: New test.
* gcc.dg/lto/ipacp_1.c: New test.

* opts.c (decode_options): Do not disable whopr at ipa_cp.
* ipa-prop.c (ipa_detect_param_modifications): Walk PHI nodes too.

From-SVN: r159535

14 years agofix broken checkin, test should be link not assemble
Steven Bosscher [Tue, 18 May 2010 14:13:10 +0000 (14:13 +0000)]
fix broken checkin, test should be link not assemble

From-SVN: r159533

14 years agore PR lto/44184 ("asm goto" does not work with LTO)
Steven Bosscher [Tue, 18 May 2010 13:51:50 +0000 (13:51 +0000)]
re PR lto/44184 ("asm goto" does not work with LTO)

gcc/
PR lto/44184
* lto-streamer-out.c (output_gimple_stmt): Output number of labels
in a GIMPLE_ASM.
* lto-streamer-in.c (input_gimple_stmt): Read number of labels
in a GIMPLE_ASM.

testsuite/
PR lto/44184
* gcc.dg/lto/20100518_0.c: New test.

From-SVN: r159531

14 years agore PR debug/41371 (var-tracking is slow and memory hungry)
Jakub Jelinek [Tue, 18 May 2010 09:35:52 +0000 (11:35 +0200)]
re PR debug/41371 (var-tracking is slow and memory hungry)

PR debug/41371
* var-tracking.c (find_loc_in_1pdv): Add a few checks from
rtx_equal_p inline.

From-SVN: r159528

14 years agoadd lto to powerpc-*darwin and enable for 32bit darwin
Steven Bosscher [Tue, 18 May 2010 08:12:56 +0000 (08:12 +0000)]
add lto to powerpc-*darwin and enable for 32bit darwin

Steven Bosscher  <steven@gcc.gnu.org>
ChangeLog:
* configure.ac (--enable-lto): All *-apple-darwin* now support LTO.
* configure: Regenerate.

gcc/ChangeLog:
* config.gcc (powerpc-*-darwin*, powerpc64-*-darwin*): Add
lto-macho as lto_binary_reader.

* darwin.c (darwin_asm_named_section): Do not add assembler comment
after .section directive; just print it before the directive instead.

M    gcc/config.gcc
M    gcc/config/darwin.c
M    ChangeLog
M    gcc/ChangeLog

From-SVN: r159527

14 years ago* gnat.dg/specs/lto3.ads: Add missing dg-options.
Eric Botcazou [Tue, 18 May 2010 07:10:11 +0000 (07:10 +0000)]
* gnat.dg/specs/lto3.ads: Add missing dg-options.

From-SVN: r159525

14 years agoDaily bump.
GCC Administrator [Tue, 18 May 2010 00:17:30 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r159523

14 years agocgraph.c (cgraph_create_virtual_clone): Only check versionable_function_p when not...
Jan Hubicka [Mon, 17 May 2010 23:12:14 +0000 (01:12 +0200)]
cgraph.c (cgraph_create_virtual_clone): Only check versionable_function_p when not in wpa and checking is enabled.

* cgraph.c (cgraph_create_virtual_clone): Only check
versionable_function_p when not in wpa and checking is enabled.
* cgrpahunit.c (cgraph_materialize_all_clones): Stabilize after
there are no more functions to materialize.

* lto/lto.c (lto_1_to_1_map): Partition non-inline clones.
(lto_promote_cross_file_statics): Deal with non-inline clones.

From-SVN: r159518

14 years agocgraph.h (struct ipa_replace_map): Add parm_num parameter.
Jan Hubicka [Mon, 17 May 2010 23:02:47 +0000 (01:02 +0200)]
cgraph.h (struct ipa_replace_map): Add parm_num parameter.

* cgraph.h (struct ipa_replace_map): Add parm_num parameter.
* lto-cgraph.c (output_cgraph_opt_summary, input_cgraph_opt_summary):
New functions.
(output_cgraph): Call output_cgraph_opt_summary.
(input_cgrpah): Call input_cgraph_opt_summary.
(output_cgraph_opt_summary_p, output_node_opt_summary,
input_node_opt_summary, input_cgraph_opt_section): New functions.
* lto-section-in.c (lto_section_name): Add cgraphopt.
* tree-inline.c (tree_function_versioning): Handle parm_num.
* lto-streamer.c (lto_get_section_name): Handle cgraphopt.
* lto-streamer.h (lto_section_type): Add LTO_section_cgraph_opt_sum.

From-SVN: r159517

14 years agolto.c (lto_materialize_function): Announce function when reading body...
Jan Hubicka [Mon, 17 May 2010 22:42:02 +0000 (00:42 +0200)]
lto.c (lto_materialize_function): Announce function when reading body...

* lto.c (lto_materialize_function): Announce function when
reading body; allocate_struct_function only when reading body;
do not finalize local statics; ggc_collect after reading;
do not mark reachable node.
(materialize_cgraph): Do not announce function.

From-SVN: r159516

14 years agoAlso apply the insn to prefetch ratio heuristic to loops with known trip count.
Changpeng Fang [Mon, 17 May 2010 22:34:03 +0000 (22:34 +0000)]
Also apply the insn to prefetch ratio heuristic to loops with known trip count.

2010-05-17  Changpeng Fang  <changpeng.fang@amd.com>

* doc/invoke.texi: Update documentation for min-insn-to-prefetch-ratio.
* tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Also apply
the insn to prefetch ratio heuristic to loops with known trip count.

From-SVN: r159515

14 years agoDefine PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO heuristic.
Changpeng Fang [Mon, 17 May 2010 22:33:53 +0000 (22:33 +0000)]
Define PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO heuristic.

2010-05-17  Changpeng Fang  <changpeng.fang@amd.com>

* tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO): New.
(schedule_prefetches): Do not generate a prefetch if the unroll factor
is far from what is required by the prefetch.

From-SVN: r159514

14 years agoipa-cp.c (ipcp_update_callgraph): Use ipa_is_param_used.
Jan Hubicka [Mon, 17 May 2010 22:13:07 +0000 (00:13 +0200)]
ipa-cp.c (ipcp_update_callgraph): Use ipa_is_param_used.

* ipa-cp.c (ipcp_update_callgraph): Use ipa_is_param_used.
(ipcp_estimate_growth): Likewise.
(ipcp_const_param_count): Likewise.
(ipcp_insert_stage): Likewise.
* ipa-prop.c (visit_load_for_mod_analysis): New function.
(visit_store_addr_for_mod_analysis): Set used flag.
(ipa_detect_param_modifications): Set used flag for SSE params;
update use of walk_stmt_load_store_addr_ops.
(ipa_print_node_params): Print used flag.
(ipa_write_node_info): Stream used flag.
(ipa_read_node_info): Likewise.
* ipa-prop.h (struct ipa_param_descriptor): Add used field.
(ipa_is_param_used): New function.
(lto_ipa_fixup_call_notes): Remove unused declaration.

From-SVN: r159513

14 years agore PR target/44074 (Solaris 2.9 x86 Sun assembler doesn't like rep/lock prefixes...
Rainer Orth [Mon, 17 May 2010 20:28:56 +0000 (20:28 +0000)]
re PR target/44074 (Solaris 2.9 x86 Sun assembler doesn't like rep/lock prefixes on same line)

PR target/44074
* configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): New test.
* configure: Regenerate.
* config.in: Regenerate.
* config/i386/i386.c (print_operand) <case ;>: Also print ; if
!HAVE_AS_IX86_REP_LOCK_PREFIX.
Don't emit whitespace.
* config/i386/i386.md (*rep_movdi_rex64): Use {%;} after rep.
(*rep_movsi): Likewise.
(*rep_movsi_rex64): Likewise.
(*rep_movqi): Likewise.
(*rep_movqi_rex64): Likewise.
(*rep_stosdi_rex64): Likewise.
(*rep_stossi): Likewise.
(*rep_stossi_rex64): Likewise.
(*rep_stosqi): Likewise.
(*rep_stosqi_rex64): Likewise.
(*cmpstrnqi_nz_1): Use {%;} after repz.
(*cmpstrnqi_nz_rex_1): Likewise.
(*cmpstrnqi_1): Likewise.
(*cmpstrnqi_rex_1): Likewise.
(*strlenqi_1): Use {%;} after repnz.
(*strlenqi_rex_1): Likewise.
* config/i386/sync.md (memory_barrier_nosse): Replace {%;| } by {%;} .
(*sync_compare_and_swap<mode>): Likewise.
(sync_double_compare_and_swap<mode>): Likewise.
(*sync_double_compare_and_swapdi_pic): Likewise.
(sync_old_add<mode>): Likewise.
(sync_add<mode>): Likewise.
(sync_sub<mode>): Likewise.
(sync_<code><mode>): Likewise.

From-SVN: r159512

14 years agore PR fortran/43990 ([OOP] ICE in output_constructor_regular_field, at varasm.c:4995)
Janus Weil [Mon, 17 May 2010 19:58:48 +0000 (21:58 +0200)]
re PR fortran/43990 ([OOP] ICE in output_constructor_regular_field, at varasm.c:4995)

2010-05-17  Janus Weil  <janus@gcc.gnu.org>

PR fortran/43990
* trans-expr.c (gfc_conv_structure): Remove unneeded and buggy code.
This is now handled via 'gfc_class_null_initializer'.

2010-05-17  Janus Weil  <janus@gcc.gnu.org>

PR fortran/43990
* gfortran.dg/class_21.f03: New.

From-SVN: r159511

14 years agocall.c (struct z_candidate): Add explicit_targs field.
Jason Merrill [Mon, 17 May 2010 19:54:05 +0000 (15:54 -0400)]
call.c (struct z_candidate): Add explicit_targs field.

* call.c (struct z_candidate): Add explicit_targs field.
(add_template_candidate_real): Set it.
(build_over_call): Use it to control init-list warning.

From-SVN: r159510

14 years agore PR c++/44157 ([C++0x] GCC wrongly takes a std::initializer_list argument as non...
Jason Merrill [Mon, 17 May 2010 19:53:55 +0000 (15:53 -0400)]
re PR c++/44157 ([C++0x] GCC wrongly takes a std::initializer_list argument as non-deduced context)

PR c++/44157
* call.c (build_over_call): Limit init-list deduction warning to
cases where the argument is actually an init-list.

From-SVN: r159509

14 years agore PR c++/44158 ([C++0x] wrong overload resolution for copy-initialization from an...
Jason Merrill [Mon, 17 May 2010 19:53:45 +0000 (15:53 -0400)]
re PR c++/44158 ([C++0x] wrong overload resolution for copy-initialization from an rvalue)

PR c++/44158
* call.c (build_over_call): Don't do bitwise copy for move ctor.

From-SVN: r159508

14 years agocgraph.h (cgraph_indirect_call_info): New fields anc_offset, otr_token and polymorphic.
Martin Jambor [Mon, 17 May 2010 19:43:40 +0000 (21:43 +0200)]
cgraph.h (cgraph_indirect_call_info): New fields anc_offset, otr_token and polymorphic.

2010-05-17  Martin Jambor  <mjambor@suse.cz>

* cgraph.h (cgraph_indirect_call_info): New fields anc_offset,
otr_token and polymorphic.
* cgraph.c (cgraph_create_indirect_edge): Inilialize the above fields.
(cgraph_clone_edge): Copy the above fields.
* tree.c (get_binfo_at_offset): New function.
* tree.h (get_binfo_at_offset): Declare.
* ipa-prop.h (enum jump_func_type): Added known_type jump function
type, reordered items, updated comments.
(union jump_func_value): Added base_type field, reordered fields.
(enum ipa_lattice_type): Moved down in the file.
(struct ipa_param_descriptor): New field polymorphic.
(ipa_is_param_polymorphic): New function.
* ipa-prop.c: Include gimple.h and gimple-fold.h.
(ipa_print_node_jump_functions): Print known type jump functions.
(compute_complex_pass_through): Renamed to...
(compute_complex_assign_jump_func): this.
(compute_complex_ancestor_jump_func): New function.
(compute_known_type_jump_func): Likewise.
(compute_scalar_jump_functions): Create known type and complex ancestor
jump functions.
(ipa_note_param_call): New parameter polymorphic, set the corresponding
flag in the call note accordingly.
(ipa_analyze_call_uses): Renamed to...
(ipa_analyze_indirect_call_uses): this.  New parameter target, define
variable var only in the block where it is used.
(ipa_analyze_virtual_call_uses): New function.
(ipa_analyze_call_uses): Likewise.
(combine_known_type_and_ancestor_jfs): Likewise.
(update_jump_functions_after_inlining): Implemented handling of a
number of new jump function types combination.
(print_edge_addition_message): Removed.
(make_edge_direct_to_target): New function.
(try_make_edge_direct_simple_call): Likewise.
(try_make_edge_direct_virtual_call): Likewise.
(update_call_notes_after_inlining): Renamed to...
(update_indirect_edges_after_inlining): this.  Moved edge creation for
indirect calls to try_make_edge_direct_simple_call, also calls
try_make_edge_direct_virtual_call for virtual calls.
(ipa_print_node_params): Changed the header message.
(ipa_write_jump_function): Stream also known type jump functions.
(ipa_read_jump_function): Likewise.
(ipa_write_indirect_edge_info): Stream new fields in
cgraph_indirect_call_info.
(ipa_read_indirect_edge_info): Likewise.
* Makefile.in (ipa-prop.o): Add dependency to GIMPLE_H and
GIMPLE_FOLD_H.

* testsuite/g++.dg/ipa/ivinline-1.C: New test.
* testsuite/g++.dg/ipa/ivinline-2.C: New test.
* testsuite/g++.dg/ipa/ivinline-3.C: New test.
* testsuite/g++.dg/ipa/ivinline-4.C: New test.
* testsuite/g++.dg/ipa/ivinline-5.C: New test.
* testsuite/g++.dg/ipa/ivinline-6.C: New test.

From-SVN: r159507

14 years agoclass.c (gfc_add_component_ref,gfc_class_null_initializer, [...]): Moved here from...
Janus Weil [Mon, 17 May 2010 18:45:32 +0000 (20:45 +0200)]
class.c (gfc_add_component_ref,gfc_class_null_initializer, [...]): Moved here from other places.

2010-05-17  Janus Weil  <janus@gcc.gnu.org>

* class.c (gfc_add_component_ref,gfc_class_null_initializer,
gfc_build_class_symbol,add_proc_component,add_proc_comps,
add_procs_to_declared_vtab1,copy_vtab_proc_comps,
add_procs_to_declared_vtab,add_generic_specifics,
add_generics_to_declared_vtab,gfc_find_derived_vtab,
find_typebound_proc_uop,gfc_find_typebound_proc,
gfc_find_typebound_user_op,gfc_find_typebound_intrinsic_op,
gfc_get_tbp_symtree): Moved here from other places.
* expr.c (gfc_add_component_ref,gfc_class_null_initializer): Move to
class.c.
* gfortran.h (gfc_build_class_symbol,gfc_find_derived_vtab,
gfc_find_typebound_proc,gfc_find_typebound_user_op,
gfc_find_typebound_intrinsic_op,gfc_get_tbp_symtree,
gfc_add_component_ref, gfc_class_null_initializer): Moved to class.c.
* Make-lang.in: Add class.o.
* symbol.c (gfc_build_class_symbol,add_proc_component,add_proc_comps,
add_procs_to_declared_vtab1,copy_vtab_proc_comps,
add_procs_to_declared_vtab,add_generic_specifics,
add_generics_to_declared_vtab,gfc_find_derived_vtab,
find_typebound_proc_uop,gfc_find_typebound_proc,
gfc_find_typebound_user_op,gfc_find_typebound_intrinsic_op,
gfc_get_tbp_symtree): Move to class.c.

From-SVN: r159506

14 years agoForgot ChangeLog entry for last commit.
Rainer Orth [Mon, 17 May 2010 18:19:17 +0000 (18:19 +0000)]
Forgot ChangeLog entry for last commit.

From-SVN: r159504

14 years ago* config/i386/sol2.h (TARGET_SUN_TLS): Remove duplicate definition.
Rainer Orth [Mon, 17 May 2010 18:18:08 +0000 (18:18 +0000)]
* config/i386/sol2.h (TARGET_SUN_TLS): Remove duplicate definition.

From-SVN: r159503

14 years agotree.h (CALL_EXPR_ARGS): Delete.
Nathan Froyd [Mon, 17 May 2010 18:16:27 +0000 (18:16 +0000)]
tree.h (CALL_EXPR_ARGS): Delete.

* tree.h (CALL_EXPR_ARGS): Delete.
(call_expr_arglist): Delete.
* tree.c (call_expr_arglist): Delete.
* builtins.c (fold_call_expr): Pass the whole CALL_EXPR to
targetm.fold_builtin.
* config/alpha/alpha.c (alpha_fold_builtin): Rename arglist parameter.
Rewrite iteration to work on call_expr_nargs rather than TREE_CHAIN.
* config/picochip/picochip.c (picochip_expand_builtin_2op): Rename
arglist parameter.  Use CALL_EXPR_ARG.
(picochip_expand_builtin_3op): Likewise.
(picochip_expand_builtin_2opvoid): Likewise.
(picochip_expand_array_get): Likewise.
(picochip_expand_array_put): Likewise.
(picochip_expand_array_testport): Likewise.
(picochip_expand_builtin): Don't call CALL_EXPR_ARGS.  Pass exp
rather than arglist.
* config/rx/rx.c (rx_expand_builtin): Call call_expr_nargs instead of
CALL_EXPR_ARGS.
* config/sparc/sparc.c (sparc_fold_builtin): Use CALL_EXPR_ARG rather
than TREE_VALUE and TREE_CHAIN.
* config/xtensa/xtensa.c (xtensa_fold_builtin): Likewise.
* doc/tm.texi (TARGET_FOLD_BUILTIN): Pass CALL_EXPR tree instead of
the arglist.

From-SVN: r159502

14 years agore PR c++/44108 (-Wunused-but-set-variable does not consider array sizing use of...
Dodji Seketeli [Mon, 17 May 2010 17:24:32 +0000 (17:24 +0000)]
re PR c++/44108 (-Wunused-but-set-variable does not consider array sizing use of a const variable)

PR c++/44108
* decl.c (compute_array_index_type): Call mark_rvalue_use.

* c-c++-common/Wunused-var-8.c: New test.

Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r159497

14 years agore PR bootstrap/42347 (sched-deps.c:3840:1: internal compiler error: in fixup_reorder...
Jakub Jelinek [Mon, 17 May 2010 17:19:46 +0000 (19:19 +0200)]
re PR bootstrap/42347 (sched-deps.c:3840:1: internal compiler error: in fixup_reorder_chain, at cfglayout.c:796)

PR bootstrap/42347
* cfglayout.c (fixup_reorder_chain): Allow returnjump_p
to have no fallthru edge.

* gcc.c-torture/compile/pr42347.c: New test.

From-SVN: r159496

14 years agore PR middle-end/44102 (ICE with asm goto + __builtin_unreachable () in C++)
Jakub Jelinek [Mon, 17 May 2010 17:18:24 +0000 (19:18 +0200)]
re PR middle-end/44102 (ICE with asm goto + __builtin_unreachable () in C++)

PR middle-end/44102
* cfgcleanup.c (try_optimize_cfg): When removing trivially empty
bb with no successors, move footer whenever in IR_RTL_CFGLAYOUT
mode, not just when CLEANUP_CFGLAYOUT, and when in IR_RTL_CFGRTL
add BARRIER after previous bb if needed.

* g++.dg/ext/asmgoto1.C: New test.

From-SVN: r159495

14 years agofix ChangeLog entries for previous commits
Nathan Froyd [Mon, 17 May 2010 16:28:51 +0000 (16:28 +0000)]
fix ChangeLog entries for previous commits

From-SVN: r159494

14 years agofix bogus email for myself
Nathan Froyd [Mon, 17 May 2010 16:10:31 +0000 (16:10 +0000)]
fix bogus email for myself

From-SVN: r159492

14 years agotree.c (build_function_type_list_1): Remove bogus assert condition.
Nathan Froyd [Mon, 17 May 2010 16:09:35 +0000 (16:09 +0000)]
tree.c (build_function_type_list_1): Remove bogus assert condition.

gcc/
* tree.c (build_function_type_list_1): Remove bogus assert condition.

gcc/fortran/
* trans-types.c (gfc_init_types): Use build_function_type_list.
(gfc_get_ppc_type): Likewise.
* trans-decl.c (gfc_generate_constructors): Likewise.
* f95-lang.c (build_builtin_fntypes): Likewise.
(gfc_init_builtin_functions): Likewise.
(DEF_FUNCTION_TYPE_0): Likewise.
(DEF_FUNCTION_TYPE_1): Likewise.
(DEF_FUNCTION_TYPE_2): Likewise.
(DEF_FUNCTION_TYPE_3): Likewise.
(DEF_FUNCTION_TYPE_4): Likewise.
(DEF_FUNCTION_TYPE_5): Likewise.
(DEF_FUNCTION_TYPE_6): Likewise.
(DEF_FUNCTION_TYPE_7): Likewise.  Use ARG7.
(DEF_FUNCTION_TYPE_VAR_0): Use build_varags_function_type_list.

From-SVN: r159491

14 years agotrans-array.c (gfc_trans_array_constructor_value): Use build_constructor instead...
Nathan Froyd [Mon, 17 May 2010 16:03:46 +0000 (16:03 +0000)]
trans-array.c (gfc_trans_array_constructor_value): Use build_constructor instead of build_constructor_from_list.

* trans-array.c (gfc_trans_array_constructor_value): Use
build_constructor instead of build_constructor_from_list.
(gfc_build_constant_array_constructor): Likewise.
* trans-decl.c (create_main_function): Likewise.
* trans-stmt.c (gfc_trans_character_select): Likewise.

From-SVN: r159490

14 years agors6000.c (rs6000_emit_allocate_stack): Delete unnecessary prototype.
Alan Modra [Mon, 17 May 2010 13:34:23 +0000 (23:04 +0930)]
rs6000.c (rs6000_emit_allocate_stack): Delete unnecessary prototype.

* config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Delete
unnecessary prototype.  Replace copy_r12 and copy_r11 flag params
with copy_reg rtx param.
(rs6000_emit_prologue): Update rs6000_emit_allocate_stack calls.
Correct cases where code for ABI_V4 did not initialise the reg
used to access frame.  Also leave frame_reg_rtx as sp for large
frames that save no regs.

From-SVN: r159483

14 years agore PR middle-end/44133 (Uninit warning regression with new SRA)
Martin Jambor [Mon, 17 May 2010 12:48:34 +0000 (14:48 +0200)]
re PR middle-end/44133 (Uninit warning regression with new SRA)

2010-05-17  Martin Jambor  <mjambor@suse.cz>

PR middle-end/44133
* tree-sra.c (create_access_replacement): New parameter rename, mark
the replaement for renaming only when it is true.
(get_access_replacement): Pass true in the rename parameter of
create_access_replacement.
(get_unrenamed_access_replacement): New function.
(replace_uses_with_default_def_ssa_name): New parameter racc, get the
replacement declaration from it.

* testsuite/gcc.dg/tree-ssa/pr44133.c: New test.
* testsuite/gcc.dg/tree-ssa/sra-9.c: Make the scan regular
expression more precise.

From-SVN: r159482

14 years agofunction.c (try_fit_stack_local, [...]): New static functions.
Bernd Schmidt [Mon, 17 May 2010 11:16:00 +0000 (11:16 +0000)]
function.c (try_fit_stack_local, [...]): New static functions.

* function.c (try_fit_stack_local, add_frame_space): New static
functions.
(assign_stack_local_1): Use them.  Look for opportunities to use
space previously wasted on alignment.
* function.h (struct frame_space): New.
(struct rtl_data): Add FRAME_SPACE_LIST member.
* reload1.c (something_was_spilled): New static variable.
(alter_reg): Set it.
(reload): Test it in addition to testing if the frame size changed.

From-SVN: r159480

14 years agofunctional (result_of): Move...
Paolo Carlini [Mon, 17 May 2010 10:19:31 +0000 (10:19 +0000)]
functional (result_of): Move...

2010-05-17  Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/functional (result_of): Move...
* include/std/type_traits: ... here.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
line number.

From-SVN: r159478

14 years agore PR fortran/44044 ([OOP] SELECT TYPE with class-valued function)
Janus Weil [Mon, 17 May 2010 08:25:06 +0000 (10:25 +0200)]
re PR fortran/44044 ([OOP] SELECT TYPE with class-valued function)

2010-05-17  Janus Weil  <janus@gcc.gnu.org>

PR fortran/44044
* resolve.c (resolve_fl_var_and_proc): Move error messages here from ...
(resolve_fl_variable_derived): ... this place.
(resolve_symbol): Make sure function symbols (and their result
variables) are not resolved twice.

2010-05-17  Janus Weil  <janus@gcc.gnu.org>

PR fortran/44044
* gfortran.dg/class_20.f03: New.

From-SVN: r159476

14 years agore PR middle-end/44078 (FAIL: gcc.dg/tree-ssa/prefetch-7.c)
Christian Borntraeger [Mon, 17 May 2010 07:53:20 +0000 (07:53 +0000)]
re PR middle-end/44078 (FAIL: gcc.dg/tree-ssa/prefetch-7.c)

2010-05-17  Christian Borntraeger  <borntraeger@de.ibm.com>

        PR 44078
        * gcc.dg/tree-ssa/prefetch-7.c: Change pattern to match only the old
        debug messages but not the newly introduced one.

From-SVN: r159475

14 years agos390.c: Define sane prefetch settings and activate flag_prefetch_loop_arrays on -O3.
Christian Borntraeger [Mon, 17 May 2010 07:52:27 +0000 (07:52 +0000)]
s390.c: Define sane prefetch settings and activate flag_prefetch_loop_arrays on -O3.

2010-05-17  Christian Borntraeger  <borntraeger@de.ibm.com>

        * config/s390/s390.c: Define sane prefetch settings and activate
        flag_prefetch_loop_arrays on -O3.
        * config/s390/s390.h: Declare that read can use write prefetch.

From-SVN: r159474

14 years agolto-streamer-out.c (lto_output): Fix --enable-checking=release build.
Jakub Jelinek [Mon, 17 May 2010 07:32:44 +0000 (09:32 +0200)]
lto-streamer-out.c (lto_output): Fix --enable-checking=release build.

* lto-streamer-out.c (lto_output): Fix --enable-checking=release
build.

From-SVN: r159473

14 years agoipa-cp.c (ipcp_versionable_function_p): Walk cgraph edges instead of function body...
Jan Hubicka [Mon, 17 May 2010 07:01:26 +0000 (09:01 +0200)]
ipa-cp.c (ipcp_versionable_function_p): Walk cgraph edges instead of function body...

* ipa-cp.c (ipcp_versionable_function_p): Walk cgraph edges instead of
function body; do not check stdarg field of struct function.

From-SVN: r159472

14 years agoDaily bump.
GCC Administrator [Mon, 17 May 2010 00:16:57 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r159471

14 years agocgraph.c (dump_cgraph_node): Dump versionable flag.
Jan Hubicka [Sun, 16 May 2010 22:24:26 +0000 (00:24 +0200)]
cgraph.c (dump_cgraph_node): Dump versionable flag.

* cgraph.c (dump_cgraph_node): Dump versionable flag.
* cgraph.h (cgraph_local_info): Add versionable flag.
* ipa-cp.c (ipcp_analyze_node): Set versionable flag.
(ipcp_versionable_function_p): Use it.
* lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
versionable flag.

From-SVN: r159467

14 years agocgraph.c (cgraph_clone_node): Take decl argument and insert clone into hash when...
Jan Hubicka [Sun, 16 May 2010 21:49:36 +0000 (23:49 +0200)]
cgraph.c (cgraph_clone_node): Take decl argument and insert clone into hash when it is different from orig.

* cgraph.c (cgraph_clone_node): Take decl argument and insert
clone into hash when it is different from orig.
(cgraph_create_virtual_clone): Update use of cgraph_clone_node.
* cgraph.h (cgraph_clone_node): Update prototype.
* lto-cgrpah.c (lto_cgraph_encoder_new): Create body map.
(lto_cgraph_encoder_delete): Delete body map.
(lto_cgraph_encoder_size): Move to header.
(lto_cgraph_encoder_encode_body_p, lto_set_cgraph_encoder_encode_body): New.
(lto_output_node): Do not take written_decls argument; output clone_of
pointer.
(add_node_to): Add include_body_argument; call
lto_set_cgraph_encoder_encode_body on master of the clone.
(add_references): Update use of add_node_to.
(compute_ltrans_boundary): Likewise.
(output_cgraph): Do not create written_decls bitmap.
(input_node): Take nodes argument; stream in clone_of correctly.
(input_cgraph_1): Update use of input_node.
* lto-streamer-out.c (lto_output): Use encoder info to decide
what bodies to output.
* ipa-inline.c (cgraph_clone_inlined_nodes,
cgraph_decide_recursive_inlining): Update call of cgraph_clone_node.
* lto-streamer.h (lto_cgraph_encoder_d): Add body.
(lto_cgraph_encoder_size): Define here.
(lto_cgraph_encoder_encode_body_p, lto_varpool_encoder_encode_body_p):
Declare.

From-SVN: r159466

14 years agore PR fortran/35779 (error pointer wrong in PARAMETER)
Daniel Franke [Sun, 16 May 2010 20:01:06 +0000 (16:01 -0400)]
re PR fortran/35779 (error pointer wrong in PARAMETER)

gcc/fortran/:
2010-05-16  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/35779
* array.c (match_array_list): Revert functional change of 2010-05-13.

gcc/fortran/:
2010-05-16  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/35779
* gfortran.dg/initialization_25.f90: Commented testcase.
* gfortran.dg/initialization_26.f90: New.

From-SVN: r159465

14 years agoinvoke.texi (-fipa-struct-reorg): Do not mention -fipa-type-escape.
Richard Guenther [Sun, 16 May 2010 19:56:44 +0000 (19:56 +0000)]
invoke.texi (-fipa-struct-reorg): Do not mention -fipa-type-escape.

2010-05-16  Richard Guenther  <rguenther@suse.de>

* doc/invoke.texi (-fipa-struct-reorg): Do not mention
-fipa-type-escape.
* ipa-type-escape.c (gate_type_escape_vars): Run when
-fipa-struct-reorg runs.
* opts.c (decode_options): Do not unset flag_ipa_type_escape.
* common.opt (fipa-type-escape): Remove.

* gcc.dg/pr43317.c: Do not pass -fipa-type-escape.
* gcc.dg/pr43084.c: Likewise.
* gcc.dg/pr42250.c: Pass -fipa-struct-reorg instead of
-fipa-type-escape.
* gcc.dg/struct/wo_prof_escape_arg_to_local.c: Do not pass
-fipa-type-escape.
* gcc.dg/struct/struct-reorg.exp: Likewise.
* gcc.dg/struct/wo_prof_empty_str.c: Likewise.
* gcc.dg/struct/wo_prof_escape_return.c: Likewise.

From-SVN: r159464

14 years agoopts.c (handle_option): Call into LTO streamer only if ENABLE_LTO.
Eric Botcazou [Sun, 16 May 2010 18:46:16 +0000 (18:46 +0000)]
opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO.

* opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO.
(decode_options): Likewise.
* Makefile.in (opts.o): Add dependency on LTO_STREAMER_H.

From-SVN: r159463

14 years agotrans-decl.c (module_htab_decls_hash): Revert last change.
Richard Guenther [Sun, 16 May 2010 17:27:09 +0000 (17:27 +0000)]
trans-decl.c (module_htab_decls_hash): Revert last change.

2010-05-16  Richard Guenther  <rguenther@suse.de>

* trans-decl.c (module_htab_decls_hash): Revert last change.

From-SVN: r159462

14 years agoipa.c (function_and_variable_visibility): Also bring local all aliases.
Jan Hubicka [Sun, 16 May 2010 17:26:55 +0000 (19:26 +0200)]
ipa.c (function_and_variable_visibility): Also bring local all aliases.

* ipa.c (function_and_variable_visibility): Also bring local all
aliases.

From-SVN: r159461

14 years agoalias.c (nonoverlapping_memrefs_p): Remove use of IPA type-escape information.
Richard Guenther [Sun, 16 May 2010 17:15:30 +0000 (17:15 +0000)]
alias.c (nonoverlapping_memrefs_p): Remove use of IPA type-escape information.

2010-05-16  Richard Guenther  <rguenther@suse.de>

* alias.c (nonoverlapping_memrefs_p): Remove use of
IPA type-escape information.

From-SVN: r159460

14 years agoc-common.c (c_common_reswords): Add _Static_assert for C.
Joseph Myers [Sun, 16 May 2010 16:55:16 +0000 (17:55 +0100)]
c-common.c (c_common_reswords): Add _Static_assert for C.

* c-common.c (c_common_reswords): Add _Static_assert for C.
* c-parser.c (c_token_starts_declaration,
c_parser_next_token_starts_declaration,
c_parser_static_assert_declaration_no_semi,
c_parser_static_assert_declaration): New.
(c_parser_declaration_or_fndef): Add parameter static_assert_ok.
Handle static assertions if static_assert_ok.
(c_parser_external_declaration, c_parser_declaration_or_fndef,
c_parser_compound_statement_nostart, c_parser_label,
c_parser_for_statement, c_parser_objc_methodprotolist,
c_parser_omp_for_loop): All callers of
c_parser_declaration_or_fndef changed.
(c_parser_struct_declaration): Handle static assertions.
(c_parser_compound_statement_nostart): Use
c_parser_next_token_starts_declaration and
c_token_starts_declaration to detect start of declarations.
(c_parser_label, c_parser_for_statement, c_parser_omp_for_loop):
Likewise.

testsuite:
* gcc.dg/c1x-static-assert-1.c, gcc.dg/c1x-static-assert-2.c,
gcc.dg/c1x-static-assert-3.c, gcc.dg/c1x-static-assert-4.c,
gcc.dg/c1x-static-assert-5.c, gcc.dg/c1x-static-assert-6.c,
gcc.dg/c90-static-assert-1.c, gcc.dg/c99-static-assert-1.c: New
tests.

From-SVN: r159459

14 years agommix.h (FUNCTION_VALUE, [...]): Remove macros.
Anatoly Sokolov [Sun, 16 May 2010 16:51:40 +0000 (20:51 +0400)]
mmix.h (FUNCTION_VALUE, [...]): Remove macros.

* config/mmix/mmix.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
* config/mmix/mmix.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
TARGET_FUNCTION_VALUE_REGNO_P): Define.
(mmix_function_outgoing_value): Rename to...
(mmix_function_value): ...this. Make static. Add 'outgoing' argument.
(mmix_function_value_regno_p): Make static.
(mmix_libcall_value): New function.
* config/mmix/mmix-protos.h (mmix_function_outgoing_value,
mmix_function_value_regno_p): Remove declaration.

From-SVN: r159458

14 years agotree.c (build_common_builtin_nodes): Always clear TREE_NOTHROW on BUILT_IN_ALLOCA...
Eric Botcazou [Sun, 16 May 2010 15:20:47 +0000 (15:20 +0000)]
tree.c (build_common_builtin_nodes): Always clear TREE_NOTHROW on BUILT_IN_ALLOCA if stack checking is enabled.

* tree.c (build_common_builtin_nodes): Always clear TREE_NOTHROW on
BUILT_IN_ALLOCA if stack checking is enabled.

From-SVN: r159457

14 years agovar-tracking.c (vars_copy_1): Inline ...
Richard Guenther [Sun, 16 May 2010 14:58:34 +0000 (14:58 +0000)]
var-tracking.c (vars_copy_1): Inline ...

2010-05-16  Richard Guenther  <rguenther@suse.de>

* var-tracking.c (vars_copy_1): Inline ...
(vars_copy): ... here.  Use FOR_EACH_HTAB_ELEMENT.
(variable_union): Use FOR_EACH_HTAB_ELEMENT.  Merge asserts.
(variable_merge_over_cur): Adjust.  Merge asserts.
(variable_merge_over_src): Likewise.
(dataflow_set_merge): Use FOR_EACH_HTAB_ELEMENT.
(variable_post_merge_new_vals): Merge asserts.
(variable_post_merge_perm_vals): Likewise.
(find_mem_expr_in_1pdv): Likewise.
(dataflow_set_different_value): Remove.
(onepart_variable_different_p): Merge asserts.
(variable_different_p): Likewise.
(dataflow_set_different_1): Inline ...
(dataflow_set_different): ... here.  Use FOR_EACH_HTAB_ELEMENT.
(emit_notes_for_differences_1): Merge asserts.

From-SVN: r159456

14 years agolto-symtab.c (lto_symtab_entry_hash): Use IDENTIFIER_HASH_VALUE.
Richard Guenther [Sun, 16 May 2010 14:47:38 +0000 (14:47 +0000)]
lto-symtab.c (lto_symtab_entry_hash): Use IDENTIFIER_HASH_VALUE.

2010-05-16  Richard Guenther  <rguenther@suse.de>

* lto-symtab.c (lto_symtab_entry_hash): Use IDENTIFIER_HASH_VALUE.
* optabs.c (libfunc_decl_hash): Likewise.
* varasm.c (emutls_decl): Likewise.

fortran/
* trans-decl.c (module_htab_decls_hash): Use IDENTIFIER_HASH_VALUE.

From-SVN: r159455

14 years agomisc.c (gnat_handle_option): Remove special logic for Wuninitialized without -O.
Manuel López-Ibáñez [Sun, 16 May 2010 10:30:39 +0000 (10:30 +0000)]
misc.c (gnat_handle_option): Remove special logic for Wuninitialized without -O.

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

ada/
* gcc-interface/misc.c (gnat_handle_option): Remove special logic
for Wuninitialized without -O.
fortran/
* options.c (set_Wall): Remove special logic for Wuninitialized
without -O.

From-SVN: r159454

14 years agopass46-frag.c (dg-options): Remove -Wall.
Uros Bizjak [Sun, 16 May 2010 10:03:01 +0000 (12:03 +0200)]
pass46-frag.c (dg-options): Remove -Wall.

* testsuite/libmudflap.c/pass46-frag.c (dg-options): Remove -Wall.

From-SVN: r159453

14 years agogigi.h (enum standard_datatypes): Add new value ADT_exception_data_name_id.
Eric Botcazou [Sun, 16 May 2010 09:11:39 +0000 (09:11 +0000)]
gigi.h (enum standard_datatypes): Add new value ADT_exception_data_name_id.

* gcc-interface/gigi.h (enum standard_datatypes): Add new value
ADT_exception_data_name_id.
(exception_data_name_id): New define.
* gcc-interface/trans.c (gigi): Initialize it.
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Use the standard
exception type for standard exception definitions.  Do not make them
volatile.
<E_Record_Type>: Equate fields of types associated with an exception
definition to those of the standard exception type.

From-SVN: r159452

14 years agoc-decl.c: Don't include gimple.h.
Steven Bosscher [Sun, 16 May 2010 07:12:46 +0000 (07:12 +0000)]
c-decl.c: Don't include gimple.h.

* c-decl.c: Don't include gimple.h.
(merge_decls): Do not copy gimple_body.

From-SVN: r159451

14 years agoc.opt: Add -fnothrow-opt.
Jason Merrill [Sun, 16 May 2010 02:27:02 +0000 (22:27 -0400)]
c.opt: Add -fnothrow-opt.

gcc:
* c.opt: Add -fnothrow-opt.
gcc/cp:
* cp-tree.h (TYPE_NOEXCEPT_P): New macro.
* except.c (begin_eh_spec_block): Use MUST_NOT_THROW_EXPR if
TYPE_NOEXCEPT_P.
(finish_eh_spec_block): Adjust.

From-SVN: r159450

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

From-SVN: r159449

14 years agore PR fortran/44154 (initialization problem with allocatable scalars)
Janus Weil [Sat, 15 May 2010 22:03:09 +0000 (00:03 +0200)]
re PR fortran/44154 (initialization problem with allocatable scalars)

2010-05-15  Janus Weil  <janus@gcc.gnu.org>

PR fortran/44154
PR fortran/42647
* trans-decl.c (gfc_trans_deferred_vars): Modify ordering of
if branches.

2010-05-15  Janus Weil  <janus@gcc.gnu.org>

PR fortran/44154
PR fortran/42647
* gfortran.dg/allocatable_scalar_9.f90: New.

From-SVN: r159445

14 years agoipa-prop.c (ipa_prop_read_section): Add sanity check that node is analyzed.
Jan Hubicka [Sat, 15 May 2010 20:48:58 +0000 (22:48 +0200)]
ipa-prop.c (ipa_prop_read_section): Add sanity check that node is analyzed.

* ipa-prop.c (ipa_prop_read_section): Add sanity check that node is analyzed.
* passes.c (ipa_write_summaries): Write all analyzed nodes.

From-SVN: r159444

14 years agore PR c++/44148 (C++ genericization/gimplification may clobber templare arguments)
Jakub Jelinek [Sat, 15 May 2010 20:23:59 +0000 (22:23 +0200)]
re PR c++/44148 (C++ genericization/gimplification may clobber templare arguments)

PR c++/44148
* pt.c (tsubst): Unshare template argument.

* g++.dg/torture/pr44148.C: New test.

From-SVN: r159443

14 years agovecir.h: New file with VEC primitives for tree, gimple, and rtl.
Steven Bosscher [Sat, 15 May 2010 20:02:11 +0000 (20:02 +0000)]
vecir.h: New file with VEC primitives for tree, gimple, and rtl.

gcc/ChangeLog
* vecir.h: New file with VEC primitives for tree, gimple, and rtl.
* Makefile.in: Add it.
Fix all other Makefile dependencies for changes below.
* tree.h: Include it instead of defining VEC primitives here.
* gimple.h: Likewise.
* rtl.h: Likewise.
* tree-inline.h: Inlclude vecir.h instead of gimple.h.
* except.h: Include vecir.h, break dependence on tree.h.

* gimplify.c (append_to_statement_list_1, append_to_statement_list):
Move from here...
* tree-iterator.c: ...to here.
* tree-iterator.h: Fix file introduction comment.  Add extern markers.

* c-lex.c: Include fixed-value.h instead of rtl.h.  Do not include
tm_p.h.
* c-cppbuiltin.c: Explain why debug.h and tm_p.h are included.
* c-objc-common.h: Do not include tm.h, rtl.h, insn-config.h,
integrate.h, function.h, toplev.h, tree-inline.h, ggc.h,
tree-mudflap.h, and target.h.
* c-semantics.c: Do not include except.h, ggc.h, rtl.h, timevar.h,
predict.h, tree-inline.h, gimple.h, and langhooks.h.
* c-decl.c: Do not include expr.h, ggc.h, libfuncs.h, except.h.
Add FIXME for why gimple.h is still included (should be unnecessary
since GCC 4.5 gimplification unit-at-a-time).
* c-typeck.c: Do not include rtl.h, tm_p.h, ggc.h, and gimple.h.
* c-pragma.c: Add FIXME for why function.h needs to be included just
for cfun, at front-end level.
Add note that REGISTER_TARGET_PRAGMAS should probably be a target hook.
Do not include ggc.h, but include vecprim.h for VEC(char).
* c-opts.c: Do not include tm.h, tree-inline.h, and tm_p.h.
Explain why target.h is included.
* c-omp.h: Do not include tm.h, function.h, and bitmap.h.
Explain why gimple.h is included.
* c-ppoutput.c: Do not include tm.h.
* c-common.c: Do not include gimple.h.  Explain why expr.h is included.
* c-parses.c: Explain why rtl.h is included, and that this (and only
this) is also why tm.h must be included.
Do not include except.h.
* c-lang.c: Do not include ggc.h.

cp/ChangeLog
* decl.c: Include tree-iterator.h, as fixup for tree-inline.h changes.
* Make-lang.in: Fix dependencies accordingly.

From-SVN: r159442

14 years agotarghooks.c (GO_IF_MODE_DEPENDENT_ADDRESS): Use CONST_CAST_RTX.
Uros Bizjak [Sat, 15 May 2010 19:58:30 +0000 (21:58 +0200)]
targhooks.c (GO_IF_MODE_DEPENDENT_ADDRESS): Use CONST_CAST_RTX.

* targhooks.c (GO_IF_MODE_DEPENDENT_ADDRESS): Use CONST_CAST_RTX.

From-SVN: r159441

14 years agomfdg.exp (additional_prunes): New global.
Uros Bizjak [Sat, 15 May 2010 19:19:48 +0000 (21:19 +0200)]
mfdg.exp (additional_prunes): New global.

* testsuite/lib/mfdg.exp (additional_prunes): New global.
(dg-test): Clear additional_prunes before test is run.
(dg-prune-output): New procedure.
* testsuite/lib/libmudflap.exp (libmudflap-dg-test): Do not call
prune_gcc_output.
(libmudflap-dg-prune): New procedure.
* testsuite/libmudflap.c++/pass57-frag.cxx (dg-prune-output):
New dg directive.

From-SVN: r159440

14 years agoc-decl.c (grokfield): Allow typedefs for anonymous structs and unions by default...
Joseph Myers [Sat, 15 May 2010 19:07:01 +0000 (20:07 +0100)]
c-decl.c (grokfield): Allow typedefs for anonymous structs and unions by default if...

* c-decl.c (grokfield): Allow typedefs for anonymous structs and
unions by default if those structs and unions have no tags.  Do
not condition anonymous struct and unions handling on flag_iso.
Allow anonymous structs and unions for C1X.
(finish_struct): Do not diagnose lack of named fields when
anonymous structs and unions present for C1X.  Accept flexible
array members in structure with anonymous structs or unions but no
directly named fields.
* doc/extend.texi (Unnamed Fields): Update.

testsuite:
* gcc.dg/c1x-anon-struct-1.c, gcc.dg/c1x-anon-struct-2.c,
gcc.dg/c90-anon-struct-1.c, gcc.dg/c99-anon-struct-1.c: New tests.
* gcc.dg/20080820.c, gcc.dg/anon-struct-1.c: Update expected
diagnostics and type sizes.

From-SVN: r159439

14 years agogimple.h (compare_field_offset): Rename into...
Eric Botcazou [Sat, 15 May 2010 19:05:06 +0000 (19:05 +0000)]
gimple.h (compare_field_offset): Rename into...

* gimple.h (compare_field_offset): Rename into...
(gimple_compare_field_offset): ...this.
* gimple.c (compare_field_offset): Rename into...
(gimple_compare_field_offset): ...this.  Compare the full access if
the offset is self-referential.
(gimple_types_compatible_p): Adjust for above renaming.
* lto-streamer-in.c (input_gimple_stmt): Likewise.  Also compare the
DECL_NONADDRESSABLE_P flag of fields before merging them.

From-SVN: r159438

14 years agotree.h (ctor_to_list): Delete.
Nathan Froyd [Sat, 15 May 2010 18:41:11 +0000 (18:41 +0000)]
tree.h (ctor_to_list): Delete.

* tree.h (ctor_to_list): Delete.
* tree.c (ctor_to_list): Delete.

From-SVN: r159437

14 years agoipareference_1.c: Rename to ...
Jan Hubicka [Sat, 15 May 2010 17:06:48 +0000 (19:06 +0200)]
ipareference_1.c: Rename to ...

* gcc.dg/lto/ipareference_1.c: Rename to ...
* gcc.dg/lto/ipareference_0.c: ... this one.
* gcc.dg/lto/ipareference_2.c: Rename to ...
* gcc.dg/lto/ipareference_1.c: ... this one.

From-SVN: r159436

14 years agoipa-reference.c: Include toplev.h
Jan Hubicka [Sat, 15 May 2010 16:57:35 +0000 (18:57 +0200)]
ipa-reference.c: Include toplev.h

* ipa-reference.c: Include toplev.h
(is_proper_for_analysis): Only add to all_module_statics
if it is allocated.
(write_node_summary_p, stream_out_bitmap,
ipa_reference_write_optimization_summary,
ipa_reference_read_optimization_summary): New.
(struct ipa_opt_pass_d pass_ipa_reference): Add
optimization summary streaming.
* lto-cgraph.c (referenced_from_this_partition_p,
reachable_from_this_partition_p): New functions.
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
call_may_clobber_ref_p_1): Ask ipa-reference even for public vars.
* opts.c (decode_options): Enable ipa_reference.
* Makefile.in (ipa-reference.o): Add toplev.h dependency.
* lto-streamer.h (referenced_from_this_partition_p,
reachable_from_this_partition_p): Declare.

* gcc.dg/lto/ipareference_1.c: New file.
* gcc.dg/lto/ipareference_2.c: New file.

From-SVN: r159435

14 years agore PR other/44038 (ICE: verify_stmts failed)
Richard Guenther [Sat, 15 May 2010 15:06:47 +0000 (15:06 +0000)]
re PR other/44038 (ICE: verify_stmts failed)

2010-05-15  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/44038
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Avoid
taking the address of a V_C_E of a constant.

* gcc.c-torture/compile/pr44038.c: New testcase.

From-SVN: r159434

14 years agoAdd -std=c99 to avx-cmpsd-1.c and avx-cmpss-1.c.
H.J. Lu [Sat, 15 May 2010 13:54:44 +0000 (13:54 +0000)]
Add -std=c99 to avx-cmpsd-1.c and avx-cmpss-1.c.

2010-05-15  H.J. Lu  <hongjiu.lu@intel.com>

* gcc.target/i386/avx-cmpsd-1.c: Add -std=c99.
* gcc.target/i386/avx-cmpss-1.c: Likewise.

From-SVN: r159432

14 years agore PR fortran/43207 ([OOP] invalid (pointer) assignment to and from abstract non...
Janus Weil [Sat, 15 May 2010 13:52:33 +0000 (15:52 +0200)]
re PR fortran/43207 ([OOP] invalid (pointer) assignment to and from abstract non-polymorphic expressions)

2010-05-15  Janus Weil  <janus@gcc.gnu.org>

PR fortran/43207
PR fortran/43969
* gfortran.h (gfc_class_null_initializer): New prototype.
* expr.c (gfc_class_null_initializer): New function to build a NULL
initializer for CLASS pointers.
* symbol.c (gfc_build_class_symbol): Modify internal naming of class
containers. Remove default NULL initialization of $data component.
* trans.c (gfc_allocate_array_with_status): Fix wording of an error
message.
* trans-expr.c (gfc_conv_initializer,gfc_trans_subcomponent_assign):
Use new function 'gfc_class_null_initializer'.
* trans-intrinsic.c (gfc_conv_allocated): Handle allocatable scalar
class variables.

2010-05-15  Janus Weil  <janus@gcc.gnu.org>

PR fortran/43207
PR fortran/43969
* gfortran.dg/class_18.f03: New.
* gfortran.dg/class_19.f03: New.

From-SVN: r159431

14 years agotree.h (memory_identifier_string): Remove.
Jan Hubicka [Sat, 15 May 2010 09:46:55 +0000 (11:46 +0200)]
tree.h (memory_identifier_string): Remove.

* tree.h (memory_identifier_string): Remove.
* ipa-reference.c: Update comment; do not include gt-ipa-reference.h
(ipa_reference_global_vars_info_d): Remove statics_not_read and
statics_not_written.
(ipa_reference_optimization_summary_d): New structure.
(ipa_reference_optimization_summary_t): New type and vector.
(ipa_reference_vars_info_d): Embedd structures instead of using
pointers.
(reference_vars_to_consider): Remove out of GGC space.
(module_statics_escape): Remove.
(global_info_obstack): Rename to ...
(optimization_summary_obstack): ... this one.
(initialization_status_t): Remove.
(memory_identifier_string): Remove.
(get_reference_vars_info): Fix indenting.
(set_reference_vars_info): Likewise.
(get_reference_optimization_summary): New.
(set_reference_optimization_summary): New.
(get_global_reference_vars_info): Remove.
(ipa_reference_get_read_global): Remove.
(ipa_reference_get_written_global): Remove.
(ipa_reference_get_not_read_global): Update.
(ipa_reference_get_not_written_global): Update.
(is_proper_for_analysis): Outlaw addressable.
(propagate_bits): Update for new datastructures.
(analyze_variable): Remove.
(init_function_info): Update for new datastructures.
(clean_function_local_data): Remove.
(clean_function): Remove.
(copy_global_bitmap): Use optimizations_summary_obstack.
(duplicate_node_data): Duplicate optimization summary only.
(remove_node_data): Remove optimization summary only.
(generate_summary): Do not analyze variables; do not compute
module_statics_escape; do not prune solutions by it.
(read_write_all_from_decl): Fix typos in comments.
(propagate): Doscover readonly and nonaddressable first;
update for new datastructures; share global bitmaps.
* ipa-reference.h (ipa_reference_get_read_global,
ipa_reference_get_written_global): Remove.
* ipa-pure-const.c (check_stmt): Do not use memory_identifier_string.
* Makefile.in: Remove ipa-refereference from GT files.

From-SVN: r159430

14 years agore PR debug/44112 (Revision 159354 causes Fortran test failures)
Jakub Jelinek [Sat, 15 May 2010 06:01:20 +0000 (08:01 +0200)]
re PR debug/44112 (Revision 159354 causes Fortran test failures)

PR debug/44112
* dwarf2out.c (resolve_one_addr): Check TREE_ASM_WRITTEN
for all SYMBOL_REF_DECLs.

* gcc.dg/debug/dwarf2/const-1.c: Remove.
* g++.dg/debug/dwarf2/const1.C: Remove.

From-SVN: r159429

14 years agoC++ DR 475
Jason Merrill [Sat, 15 May 2010 02:22:37 +0000 (22:22 -0400)]
C++ DR 475

C++ DR 475
* except.c (build_throw): Simplify, adjust for DR 475.

From-SVN: r159428

14 years ago* fi.po: New.
Joseph Myers [Sat, 15 May 2010 01:06:29 +0000 (02:06 +0100)]
* fi.po: New.

From-SVN: r159426

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

From-SVN: r159425

14 years agocgraph.h (ipa_discover_readonly_nonaddressable_vars): Declare.
Jan Hubicka [Fri, 14 May 2010 23:39:39 +0000 (01:39 +0200)]
cgraph.h (ipa_discover_readonly_nonaddressable_vars): Declare.

* cgraph.h (ipa_discover_readonly_nonaddressable_vars): Declare.
(varpool_all_refs_explicit_p): New inline function.
* ipa-reference.c: Update comment.
(module_statics_written): Remove.
(get_static_decl): Remove.
(ipa_init): Do not initialize module_statics_written.
(analyze_function): Likewise.
(generate_summary): Likewise; do not compute module_statics_readonly
and do not update variable flags.
(propagate): Call ipa_discover_readonly_nonaddressable_vars.
* ipa.c: Inlucde flags.h
(cgraph_local_node_p): New.
(cgraph_remove_unreachable_nodes): Return early when not optimizing;
promote functions to local.
(ipa_discover_readonly_nonaddressable_vars): New function.
(function_and_variable_visibility): Use cgraph_local_node_p.
* varpool.c (varpool_finalize_decl): Set force_output for
DECL_PRESERVE_P vars.

From-SVN: r159421

14 years agore PR fortran/44135 (Negative array bounds lead to spurious warning)
Steven G. Kargl [Fri, 14 May 2010 21:02:26 +0000 (21:02 +0000)]
re PR fortran/44135 (Negative array bounds lead to spurious warning)

2010-05-14  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/44135
* gfortran.dg/actual_array_interface_2.f90: New test.

2010-05-14  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/44135
* fortran/interface.c (get_sym_storage_size): Use signed instead of
unsigned mpz_get_?i routines.

From-SVN: r159415

14 years agore PR middle-end/44103 (New Java test failures)
Nathan Froyd [Fri, 14 May 2010 20:47:39 +0000 (20:47 +0000)]
re PR middle-end/44103 (New Java test failures)

PR 44103
* java-tree.h (START_RECORD_CONSTRUCTOR): Change first argument to a
vector.  Move call to build_constructor...
(FINISH_RECORD_CONSTRUCTOR): ...here.  Add necessary arguments.  Clear
TREE_CONSTANT on the constructor.
(PUSH_SUPER_VALUE): Change first argument to a vector.
(PUSH_FIELD_VALUE): Likewise.
* resource.c (compile_resource_data): Update calls to above macros.
* constants.c (build_constants_constructor): Likewise.
* class.c (build_utf8_ref): Likewise.
(make_field_value): Likewise.
(make_method_value): Likewise.
(add_table_and_syms): New function.
(make_class_data): Call it.  Update calls to above macros.
(build_symbol_table_entry): New function.
(build_symbol_entry): Call it.  Update calls to above macros.
(emit_symbol_table): Likewise.
(make_catch_class_record): Update calls to above macros.
(build_assertion_table_entry): New function.
(add_assertion_table_entry): Call it.
(emit_assertion_table): Likewise.

From-SVN: r159414

14 years ago* ipa.c (cgraph_remove_unreachable_nodes): Revert accidental commit.
Jan Hubicka [Fri, 14 May 2010 20:38:43 +0000 (22:38 +0200)]
* ipa.c (cgraph_remove_unreachable_nodes): Revert accidental commit.

From-SVN: r159413

14 years agore PR tree-optimization/44119 (error: SSA name in freelist but still referenced)
Richard Guenther [Fri, 14 May 2010 20:18:34 +0000 (20:18 +0000)]
re PR tree-optimization/44119 (error: SSA name in freelist but still referenced)

2010-05-14  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/44119
* tree-ssa-pre.c (eliminate): Properly mark replacement of
a PHI node necessary.

* gcc.c-torture/compile/pr44119.c: New testcase.

From-SVN: r159412

14 years ago* tree.h (TREE_ADDRESSABLE): Remove bogus usage for FIELD_DECL.
Eric Botcazou [Fri, 14 May 2010 19:27:14 +0000 (19:27 +0000)]
* tree.h (TREE_ADDRESSABLE): Remove bogus usage for FIELD_DECL.

From-SVN: r159409

14 years agore PR c++/44127 (G++ emits unnecessary EH code)
Jason Merrill [Fri, 14 May 2010 18:55:22 +0000 (14:55 -0400)]
re PR c++/44127 (G++ emits unnecessary EH code)

PR c++/44127
gcc:
* gimple.h (enum gf_mask): Add GF_CALL_NOTHROW.
(gimple_call_set_nothrow): New.
* gimple.c (gimple_build_call_from_tree): Call it.
(gimple_call_flags): Set ECF_NOTHROW from GF_CALL_NOTHROW.
gcc/cp:
* except.c (dtor_nothrow): Return nonzero for type with
trivial destructor.

From-SVN: r159408

14 years agore PR c++/44127 (G++ emits unnecessary EH code)
Jason Merrill [Fri, 14 May 2010 18:55:10 +0000 (14:55 -0400)]
re PR c++/44127 (G++ emits unnecessary EH code)

PR c++/44127
gcc:
* gimplify.c (gimplify_seq_add_stmt): No longer static.
* gimple.h: Declare it.
* gimple.c (gimple_build_eh_filter): No ops.
gcc/cp:
* cp-gimplify.c (gimplify_must_not_throw_expr): Use
gimple_build_eh_must_not_throw.

From-SVN: r159407

14 years agoipa.c (enqueue_cgraph_node): Update comment; do not re-enqueue nodes already in queue.
Jan Hubicka [Fri, 14 May 2010 18:34:30 +0000 (20:34 +0200)]
ipa.c (enqueue_cgraph_node): Update comment; do not re-enqueue nodes already in queue.

* ipa.c (enqueue_cgraph_node): Update comment; do not re-enqueue
nodes already in queue.
(cgraph_remove_unreachable_nodes): Cleanup; fix problem with re-enqueueing
node.

From-SVN: r159405

14 years agore PR debug/44136 (ICE in expand_debug_expr with -mno-sse)
Jakub Jelinek [Fri, 14 May 2010 18:09:14 +0000 (20:09 +0200)]
re PR debug/44136 (ICE in expand_debug_expr with -mno-sse)

PR debug/44136
* cfgexpand.c (expand_debug_expr): If non-memory op0
has BLKmode, return NULL.

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

From-SVN: r159400

14 years agoconfig.gcc: Add support for --with-cpu option for bdver1.
Harsha Jagasia [Fri, 14 May 2010 17:35:11 +0000 (17:35 +0000)]
config.gcc: Add support for --with-cpu option for bdver1.

2010-05-14  Harsha Jagasia  <harsha.jagasia@amd.com>

* config.gcc: Add support for --with-cpu option for bdver1.
* config/i386/i386.h (TARGET_BDVER1): New macro.
(ix86_tune_indices): Change SSE_UNALIGNED_MOVE_OPTIMAL
to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
(ix86_tune_features) :Change SSE_UNALIGNED_MOVE_OPTIMAL
to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
Add SSE_PACKED_SINGLE_INSN_OPTIMAL.
(TARGET_CPU_DEFAULT_NAMES): Add bdver1.
(processor_type): Add PROCESSOR_BDVER1.
* config/i386/i386.md: Add bdver1 as a new cpu attribute to match
processor_type in config/i386/i386.h.
Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit
movaps <reg, reg> instead of movapd <reg, reg> when replacing
movsd <reg, reg> or movss <reg, reg> for SSE and AVX.
Add check for  TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL
to emit packed xor instead of packed double/packed integer
xor for SSE and AVX when moving a zero value.
* config/i386/sse.md: Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL
 to emit movaps instead of movapd/movdqa for SSE and AVX.
Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed single
logical operations i.e and, or and xor instead of packed double logical
operations for SSE and AVX.
* config/i386/i386-c.c:
(ix86_target_macros_internal): Add PROCESSOR_BDVER1.
* config/i386/driver-i386.c: Turn on -mtune=native for BDVER1.
(has_fma4, has_xop): New.
* config/i386/i386.c (bdver1_cost): New variable.
(m_BDVER1): New macro.
(m_AMD_MULTIPLE): Add m_BDVER1.
(x86_tune_use_leave, x86_tune_push_memory, x86_tune_unroll_strlen,
 x86_tune_deep_branch_prediction, x86_tune_use_sahf, x86_tune_movx,
 x86_tune_use_simode_fiop, x86_tune_promote_qimode,
 x86_tune_add_esp_8, x86_tune_tune_sub_esp_4, x86_tune_sub_esp_8,
 x86_tune_integer_dfmode_moves, x86_tune_partial_reg_dependency,
 x86_tune_sse_partial_reg_dependency, x86_tune_sse_unaligned_load_optimal,
 x86_tune_sse_unaligned_store_optimal, x86_tune_sse_typeless_stores,
 x86_tune_memory_mismatch_stall, x86_tune_use_ffreep,
 x86_tune_inter_unit_moves, x86_tune_inter_unit_conversions,
 x86_tune_use_bt, x86_tune_pad_returns, x86_tune_slow_imul_imm32_mem,
 x86_tune_slow_imul_imm8, x86_tune_fuse_cmp_and_branch):
Enable/disable for bdver1.
(processor_target_table): Add bdver1_cost.
(cpu_names): Add bdver1.
(override_options): Set up PROCESSOR_BDVER1 for bdver1 entry in
 processor_alias_table.
(ix86_expand_vector_move_misalign): Change
 TARGET_SSE_UNALIGNED_MOVE_OPTIMAL to TARGET_SSE_UNALIGNED_LOAD_OPTIMAL.
 Check for TARGET_SSE_UNALIGNED_STORE_OPTIMAL.
 Check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movups instead
 of movupd/movdqu for SSE and AVX.
(ix86_tune_issue_rate): Add PROCESSOR_BDVER1.
(ix86_tune_adjust_cost): Add code for bdver1.
(standard_sse_constant_opcode): Add check for
TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed single xor instead
of packed double xor for SSE and AVX.

From-SVN: r159399

14 years agotree-ssa-loop.prefetch.c (prune_ref_by_group_reuse): Cast abs() result to unsigned.
Pat Haugen [Fri, 14 May 2010 15:48:51 +0000 (15:48 +0000)]
tree-ssa-loop.prefetch.c (prune_ref_by_group_reuse): Cast abs() result to unsigned.

* tree-ssa-loop.prefetch.c (prune_ref_by_group_reuse): Cast abs()
result to unsigned.

From-SVN: r159397