1. 16 Mar, 2010 4 commits
    • re PR debug/43051 (VTA causes a stack living parameter unavailable in most of the function) · 457eeaae
      	PR debug/43051
      	PR debug/43092
      	* cselib.c (cselib_preserve_constants,
      	cfa_base_preserved_val): New static variables.
      	(preserve_only_constants): New function.
      	(cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't
      	clear its REG_VALUES.  If cselib_preserve_constants, don't 
      	empty the whole hash table, but preserve there VALUEs with constants,
      	cfa_base_preserved_val and cfa_base_preserved_val plus constant.
      	(cselib_preserve_cfa_base_value): New function.
      	(cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val.
      	(cselib_init): Change argument to int bitfield.  Set
      	cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS
      	is in it.
      	(cselib_finish): Clear cselib_preserve_constants and
      	cfa_base_preserved_val.
      	* cselib.h (enum cselib_record_what): New enum.
      	(cselib_init): Change argument to int.
      	(cselib_preserve_cfa_base_value): New prototype.
      	* postreload.c (reload_cse_regs_1): Adjust cselib_init caller.
      	* dse.c (dse_step1): Likewise.
      	* cfgcleanup.c (thread_jump): Likewise.
      	* sched-deps.c (sched_analyze): Likewise.
      	* gcse.c (local_cprop_pass): Likewise.
      	* simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback.
      	If FN is non-NULL, call the callback always and whenever it returns
      	non-NULL just return that.  Only do rtx_equal_p if FN is NULL.
      	* rtl.h (simplify_replace_fn_rtx): Add argument to callback.
      	* combine.c (propagate_for_debug_subst): Add old_rtx argument,
      	compare from with old_rtx and if it isn't rtx_equal_p, return NULL.
      	* Makefile.in (var-tracking.o): Depend on $(RECOG_H).
      	* var-tracking.c: Include recog.h.
      	(bb_stack_adjust_offset): Remove.
      	(vt_stack_adjustments): Don't call it, instead just gather the
      	adjustments using insn_stack_adjust_offset_pre_post on each bb insn.
      	(adjust_stack_reference): Remove.
      	(compute_cfa_pointer): New function.
      	(hard_frame_pointer_adjustment, cfa_base_rtx): New static variables.
      	(struct adjust_mem_data): New type.
      	(adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New
      	functions.
      	(get_address_mode): New function.
      	(replace_expr_with_values): Use it.
      	(use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P.
      	Use get_address_mode.  For cfa_base_rtx return MO_CLOBBER.
      	(adjust_sets): Remove.
      	(add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant.
      	Use get_address_mode.
      	(get_adjusted_src): Remove.
      	(add_stores): Don't call it.  Never reuse expr SET.  Don't add extra
      	MO_VAL_USE for cfa_base_rtx plus constant.  Use get_address_mode.
      	(add_with_sets): Don't call adjust_sets.
      	(fp_setter, vt_init_cfa_base): New functions.
      	(vt_initialize): Change return type to bool.  Move most of pool etc.
      	initialization to the beginning of the function from end.  Pass
      	CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init.
      	If !frame_pointer_needed, call vt_stack_adjustment before mos
      	vector is filled, call vt_init_cfa_base if argp/framep has been
      	eliminated to sp.  If frame_pointer_needed and argp/framep has
      	been eliminated to hard frame pointer, set
      	hard_frame_pointer_adjustment and call vt_init_cfa_base after
      	encountering fp setter in the prologue.  For MO_ADJUST, call
      	log_op_type before pusing the op into mos vector, not afterwards.
      	Call adjust_insn before cselib_process_insn/add_with_sets,
      	call cancel_changes (0) afterwards.
      	(variable_tracking_main_1): Adjust for vt_initialize calling
      	vt_stack_adjustments and returning whether it succeeded or not.
      
      	* gcc.dg/guality/pr43051-1.c: New test.
      
      From-SVN: r157476
      Jakub Jelinek committed
    • pass54-frag.c: Add explicit return from main. · 31b2eb0f
      	* testsuite/libmudflap.c/pass54-frag.c: Add explicit return from
      	main.
      
      From-SVN: r157472
      David S. Miller committed
    • forward_list.tcc (_Fwd_list_node_base:: _M_transfer_after): Return _Fwd_list_node_base*. · 16920896
      2010-03-15  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* include/bits/forward_list.tcc (_Fwd_list_node_base::
      	_M_transfer_after): Return _Fwd_list_node_base*.
      	(forward_list<>::_M_splice_after): Add.
      	(forward_list<>::insert_after(const_iterator, size_type, const _Tp&),
      	insert_after(const_iterator, _InputIterator, _InputIterator),
      	insert_after(const_iterator, initializer_list<>)): Use the above,
      	implement DR 1278 ([Ready] in Pittsburgh).
      	* include/bits/forward_list.h (insert_after(const_iterator,
      	size_type, const _Tp&), insert_after(const_iterator, _InputIterator,
      	_InputIterator), insert_after(const_iterator, initializer_list<>)):
      	Only declare.
      	* testsuite/23_containers/forward_list/modifiers/2.cc: Adjust.
      	* testsuite/23_containers/forward_list/requirements/dr438/
      	assign_neg.cc: Adjust dg-error line number.
      	* testsuite/23_containers/forward_list/requirements/dr438/
      	insert_neg.cc: Likewise.
      	* testsuite/23_containers/forward_list/requirements/dr438/
      	constructor_1_neg.cc: Likewise.
      	* testsuite/23_containers/forward_list/requirements/dr438/
      	constructor_2_neg.cc: Likewise.
      
      From-SVN: r157471
      Paolo Carlini committed
    • Daily bump. · 92ff1083
      From-SVN: r157470
      GCC Administrator committed
  2. 15 Mar, 2010 13 commits
    • re PR testsuite/43363 (FAIL: g++.dg/ext/altivec-17.C) · d205bdbe
      	PR testsuite/43363
      	* g++.dg/ext/altivec-17.C: Handle changes to error message.
      
      From-SVN: r157467
      Janis Johnson committed
    • configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test. · f4b130bb
      	* configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
      	* configure: Regenerate.
      	* fficonfig.h.in: Regenerate.
      	* libffi/src/x86/unix64.S (.eh_frame)
      	[HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
      
      From-SVN: r157466
      Rainer Orth committed
    • graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip debug statements. · 7dee65d8
              * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip
              debug statements.
      
      From-SVN: r157465
      Aldy Hernandez committed
    • 2010-03-15 Paolo Carlini <paolo.carlini@oracle.com> · eb3934d8
            * Complete last ChangeLog entry.
      
      From-SVN: r157464
      Paolo Carlini committed
    • dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg has been set. · 6019a098
      	* dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg
      	has been set.
      	(based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when
      	drap_reg has not been set.
      
      From-SVN: r157463
      Jakub Jelinek committed
    • revert: forward_list.h: Support non-standard pointer types · 97ffcedf
      2010-03-15  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	Revert:
      	2008-11-11  Bob Walters  <bob.s.walters@gmail.com>
      
      	* include/bits/forward_list.h: Support non-standard pointer types
      	(_Fwd_list_node_base): Add _Alloc template parameter.
      	(_Fwd_list_node<>): Likewise.
      	(_Fwd_list_iterator<>): Likewise.
      	(_Fwd_list_const_iterator<>): Likewise.
      	(_Fwd_list_node_base::_M_next, _M_transfer_after, _M_reverse_after):
      	Use _Alloc<_Tp>::pointer.
      	(_Fwd_list_iterator<>::_M_node): Use _Node_base::_Pointer.
      	(_Fwd_list_base<>::_M_get_node, _M_create_node, _M_create_node,
      	_M_insert_after, _M_put_node, _M_erase_after): Likewise.
      	(_Fwd_list_const_iterator<>::_M_node): use _Node_base::_Const_pointer.
      	(forward_list<>): Use __static_pointer_cast in place of static_cast,
      	and __const_pointer_cast in place of const_cast.
      	* include/bits/forward_list.tcc
      	(_Fwd_list_node<>::_M_sort_after): Using _Pointer typedefs in place
      	of standard pointers, __static_pointer_cast in place of static_cast.
      	(_Fwd_list_base<>::_Fwd_list_base, _M_insert_after, _M_erase_after):
      	Likewise.
      	(forward_list<>::_M_initialize_dispatch, _M_fill_initialize,
      	splice_after, remove, remove_if, merge): Likewise.
      	* testsuite/23_containers/forward_list/ext_pointer/modifiers/1.cc: New.
      	* testsuite/23_containers/forward_list/ext_pointer/modifiers/2.cc:
      	Likewise.
      	* testsuite/23_containers/forward_list/ext_pointer/modifiers/3.cc:
      	Likewise.
      	* testsuite/23_containers/forward_list/ext_pointer/modifiers/4.cc:
      	Likewise.
      	* testsuite/23_containers/forward_list/ext_pointer/modifiers/5.cc:
      	Likewise.
      	* testsuite/23_containers/forward_list/ext_pointer/operations/1.cc:
      	Likewise.
      	* testsuite/23_containers/forward_list/ext_pointer/operations/2.cc:
      	Likewise.
      	* testsuite/23_containers/forward_list/ext_pointer/operations/3.cc:
      	Likewise.
      	* testsuite/23_containers/forward_list/ext_pointer/operations/4.cc:
      	Likewise.
      	* testsuite/23_containers/forward_list/ext_pointer/operations/5.cc:
      	Likewise.
      	* testsuite/23_containers/forward_list/ext_pointer/operations/6.cc:
      	Likewise.
      	* testsuite/23_containers/forward_list/ext_pointer/operations/7.cc:
      	Likewise.
      	* testsuite/23_containers/forward_list/ext_pointer/requirements/1.cc:
      	Likewise.
      	* testsuite/23_containers/forward_list/ext_pointer/requirements/
      	explicit_instantiation/1.cc: Likewise.
      	* testsuite/23_containers/forward_list/ext_pointer/requirements/
      	explicit_instantiation/3.cc: Likewise.
      	* testsuite/23_containers/forward_list/ext_pointer/1.cc: Likewise.
      
      From-SVN: r157462
      Paolo Carlini committed
    • re PR middle-end/43300 (ICE: in emit_move_insn, at expr.c:3432) · c2172338
      	PR middle-end/43300
      	* tree-outof-ssa.c (emit_partition_copy): New argument sizeexp,
      	use it to expand block copies.
      	(insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
      	insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy.
      	(insert_value_copy_on_edge): Use store_expr for BLKmode values.
      
      testsuite/
      	* gcc.dg/pr43300.c: New testcase.
      
      From-SVN: r157461
      Michael Matz committed
    • re PR tree-optimization/43367 (ice: in may_propagate_copy, at tree-ssa-copy.c:85) · 610b64e2
      2010-03-15  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/43367
      	* tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI
      	elimination check.
      
      	* gcc.c-torture/compile/pr43367.c: New testcase.
      
      From-SVN: r157458
      Richard Guenther committed
    • re PR tree-optimization/43317 (ICE: Segmentation fault with -fipa-struct-reorg -g) · 610de68d
      2010-03-15  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/43317
      	* ipa-struct-reorg.c (create_new_general_access): Update stmt.
      
      	* gcc.dg/pr43317.c: New testcase.
      
      From-SVN: r157457
      Richard Biener committed
    • PR tree/optimization/43141 · 932e2e64
      2010-03-15  Martin Jambor  <mjambor@suse.cz>
      
      	PR tree/optimization/43141
      	* tree-sra.c (create_abstract_origin): New function.
      	(modify_function): Call create_abstract_origin.
      
      From-SVN: r157456
      Martin Jambor committed
    • MAINTAINERS: Update my email address. · a4581668
      	* MAINTAINERS: Update my email address.
      
      From-SVN: r157455
      Bernd Schmidt committed
    • Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it wasn't copied. · c8c520dd
      2010-03-15  Chris Demetriou  <cgd@google.com>
      
              * Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it
              wasn't copied.
      
      From-SVN: r157454
      Chris Demetriou committed
    • Daily bump. · f9fca456
      From-SVN: r157452
      GCC Administrator committed
  3. 14 Mar, 2010 4 commits
  4. 13 Mar, 2010 18 commits
  5. 12 Mar, 2010 1 commit
    • re PR fortran/43291 ([OOP] Type mismatch in argument; passed CLASS(t1) to CLASS(t2)) · 6a943ee7
      2010-03-12  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/43291
      	PR fortran/43326
      	* resolve.c (resolve_compcall): Add new boolean dummy argument
      	'class_members'. Only resolve expression at end if false.
      	Remove redundant, static variable 'class_object'.
      	(check_class_members): Add extra argument to call of
      	resolve_compcall.
      	(resolve_typebound_function): Renamed resolve_class_compcall.
      	Do all the detection of class references here. Correct calls to
      	resolve_compcall for extra argument.
      	(resolve_typebound_subroutine): resolve_class_typebound_call
      	renamed. Otherwise same as resolve_typebound_function.
      	(gfc_resolve_expr): Call resolve_typebound_function.
      	(resolve_code): Call resolve_typebound_subroutine.
      
      2010-03-12  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/43291
      	PR fortran/43326
      	* gfortran.dg/dynamic_dispatch_7.f03: New test.
      
      From-SVN: r157411
      Paul Thomas committed