1. 06 Jul, 2007 11 commits
    • libgcc2.h (word_type): Type definition removed. · c7ff6e7a
      2007-07-06  Andreas Krebbel  <krebbel1@de.ibm.com>
      
      	* libgcc2.h (word_type): Type definition removed.
      	(cmp_return_type, shift_count_type): Type definitions added.
      	(__lshrdi3, __ashldi3, __ashrdi3): word_type of second parameter
      	replaced with shift_count_type.
      	(__cmpdi2, __ucmpdi2): word_type of return type replaced with
      	cmp_return_type.
      	* libgcc2.c (__udivmoddi4, __moddi3): Type of local variable c
      	changed from word_type to Wtype.
      	(__lshrdi3, __ashldi3, __ashrdi3): word_type of second parameter
      	replaced with shift_count_type.
      	(__cmpdi2, __ucmpdi2): word_type of return type replaced with
      	cmp_return_type.
      	* c-common.c (handle_mode_attribute): Handling for libgcc_cmp_return and
      	libgcc_shift_count attribute added.
      	* target-def.h (TARGET_LIBGCC_CMP_RETURN_MODE,
      	TARGET_LIBGCC_SHIFT_COUNT_MODE): New target hooks defined.
      	(TARGET_INITIALIZER): New target hooks added.
      	* targhooks.c (default_libgcc_cmp_return_mode,
      	default_libgcc_shift_count_mode): Default implementations for the new
      	target hooks added.
      	* targhooks.h (default_libgcc_cmp_return_mode,
      	default_libgcc_shift_count_mode): Function prototypes added.
      	* target.h (struct gcc_target): Fields for the new target hooks added.
      	* optabs.c (expand_binop): Use shift_count_mode when expanding shift
      	as library call.
      	(prepare_cmp_insn): Use cmp_return_mode when expanding comparison as
      	library call.
      
      	* doc/tm.texi (TARGET_LIBGCC_CMP_RETURN_MODE,
      	TARGET_LIBGCC_SHIFT_COUNT_MODE): Documentation added.
      
      	* config/s390/s390.c (s390_libgcc_cmp_return_mode,
      	s390_libgcc_shift_count_mode): Functions added.
      	(TARGET_LIBGCC_CMP_RETURN_MODE,	TARGET_LIBGCC_SHIFT_COUNT_MODE): Target
      	hooks defined.
      
      From-SVN: r126410
      Andreas Krebbel committed
    • mips.c (compute_frame_size): Restore the original gp_sp_offset for… · 713df810
      mips.c (compute_frame_size): Restore the original gp_sp_offset for !GENERATE_MIPS16E_SAVE_RESTORE and remove...
      
      gcc/
      	* config/mips/mips.c (compute_frame_size): Restore the original
      	gp_sp_offset for !GENERATE_MIPS16E_SAVE_RESTORE and remove the
      	fp_size term from the GENERATE_MIPS16E_SAVE_RESTORE calculation.
      	Document why the difference is needed.
      
      From-SVN: r126406
      Richard Sandiford committed
    • c-common.c (boolean_increment): Use correctly typed constant. · b5119fa1
      2007-07-06  Richard Guenther  <rguenther@suse.de>
      
      	* c-common.c (boolean_increment): Use correctly typed
      	constant.
      
      	cp/
      	* init.c (build_new_1): Use the correct pointer type.
      	* typeck2.c (build_m_component_ref): Likewise.
      
      From-SVN: r126405
      Richard Guenther committed
    • mips.c (mips16e_save_restore_pattern_p): Check that the topmost argument… · 106b3d40
      mips.c (mips16e_save_restore_pattern_p): Check that the topmost argument register is not also included in the save mask.
      
      gcc/
      	* config/mips/mips.c (mips16e_save_restore_pattern_p): Check that
      	the topmost argument register is not also included in the save mask.
      	(mips16e_collect_argument_save_p): Take a pointer to the argument
      	register, rather than a pointer to the number of arguments.
      	(mips16e_collect_argument_saves): Only include argument saves
      	that aren't in the register mask.
      
      gcc/testsuite/
      	* gcc.target/mips/save-restore-5.c: New test.
      
      From-SVN: r126404
      Richard Sandiford committed
    • re PR rtl-optimization/32450 (-pg causes miscompilation) · 56d17681
      	PR rtl_optimization/32450
      	* function.c (thread_prologue_and_epilogue_insns): Emit blockage insn
      	to ensure that instructions are not moved into the prologue when
      	profiling is on.  Remove unused prologue_end variable.
      	(expand_function_end): Emit blockage insn instead of ASM_INPUT rtx
      	as a scheduling barrier.
      
      testsuite/ChangeLog:
      
      	PR rtl_optimization/32450
      	* gcc.dg/pr32450.c: New runtime test.
      
      From-SVN: r126403
      Uros Bizjak committed
    • re PR debug/23551 (dwarf records for inlines appear incomplete) · 042f720d
      PR debug/23551
      * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
      Disregard DECL_FROM_INLINE.
      
      From-SVN: r126402
      Alexandre Oliva committed
    • ms-compat-1.C: Change double underscore to single underscore in scan directives. · d340d4cd
              * g++.dg/ext/visibility/ms-compat-1.C: Change double underscore to
              single underscore in scan directives.
      
      From-SVN: r126401
      Uros Bizjak committed
    • re PR c++/32245 (wrong POD type initialization with pointer to member) · 32a11c08
      	PR c++/32245
      	* init.c (build_zero_init): Always build an initializer for
      	non-static storage.
      	* typeck2.c (build_functional_cast): Use build_zero_init.
      
      	PR c++/32251
      	* init.c (build_new_1): Always pass the allocation function to
      	build_op_delete_call.
      	* call.c (build_op_delete_call): Handle operator delete with a
      	variable-argument list.  Do not issue an error when no matching
      	deallocation function is available for a new operator.
      
      	PR c++/31992
      	* cp-tree.h (any_value_dependent_elements_p): Declare it.
      	* decl.c (value_dependent_init_p): New function.
      	(cp_finish_decl): Use it.
      	* pt.c (value_dependent_expression_p): Use
      	any_value_dependent_elements_p.
      	* parser.c (cp_parser_primary_expression): Add comment about
      	treating dependent qualified names as integral
      	constant-expressions.
      
      	PR c++/32245
      	* g++.dg/init/ptrmem4.C: New test.
      
      	PR c++/32251
      	* g++.dg/init/new21.C: Likewise.
      
      	PR c++/31992
      	* g++.dg/template/static30.C: Likewise.
      
      From-SVN: r126399
      Mark Mitchell committed
    • rtlanal.c (num_sign_bit_copies1): Improve cases of ANDing or IORing with a constant. · 22761ec3
      	* rtlanal.c (num_sign_bit_copies1): Improve cases of ANDing or
      	IORing with a constant.
      
      From-SVN: r126397
      Adam Nemet committed
    • Daily bump. · 4f0a96f5
      From-SVN: r126395
      GCC Administrator committed
    • libstdc++.exp (v3-build_support): Use env(AR) and env(RANLIB), not… · 6ed80bc4
      libstdc++.exp (v3-build_support): Use env(AR) and env(RANLIB), not env(AR_FOR_TARGET) and env(RANLIB_FOR_TARGET).
      
      	* testsuite/lib/libstdc++.exp (v3-build_support): Use env(AR)
      	and env(RANLIB), not env(AR_FOR_TARGET) and env(RANLIB_FOR_TARGET).
      
      From-SVN: r126392
      Hans-Peter Nilsson committed
  2. 05 Jul, 2007 29 commits