1. 19 May, 2010 9 commits
    • sfp-machine.h (FP_HANDLE_EXCEPTIONS): Support Sun assembler syntax. · ed104137
      	libgcc:
      	* config/i386/32/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Support Sun
      	assembler syntax.
      
      	gcc:
      	* config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
      	pentiumpro on Solaris 8/x86 with Sun as.
      	* configure.ac (gcc_cv_as_hidden): Check for Solaris 9/x86 as
      	hidden alias bug.
      	(gcc_cv_as_ix86_quad): Check for .quad directive.
      	* configure: Regenerate.
      	* config.in: Regenerate.
      	* config/i386/sol2.h (ASM_QUAD): Change guard to !HAVE_AS_IX86_QUAD.
      
      From-SVN: r159569
      Rainer Orth committed
    • re PR fortran/42360 (intent(out)-dummy-not-set warning for types depends on… · 16e520b6
      re PR fortran/42360 (intent(out)-dummy-not-set warning for types depends on order of component initializers)
      
      gcc/fortran/:
      2010-05-19  Daniel Franke  <franke.daniel@gmail.com>
      
      	PR fortran/42360
      	* gfortran.h (gfc_has_default_initializer): New.
      	* expr.c (gfc_has_default_initializer): New.
      	* resolve.c (has_default_initializer): Removed, use
      	gfc_has_default_initializer() instead. Updated all callers.
      	* trans-array.c (has_default_initializer): Removed, use
      	gfc_has_default_initializer() instead. Updated all callers.
      	* trans-decl.c (generate_local_decl): Do not check the
      	first component only to check for initializers, but use
      	gfc_has_default_initializer() instead.
      
      gcc/testsuite/:
      2010-05-19  Daniel Franke  <franke.daniel@gmail.com>
      
      	PR fortran/42360
      	* gfortran.dg/warn_intent_out_not_set.f90: New.
      
      From-SVN: r159562
      Daniel Franke committed
    • re PR fortran/38404 (Warning message identifies incorrect line) · 66faed76
      gcc/fortran/:
      2010-05-19  Daniel Franke  <franke.daniel@gmail.com>
      
      	PR fortran/38404
      	* primary.c (match_string_constant): Move start_locus just inside 
      	the string.
      	* data.c (create_character_intializer): Clarified truncation warning.
      
      gcc/testsuite/:
      2010-05-19  Daniel Franke  <franke.daniel@gmail.com>
      
      	PR fortran/38404
      	* gfortran.dg/data_char_1.f90: Updated warning message.
      	* gfortran.dg/data_array_6.f: New.
      
      From-SVN: r159561
      Daniel Franke committed
    • ipa-prop.c (ipa_print_node_jump_functions): Print jump functions also for indirect edges. · 749aa96d
      2010-05-19  Martin Jambor  <mjambor@suse.cz>
      
      	* ipa-prop.c (ipa_print_node_jump_functions): Print jump functions
      	also for indirect edges.  Actual printing moved...
      	(ipa_print_node_jump_functions_for_edge): ...here.
      	(ipa_compute_jump_functions): Renamed to
      	ipa_compute_jump_functions_for_edge and made static.
      	(ipa_compute_jump_functions): New function.
      	(make_edge_direct_to_target): Check if the number of arguments on
      	the newly direct edge is the same as the number of parametrs of
      	the callee.
      	* ipa-cp.c (ipcp_init_stage): Most functionality moved to new
      	ipa_compute_jump_functions.  Call ipa_analyze_params_uses.
      	* ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
      	analysis functions unconditionally, call the new
      	ipa_analyze_params_uses on the node instead of every edge.
      
      	* testsuite/g++.dg/ipa/ivinline-8.C: New test.
      	* testsuite/gcc.dg/ipa/iinline-2.c: New test.
      
      From-SVN: r159559
      Martin Jambor committed
    • re PR fortran/34505 (FLOAT/SNGL: Not accepted as actual argument; diagnostics problems) · c9018c71
      gcc/fortran/:
      2010-05-19  Daniel Franke  <franke.daniel@gmail.com>
      
      	PR fortran/34505
      	* intrinsic.h (gfc_check_float): New prototype.
      	(gfc_check_sngl): New prototype.
      	* check.c (gfc_check_float): New.
      	(gfc_check_sngl): New.
      	* intrinsic.c (add_functions): Moved DFLOAT from aliasing DBLE
      	to be a specific for REAL. Added check routines for FLOAT, DFLOAT
      	and SNGL.
      	* intrinsic.texi: Removed individual nodes of FLOAT, DFLOAT and SNGL,
      	added them to the list of specifics of REAL instead.
      
      gcc/testsuite/:
      2010-05-19  Daniel Franke  <franke.daniel@gmail.com>
      
      	PR fortran/34505
      	* gfortran.dg/dfloat_1.f90: Add warnings for non-default kind
      	arguments; add check for return value kind.
      	* gfortran.dg/float_1.f90: Likewise.
      
      From-SVN: r159558
      Daniel Franke committed
    • tree-ssa-loop-prefetch.c (mem_ref_group, ar_data): Change step to tree. · 81f32326
      2010-05-19  Christian Borntraeger  <borntraeger@de.ibm.com>
      
              * tree-ssa-loop-prefetch.c (mem_ref_group, ar_data): Change step
      	to tree.
              (dump_mem_ref): Adopt debug code to handle a tree as step.  This
      	also checks for a constant int vs.  non-constant but
      	loop-invariant steps.
              (find_or_create_group): Change the sort algorithm to only consider
      	steps that are constant ints.
              (idx_analyze_ref): Adopt code to handle a tree instead of a
      	HOST_WIDE_INT for step.
              (gather_memory_references_ref): Handle tree instead of int and be
      	prepared to see a NULL_TREE.
              (prune_ref_by_self_reuse, prune_ref_by_group_reuse): Do not prune
      	prefetches if the step cannot be calculated at compile time.
              (issue_prefetch_ref): Issue prefetches for non-constant but
      	loop-invariant steps.
      
      From-SVN: r159557
      Christian Borntraeger committed
    • * expr.c (pop_arguments): Fix use of undeclared variable. · 8abd2cbe
      From-SVN: r159555
      Nathan Froyd committed
    • Revert: · 39b27b3a
      	2010-05-18  Nathan Froyd  <froydnj@codesourcery.com>
      
      	* tree.h (build_call_list): Remove.
      	* tree.c (build_call_list): Remove.
      
      From-SVN: r159554
      Nathan Froyd committed
    • Daily bump. · 0a9f28e7
      From-SVN: r159553
      GCC Administrator committed
  2. 18 May, 2010 14 commits
  3. 17 May, 2010 17 commits
    • cgraph.c (cgraph_create_virtual_clone): Only check versionable_function_p when… · 36576655
      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
      Jan Hubicka committed
    • cgraph.h (struct ipa_replace_map): Add parm_num parameter. · 922f15c2
      
      	* 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
      Jan Hubicka committed
    • lto.c (lto_materialize_function): Announce function when reading body... · 28632d63
      	* 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
      Jan Hubicka committed
    • Also apply the insn to prefetch ratio heuristic to loops with known trip count. · d3a9b459
      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
      Changpeng Fang committed
    • Define PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO heuristic. · 8532678c
      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
      Changpeng Fang committed
    • ipa-cp.c (ipcp_update_callgraph): Use ipa_is_param_used. · 339f49ec
      
      	* 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
      Jan Hubicka committed
    • re PR target/44074 (Solaris 2.9 x86 Sun assembler doesn't like rep/lock prefixes on same line) · 2433310d
      	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
      Rainer Orth committed
    • re PR fortran/43990 ([OOP] ICE in output_constructor_regular_field, at varasm.c:4995) · 94ea6939
      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
      Janus Weil committed
    • call.c (struct z_candidate): Add explicit_targs field. · f18ea1bf
      	* 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
      Jason Merrill committed
    • re PR c++/44157 ([C++0x] GCC wrongly takes a std::initializer_list argument as non-deduced context) · 9d2b7551
      	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
      Jason Merrill committed
    • re PR c++/44158 ([C++0x] wrong overload resolution for copy-initialization from an rvalue) · c8361db1
      	PR c++/44158
      	* call.c (build_over_call): Don't do bitwise copy for move ctor.
      
      From-SVN: r159508
      Jason Merrill committed
    • cgraph.h (cgraph_indirect_call_info): New fields anc_offset, otr_token and polymorphic. · b258210c
      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
      Martin Jambor committed
    • class.c (gfc_add_component_ref,gfc_class_null_initializer, [...]): Moved here from other places. · d15bac21
      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
      Janus Weil committed
    • Forgot ChangeLog entry for last commit. · d5d74497
      From-SVN: r159504
      Rainer Orth committed
    • tree.h (CALL_EXPR_ARGS): Delete. · 58a11859
      	* 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
      Nathan Froyd committed
    • re PR c++/44108 (-Wunused-but-set-variable does not consider array sizing use of a const variable) · ad13f229
      	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
      Dodji Seketeli committed