1. 18 Sep, 2007 4 commits
  2. 17 Sep, 2007 28 commits
  3. 16 Sep, 2007 8 commits
    • type_traits (aligned_storage): Implement in the neat and general way. · 1f9e358a
      2007-09-16  Paolo Carlini  <pcarlini@suse.de>
      	    Douglas Gregor  <doug.gregor@gmail.com>
      
      	* include/tr1_impl/type_traits (aligned_storage): Implement
      	in the neat and general way.
      
      Co-Authored-By: Douglas Gregor <doug.gregor@gmail.com>
      
      From-SVN: r128532
      Paolo Carlini committed
    • re PR c++/33124 (C++ frontend should not warn about new a[0] in template context) · 57711cd1
      /cp
      2007-09-16  Paolo Carlini  <pcarlini@suse.de>
      
      	PR c++/33124
      	* init.c (build_new): Remove warning for zero-element
      	allocations.
      
      /testsuite
      2007-09-16  Paolo Carlini  <pcarlini@suse.de>
      
      	PR c++/33124
      	* g++.dg/warn/new1.C: Adjust.
      	* g++.dg/torture/str_empty.C: Likewise.
      
      From-SVN: r128531
      Paolo Carlini committed
    • dse.c (find_shift_sequence): Allow word as well as subword shifts. · 348eea5f
      gcc/
      	* dse.c (find_shift_sequence): Allow word as well as subword shifts.
      	Do the tentative shift expansion with the DF_NO_INSN_RESCAN flag set.
      	Fix the call to insn_rtx_cost.  Skip access sizes that require a
      	real truncation of the store register.  Use convert_move instead
      	of gen_lowpart when narrowing the result.
      	(replace_read): Use convert_move instead of gen_lowpart when
      	narrowing the store rhs.
      
      gcc/testsuite/
      	* gcc.target/mips/dse-1.c: New test.
      
      From-SVN: r128530
      Richard Sandiford committed
    • re PR c++/32756 (wrong ambiguous overload error?) · 0ee3f0a8
      	cp/
      	PR c++/32756
      	* call.c (maybe_handle_implicit_object): Set this_p, clear
      	rvaluedness_matches_p.
      	(compare_ics): Do not compare rvaluedness matching when one of the
      	operands is an implicit object.
      
      	testsuite/
      	PR c++/32756
      	* g++.dg/overload/operator3.C: New.
      
      From-SVN: r128528
      Nathan Sidwell committed
    • Fix typo. · ce616dd5
      From-SVN: r128526
      Richard Sandiford committed
    • mips.md (SHORT): Fix long line. · 7ed67b7a
      gcc/
      	* config/mips/mips.md (SHORT): Fix long line.
      	(SUBDI): New mode iterator.  Extend the shift-and-truncate insns
      	to QImode and HImoe.
      
      gcc/testsuite/
      	* gcc.target/mips/truncate-1.c: New test.
      
      From-SVN: r128525
      Richard Sandiford committed
    • mips.h (POINTERS_EXTEND_UNSIGNED): Define. · 0dc31782
      gcc/
      	* config/mips/mips.h (POINTERS_EXTEND_UNSIGNED): Define.
      
      From-SVN: r128524
      Richard Sandiford committed
    • re PR fortran/29396 (segfault with character pointer association) · 1d6b7f39
      2007-09-16  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/29396
      	PR fortran/29606
      	PR fortran/30625
      	PR fortran/30871
      	* trans.h : Add extra argument to gfc_build_array_ref. Rename
      	gfc_conv_aliased_arg to gfc_conv_subref_array_arg.  Move
      	prototype of is_aliased_array to gfortran.h and rename it
      	gfc_is_subref_array.  Add field span to lang_decl, add a new
      	decl lang specific flag accessed by GFC_DECL_SUBREF_ARRAY_P
      	and a new type flag GFC_DECL_SUBREF_ARRAY_P.
      	* trans.c (gfc_build_array_ref): Add the new argument, decl.
      	If this is a subreference array pointer, use the lang_decl
      	field 'span' to calculate the offset in bytes and use pointer
      	arithmetic to address the element.
      	* trans-array.c (gfc_conv_scalarized_array_ref,
      	gfc_conv_array_ref): Add the backend declaration as the third
      	field, if it is likely to be a subreference array pointer.
      	(gfc_conv_descriptor_dimension, gfc_trans_array_ctor_element,
      	gfc_trans_array_constructor_element, structure_alloc_comps,
      	gfc_conv_array_index_offset): For all other references to
      	gfc_build_array_ref, set the third argument to NULL.
      	(gfc_get_dataptr_offset): New function.
      	(gfc_conv_expr_descriptor): If the rhs of a pointer assignment
      	is a subreference array, then calculate the offset to the
      	subreference of the first element and set the descriptor data
      	pointer to this, using gfc_get_dataptr_offset.
      	trans-expr.c (gfc_get_expr_charlen): Use the expression for the
      	character length for a character subreference.
      	(gfc_conv_substring, gfc_conv_subref_array_arg): Add NULL for
      	third argument in call to gfc_build_array_ref.
      	(gfc_conv_aliased_arg): Rename to gfc_conv_subref_array_arg.
      	(is_aliased_array): Remove.
      	(gfc_conv_function_call): Change reference to is_aliased_array
      	to gfc_is_subref_array and reference to gfc_conv_aliased_arg to
      	gfc_conv_subref_array_arg.
      	(gfc_trans_pointer_assignment): Add the array element length to
      	the lang_decl 'span' field.
      	* gfortran.h : Add subref_array_pointer to symbol_attribute and
      	add the prototype for gfc_is_subref_array.
      	* trans-stmt.c : Add NULL for third argument in all references
      	to gfc_build_array_ref.
      	* expr.c (gfc_is_subref_array): Renamed is_aliased_array.
      	If this is a subreference array pointer, return true.
      	(gfc_check_pointer_assign): If the rhs is a subreference array,
      	set the lhs subreference_array_pointer attribute.
      	* trans-decl.c (gfc_get_symbol_decl): Allocate the lang_decl
      	field if the symbol is a subreference array pointer and set an
      	initial value of zero for the 'span' field.
      	* trans-io.c (set_internal_unit): Refer to is_subref_array and
      	gfc_conv_subref_array_arg.
      	(nml_get_addr_expr): Add NULL third argument to
      	gfc_build_array_ref. 
      	(gfc_trans_transfer): Use the scalarizer for a subreference
      	array.
      
      2007-09-16  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/29396
      	PR fortran/29606
      	PR fortran/30625
      	PR fortran/30871
      	* gfortran.dg/subref_array_pointer_1.f90: New test.
      	* gfortran.dg/subref_array_pointer_2.f90: New test.
      
      From-SVN: r128523
      Paul Thomas committed