1. 25 Aug, 2007 1 commit
  2. 24 Aug, 2007 26 commits
    • re PR target/11787 (always call memcpy for block move in mips16) · cfa31150
      2007-08-24  Sandra Loosemore  <sandra@codesourcery.com>
                  Nigel Stephens <nigel@mips.com>
      
      	PR target/11787
      
      	gcc/
      
      	* doc/tm.texi (SET_RATIO, SET_BY_PIECES_P): Document new macros.
      	(STORE_BY_PIECES_P): No longer applies to __builtin_memset.
      	* expr.c (SET_BY_PIECES_P): Define.
      	(can_store_by_pieces, store_by_pieces): Add MEMSETP argument; use
      	it to decide whether to use SET_BY_PIECES_P or STORE_BY_PIECES_P.
      	(store_expr):  Pass MEMSETP argument to can_store_by_pieces and
      	store_by_pieces.
      	* expr.h (SET_RATIO): Define.
      	(can_store_by_pieces, store_by_pieces):	Update prototypes.
      	* builtins.c (expand_builtin_memcpy): Pass MEMSETP argument to
      	can_store_by_pieces/store_by_pieces.
      	(expand_builtin_memcpy_args): Likewise.
      	(expand_builtin_strncpy): Likewise.
      	(expand_builtin_memset_args): Likewise.  Also remove special case
      	for optimize_size so that can_store_by_pieces/SET_BY_PIECES_P can
      	decide what to do instead.
      	* value-prof.c (tree_stringops_transform): Pass MEMSETP argument
      	to can_store_by_pieces.
      
      	* config/sh/sh.h (SET_BY_PIECES_P): Clone from STORE_BY_PIECES_P.
      	* config/s390/s390.h (SET_BY_PIECES_P): Likewise.
      
      	* config/mips/mips.opt (mmemcpy): Change from Var to Mask.
      	* config/mips/mips.c (override_options): Make -Os default to -mmemcpy.
      	* config/mips/mips.h (MIPS_CALL_RATIO): Define.
      	(MOVE_RATIO, CLEAR_RATIO, SET_RATIO): Define.
      	(STORE_BY_PIECES_P): Define.
      
      Co-Authored-By: Nigel Stephens <nigel@mips.com>
      
      From-SVN: r127790
      Sandra Loosemore committed
    • varpool.c (varpool_last_needed_node): Fix comment typo. · f9837879
      	* varpool.c (varpool_last_needed_node): Fix comment typo.
      	* c-decl.c (duplicate_decls): Fix comment typo.
      	(clone_underlying_type): Update comment.
      
      From-SVN: r127788
      Tom Tromey committed
    • * testsuite/libffi.call/return_sl.c: New test. · 787b0d19
      From-SVN: r127787
      David Daney committed
    • re PR fortran/33178 (-std=f95: SIGN with integer arguments rejected as initialization expression) · ef7e861a
      2007-08-24  Tobias Burnus  <burnus@net-b.de>
      
      	PR fortran/33178
      	* intrinsic.c (gfc_intrinsic_func_interface): Fix initialization
      	expression check.
      
      2007-08-24  Tobias Burnus  <burnus@net-b.de>
      
      	PR fortran/33178
      	* gfortran.dg/initialization_4.f90: Update dg-error.
      	* gfortran.dg/initialization_13.f90: New.
      
      From-SVN: r127786
      Tobias Burnus committed
    • alpha.c (alpha_mangle_type, [...]): Constify. · 3101faab
      	* config/alpha/alpha.c (alpha_mangle_type, decl_has_samegp,
      	alpha_in_small_data_p, alpha_split_complex_arg,
      	alpha_stdarg_optimize_hook, TARGET_ASM_CAN_OUTPUT_MI_THUNK):
      	Constify.
      	* config/arm/arm-protos.h (arm_mangle_type): Likewise.
      	* config/arm/arm.c (arm_comp_type_attributes, arm_mangle_type):
      	Likewise.
      	* config/bfin/bfin.c (funkind, bfin_comp_type_attributes,
      	TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise.
      	* config/darwin-protos.h (darwin_binds_local_p): Likewise.
      	* config/darwin.c (darwin_binds_local_p): Likewise.
      	* config/frv/frv.c (frv_string_begins_with, frv_in_small_data_p):
      	Likewise.
      	* config/i386/i386-protos.h (i386_pe_binds_local_p,
      	i386_pe_valid_dllimport_attribute_p): Likewise.
      	* config/i386/i386.c (ix86_function_regparm,
      	ix86_comp_type_attributes, ix86_ms_bitfield_layout_p,
      	x86_can_output_mi_thunk, ix86_mangle_type,
      	TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise.
      	* config/i386/winnt.c (i386_pe_valid_dllimport_attribute_p,
      	i386_pe_binds_local_p): Likewise.
      	* config/ia64/ia64.c
      	(ia64_first_cycle_multipass_dfa_lookahead_guard_spec,
      	ia64_needs_block_p, ia64_in_small_data_p, ia64_mangle_type,
      	ia64_invalid_conversion, ia64_invalid_unary_op,
      	ia64_invalid_binary_op, TARGET_ASM_CAN_OUTPUT_MI_THUNK):
      	Likewise.
      	* config/m32c/m32c.c (m32c_comp_type_attributes): Likewise.
      	* config/m32r/m32r.c (m32r_in_small_data_p): Likewise.
      	* config/m68k/m68k.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise.
      	* config/mips/mips.c (mips_use_blocks_for_constant_p,
      	mips_in_small_data_p, mips_use_anchors_for_symbol_p,
      	mips_comp_type_attributes, TARGET_ASM_CAN_OUTPUT_MI_THUNK,
      	mips_near_type_p, mips_far_type_p, mips_global_symbol_p,
      	mips_symbol_binds_local_p, mips_classify_symbol): Likewise.
      	* config/pa/pa.c (pa_commutative_p): Likewise.
      	* config/rs6000/rs6000-protos.h (rs6000_elf_in_small_data_p):
      	Likewise.
      	* config/rs6000/rs6000.c (rs6000_invalid_within_doloop,
      	rs6000_ms_bitfield_layout_p, rs6000_mangle_type,
      	rs6000_use_blocks_for_constant_p,
      	rs6000_vector_alignment_reachable, rs6000_is_opaque_type,
      	invalid_arg_for_unprototyped_fn, TARGET_ASM_CAN_OUTPUT_MI_THUNK,
      	TARGET_SPLIT_COMPLEX_ARG, rs6000_elf_in_small_data_p): Likewise.
      	* config/s390/s390.c (s390_mangle_type,
      	TARGET_ASM_CAN_OUTPUT_MI_THUNK, TARGET_INVALID_WITHIN_DOLOOP):
      	Likewise.
      	* config/score/score.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK,
      	th_in_small_data_p): Likewise.
      	* config/sh/sh.c (sh_ms_bitfield_layout_p,
      	sh_dwarf_calling_convention, TARGET_ASM_CAN_OUTPUT_MI_THUNK):
      	Likewise.
      	* config/sparc/sparc.c (sparc_can_output_mi_thunk,
      	sparc_mangle_type): Likewise.
      	* config/spu/spu.c (spu_vector_alignment_reachable): Likewise.
      	* config/xtensa/xtensa.c (TARGET_SPLIT_COMPLEX_ARG): Likewise.
      	* emit-rtl.c (const_fixed_htab_hash, const_fixed_htab_eq):
      	Likewise.
      	* hooks.c (hook_bool_mode_const_rtx_false,
      	hook_bool_mode_const_rtx_true,
      	hook_bool_const_tree_hwi_hwi_const_tree_false,
      	hook_bool_const_tree_hwi_hwi_const_tree_true,
      	hook_int_const_tree_0, hook_int_const_tree_const_tree_1,
      	hook_constcharptr_const_tree_null,
      	hook_constcharptr_const_rtx_null,
      	hook_constcharptr_const_tree_const_tree_null,
      	hook_constcharptr_int_const_tree_null,
      	hook_constcharptr_int_const_tree_const_tree_null): New.
      	(hook_bool_mode_rtx_false, hook_bool_mode_rtx_true,
      	hook_bool_tree_hwi_hwi_tree_false,
      	hook_bool_tree_hwi_hwi_tree_true, hook_int_tree_0,
      	hook_int_tree_tree_1, hook_constcharptr_tree_null,
      	hook_constcharptr_rtx_null, hook_constcharptr_tree_tree_null,
      	hook_constcharptr_int_tree_null,
      	hook_constcharptr_int_tree_tree_null): Delete.
      	(default_can_output_mi_thunk_no_vcall): Constify.
      	* hooks.h (hook_bool_mode_rtx_false, hook_bool_mode_rtx_true,
      	hook_bool_tree_hwi_hwi_tree_false,
      	hook_bool_tree_hwi_hwi_tree_true, hook_int_tree_0,
      	hook_int_tree_tree_1, hook_constcharptr_tree_null,
      	hook_constcharptr_rtx_null, hook_constcharptr_tree_tree_null,
      	hook_constcharptr_int_tree_null,
      	hook_constcharptr_int_tree_tree_null): Delete.
      	(hook_bool_mode_const_rtx_false, hook_bool_mode_const_rtx_true,
      	hook_bool_const_tree_hwi_hwi_const_tree_false,
      	hook_bool_const_tree_hwi_hwi_const_tree_true,
      	hook_int_const_tree_0, hook_int_const_tree_const_tree_1,
      	hook_constcharptr_const_tree_null,
      	hook_constcharptr_const_rtx_null,
      	hook_constcharptr_const_tree_const_tree_null,
      	hook_constcharptr_int_const_tree_null,
      	hook_constcharptr_int_const_tree_const_tree_null): New.
      	(default_can_output_mi_thunk_no_vcall): Constify.
      	* integrate.c (function_attribute_inlinable_p): Likewise.
      	* integrate.h (function_attribute_inlinable_p): Likewise.
      	* jump.c (rtx_renumbered_equal_p): Likewise.
      	* output.h (decl_readonly_section, categorize_decl_for_section,
      	default_use_anchors_for_symbol_p, default_binds_local_p,
      	default_binds_local_p_1): Likewise.
      	* rtl.h (rtx_renumbered_equal_p, decl_default_tls_model):
      	Likewise.
      	* target-def.h (TARGET_ASM_CAN_OUTPUT_MI_THUNK,
      	TARGET_VALID_DLLIMPORT_ATTRIBUTE_P, TARGET_VECTOR_OPAQUE_P,
      	TARGET_COMMUTATIVE_P, TARGET_USE_BLOCKS_FOR_CONSTANT_P,
      	TARGET_COMP_TYPE_ATTRIBUTES,
      	TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P,
      	TARGET_MS_BITFIELD_LAYOUT_P, TARGET_MANGLE_TYPE,
      	TARGET_IN_SMALL_DATA_P, TARGET_INVALID_CONVERSION,
      	TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP,
      	TARGET_DWARF_CALLING_CONVENTION): Likewise.
      	* target.h (can_output_mi_thunk, needs_block_p,
      	first_cycle_multipass_dfa_lookahead_guard_spec,
      	vector_alignment_reachable, comp_type_attributes,
      	function_attribute_inlinable_p, ms_bitfield_layout_p, mangle_type,
      	commutative_p, use_blocks_for_constant_p,
      	use_anchors_for_symbol_p, in_small_data_p, binds_local_p,
      	vector_opaque_p, dwarf_calling_convention, stdarg_optimize_hook,
      	invalid_within_doloop, valid_dllimport_attribute_p,
      	split_complex_arg, invalid_arg_for_unprototyped_fn,
      	invalid_conversion, invalid_unary_op, invalid_binary_op):
      	Likewise.
      	* targhooks.c (default_invalid_within_doloop,
      	hook_invalid_arg_for_unprototyped_fn,
      	default_builtin_vector_alignment_reachable): Likewise.
      	(hook_bool_rtx_commutative_p): Delete.
      	(hook_bool_const_rtx_commutative_p): New.
      	* targhooks.h (default_invalid_within_doloop,
      	default_builtin_vector_alignment_reachable,
      	hook_invalid_arg_for_unprototyped_fn): Constify.
      	(hook_bool_rtx_commutative_p): Delete.
      	(hook_bool_const_rtx_commutative_p): New.
      	* varasm.c (bss_initializer_p, decl_default_tls_model,
      	categorize_decl_for_section, decl_readonly_section,
      	default_use_anchors_for_symbol_p, default_binds_local_p,
      	default_binds_local_p_1): Constify.
      
      From-SVN: r127785
      Kaveh R. Ghazi committed
    • acinclude.m4: Fix duplicate variable names. · 80bf9cff
      2007-08-24  Benjamin Kosnik  <bkoz@redhat.com>
      
      	* acinclude.m4: Fix duplicate variable names.
      	* configure: Regenerate.
      
      From-SVN: r127784
      Benjamin Kosnik committed
    • bfin.h (TARGET_CPU_CPP_BUILTINS): Define __NO_BUILTIN if -fno-builtin. · ae80f469
      	* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
      	__NO_BUILTIN if -fno-builtin.
      
      From-SVN: r127782
      Jie Zhang committed
    • bfin.c (print_operand): Report error instead of ICE for wrong operand. · b570063a
      	* config/bfin/bfin.c (print_operand): Report error instead of
      	ICE for wrong operand.
      
      From-SVN: r127780
      Jie Zhang committed
    • re PR libfortran/32972 (performance of pack/unpack) · 28dc6b33
      2007-08-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/32972
      	* iresolve.c:  Don't convert array masks.
      
      2007-08-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/32972
      	* libgfortran.h:  Remove GFOR_POINTER_L8_TO_L4 macro.
      	Add GFOR_POINTER_TO_L1 macro.
      	* m4/iforeach.m4(`m'name`'rtype_qual`_'atype_code):
      	Change argument 'mask' to gfc_array_l1.  Adjust prototype.
      	Change mask pointer to GFC_LOGICAL_1.  Multiply strides
      	by kind of mask
      	* m4/ifunction.m4:  Likewise.
      	* intrinsics/pack_generic.c(pack_internal):  Likewise.
      	* intrinsics/unpack_generic.c(unpack_internal):  Likewise.
      	* m4/matmull.m4:  Switch to GFC_LOGICAL_1.  Multiply strides by
      	kind of logical arguments a and b.
      	* generated/matmul_l16.c: Regenerated.
      	* generated/matmul_l4.c: Regenerated.
      	* generated/matmul_l8.c: Regenerated.
      	* generated/maxloc0_16_i1.c: Regenerated.
      	* generated/maxloc0_16_i16.c: Regenerated.
      	* generated/maxloc0_16_i2.c: Regenerated.
      	* generated/maxloc0_16_i4.c: Regenerated.
      	* generated/maxloc0_16_i8.c: Regenerated.
      	* generated/maxloc0_16_r10.c: Regenerated.
      	* generated/maxloc0_16_r16.c: Regenerated.
      	* generated/maxloc0_16_r4.c: Regenerated.
      	* generated/maxloc0_16_r8.c: Regenerated.
      	* generated/maxloc0_4_i1.c: Regenerated.
      	* generated/maxloc0_4_i16.c: Regenerated.
      	* generated/maxloc0_4_i2.c: Regenerated.
      	* generated/maxloc0_4_i4.c: Regenerated.
      	* generated/maxloc0_4_i8.c: Regenerated.
      	* generated/maxloc0_4_r10.c: Regenerated.
      	* generated/maxloc0_4_r16.c: Regenerated.
      	* generated/maxloc0_4_r4.c: Regenerated.
      	* generated/maxloc0_4_r8.c: Regenerated.
      	* generated/maxloc0_8_i1.c: Regenerated.
      	* generated/maxloc0_8_i16.c: Regenerated.
      	* generated/maxloc0_8_i2.c: Regenerated.
      	* generated/maxloc0_8_i4.c: Regenerated.
      	* generated/maxloc0_8_i8.c: Regenerated.
      	* generated/maxloc0_8_r10.c: Regenerated.
      	* generated/maxloc0_8_r16.c: Regenerated.
      	* generated/maxloc0_8_r4.c: Regenerated.
      	* generated/maxloc0_8_r8.c: Regenerated.
      	* generated/maxloc1_16_i1.c: Regenerated.
      	* generated/maxloc1_16_i16.c: Regenerated.
      	* generated/maxloc1_16_i2.c: Regenerated.
      	* generated/maxloc1_16_i4.c: Regenerated.
      	* generated/maxloc1_16_i8.c: Regenerated.
      	* generated/maxloc1_16_r10.c: Regenerated.
      	* generated/maxloc1_16_r16.c: Regenerated.
      	* generated/maxloc1_16_r4.c: Regenerated.
      	* generated/maxloc1_16_r8.c: Regenerated.
      	* generated/maxloc1_4_i1.c: Regenerated.
      	* generated/maxloc1_4_i16.c: Regenerated.
      	* generated/maxloc1_4_i2.c: Regenerated.
      	* generated/maxloc1_4_i4.c: Regenerated.
      	* generated/maxloc1_4_i8.c: Regenerated.
      	* generated/maxloc1_4_r10.c: Regenerated.
      	* generated/maxloc1_4_r16.c: Regenerated.
      	* generated/maxloc1_4_r4.c: Regenerated.
      	* generated/maxloc1_4_r8.c: Regenerated.
      	* generated/maxloc1_8_i1.c: Regenerated.
      	* generated/maxloc1_8_i16.c: Regenerated.
      	* generated/maxloc1_8_i2.c: Regenerated.
      	* generated/maxloc1_8_i4.c: Regenerated.
      	* generated/maxloc1_8_i8.c: Regenerated.
      	* generated/maxloc1_8_r10.c: Regenerated.
      	* generated/maxloc1_8_r16.c: Regenerated.
      	* generated/maxloc1_8_r4.c: Regenerated.
      	* generated/maxloc1_8_r8.c: Regenerated.
      	* generated/maxval_i1.c: Regenerated.
      	* generated/maxval_i16.c: Regenerated.
      	* generated/maxval_i2.c: Regenerated.
      	* generated/maxval_i4.c: Regenerated.
      	* generated/maxval_i8.c: Regenerated.
      	* generated/maxval_r10.c: Regenerated.
      	* generated/maxval_r16.c: Regenerated.
      	* generated/maxval_r4.c: Regenerated.
      	* generated/maxval_r8.c: Regenerated.
      	* generated/minloc0_16_i1.c: Regenerated.
      	* generated/minloc0_16_i16.c: Regenerated.
      	* generated/minloc0_16_i2.c: Regenerated.
      	* generated/minloc0_16_i4.c: Regenerated.
      	* generated/minloc0_16_i8.c: Regenerated.
      	* generated/minloc0_16_r10.c: Regenerated.
      	* generated/minloc0_16_r16.c: Regenerated.
      	* generated/minloc0_16_r4.c: Regenerated.
      	* generated/minloc0_16_r8.c: Regenerated.
      	* generated/minloc0_4_i1.c: Regenerated.
      	* generated/minloc0_4_i16.c: Regenerated.
      	* generated/minloc0_4_i2.c: Regenerated.
      	* generated/minloc0_4_i4.c: Regenerated.
      	* generated/minloc0_4_i8.c: Regenerated.
      	* generated/minloc0_4_r10.c: Regenerated.
      	* generated/minloc0_4_r16.c: Regenerated.
      	* generated/minloc0_4_r4.c: Regenerated.
      	* generated/minloc0_4_r8.c: Regenerated.
      	* generated/minloc0_8_i1.c: Regenerated.
      	* generated/minloc0_8_i16.c: Regenerated.
      	* generated/minloc0_8_i2.c: Regenerated.
      	* generated/minloc0_8_i4.c: Regenerated.
      	* generated/minloc0_8_i8.c: Regenerated.
      	* generated/minloc0_8_r10.c: Regenerated.
      	* generated/minloc0_8_r16.c: Regenerated.
      	* generated/minloc0_8_r4.c: Regenerated.
      	* generated/minloc0_8_r8.c: Regenerated.
      	* generated/minloc1_16_i1.c: Regenerated.
      	* generated/minloc1_16_i16.c: Regenerated.
      	* generated/minloc1_16_i2.c: Regenerated.
      	* generated/minloc1_16_i4.c: Regenerated.
      	* generated/minloc1_16_i8.c: Regenerated.
      	* generated/minloc1_16_r10.c: Regenerated.
      	* generated/minloc1_16_r16.c: Regenerated.
      	* generated/minloc1_16_r4.c: Regenerated.
      	* generated/minloc1_16_r8.c: Regenerated.
      	* generated/minloc1_4_i1.c: Regenerated.
      	* generated/minloc1_4_i16.c: Regenerated.
      	* generated/minloc1_4_i2.c: Regenerated.
      	* generated/minloc1_4_i4.c: Regenerated.
      	* generated/minloc1_4_i8.c: Regenerated.
      	* generated/minloc1_4_r10.c: Regenerated.
      	* generated/minloc1_4_r16.c: Regenerated.
      	* generated/minloc1_4_r4.c: Regenerated.
      	* generated/minloc1_4_r8.c: Regenerated.
      	* generated/minloc1_8_i1.c: Regenerated.
      	* generated/minloc1_8_i16.c: Regenerated.
      	* generated/minloc1_8_i2.c: Regenerated.
      	* generated/minloc1_8_i4.c: Regenerated.
      	* generated/minloc1_8_i8.c: Regenerated.
      	* generated/minloc1_8_r10.c: Regenerated.
      	* generated/minloc1_8_r16.c: Regenerated.
      	* generated/minloc1_8_r4.c: Regenerated.
      	* generated/minloc1_8_r8.c: Regenerated.
      	* generated/minval_i1.c: Regenerated.
      	* generated/minval_i16.c: Regenerated.
      	* generated/minval_i2.c: Regenerated.
      	* generated/minval_i4.c: Regenerated.
      	* generated/minval_i8.c: Regenerated.
      	* generated/minval_r10.c: Regenerated.
      	* generated/minval_r16.c: Regenerated.
      	* generated/minval_r4.c: Regenerated.
      	* generated/minval_r8.c: Regenerated.
      	* generated/product_c10.c: Regenerated.
      	* generated/product_c16.c: Regenerated.
      	* generated/product_c4.c: Regenerated.
      	* generated/product_c8.c: Regenerated.
      	* generated/product_i1.c: Regenerated.
      	* generated/product_i16.c: Regenerated.
      	* generated/product_i2.c: Regenerated.
      	* generated/product_i4.c: Regenerated.
      	* generated/product_i8.c: Regenerated.
      	* generated/product_r10.c: Regenerated.
      	* generated/product_r16.c: Regenerated.
      	* generated/product_r4.c: Regenerated.
      	* generated/product_r8.c: Regenerated.
      	* generated/sum_c10.c: Regenerated.
      	* generated/sum_c16.c: Regenerated.
      	* generated/sum_c4.c: Regenerated.
      	* generated/sum_c8.c: Regenerated.
      	* generated/sum_i1.c: Regenerated.
      	* generated/sum_i16.c: Regenerated.
      	* generated/sum_i2.c: Regenerated.
      	* generated/sum_i4.c: Regenerated.
      	* generated/sum_i8.c: Regenerated.
      	* generated/sum_r10.c: Regenerated.
      	* generated/sum_r16.c: Regenerated.
      	* generated/sum_r4.c: Regenerated.
      	* generated/sum_r8.c: Regenerated.
      
      From-SVN: r127774
      Thomas Koenig committed
    • acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): Add ENOLINK, EPROTO for netbsd. · c6a8035a
      2007-08-24  Benjamin Kosnik  <bkoz@redhat.com>
      
      	* acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): Add ENOLINK, EPROTO
      	for netbsd.
      	* configure: Regenerate.
      	* include/std/system_error: Guard.	
      	* testsuite/19_diagnostics/headers/system_error/
      	types_std_c++0x.cc: Same.
      	* testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Adjust
      	line numbers.
      
      From-SVN: r127772
      Benjamin Kosnik committed
    • re PR tree-optimization/33166 (ICE in get_indirect_ref_operands, at tree-ssa-operands.c:1698) · fa2050d2
      2007-08-24  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/33166
      	* tree-ssa.c (useless_type_conversion_p): Split into a
      	recursive and a non-recursive part.
      	(useless_type_conversion_p_1): New function.
      	* tree-ssa-ccp.c (fold_stmt_r): Make sure that the result
      	from maybe_fold_offset_to_reference is trivially convertible
      	to the desired type before doing the simplification.
      
      	* gcc.c-torture/compile/pr33166.c: New testcase.
      
      From-SVN: r127771
      Richard Guenther committed
    • re PR fortran/33139 (array pointer assignment gives incorrect dimensions) · a7d318ea
      2007-08-24  Tobias Burnus  <burnus@net-b.de>
      
      	PR fortran/33139
      	* trans-array.c (gfc_conv_expr_descriptor): Copy bounds for
      	whole-array pointer assignments.
      
      2007-08-24  Tobias Burnus  <burnus@net-b.de>
      
      	PR fortran/33139
      	* gfortran.dg/pointer_assign_4.f90: New.
      	* gfortran.dg/shape_2.f90: Fix test case.
      	* gfortran.dg/char_result_4.f90: Ditto.
      
      From-SVN: r127770
      Tobias Burnus committed
    • expr.c (store_expr): Optimize initialization of an array with STRING_CST. · 14a43348
      	* expr.c (store_expr): Optimize initialization of an array
      	with STRING_CST.
      	* expr.h (builtin_strncpy_read_str): New prototype.
      	* builtins.c (builtin_strncpy_read_str): Remove prototype.
      	No longer static.
      
      	* gcc.dg/array-init-1.c: New test.
      
      From-SVN: r127769
      Jakub Jelinek committed
    • re PR middle-end/33157 (cmov4.c fails on i686) · 492fc3e6
      	PR middle-end/33157
      	* ifcvt.c (noce_find_if_block): Do not clear if_info.cond_earliest
      	field when initializing if_info structure.
      
      From-SVN: r127766
      Uros Bizjak committed
    • name-lookup.c (add_decl_to_level): Remove addition to vtables chain. · 89bd2c03
      	gcc/cp/
      	* name-lookup.c (add_decl_to_level): Remove addition to vtables chain.
      	* name-lookup.h (cp_binding_level): Remove vtables member.
      
      From-SVN: r127765
      Ollie Wild committed
    • Makefile.in (tree-inline.o): Add $(TARGET_H) and $(INTEGRATE_H) dependencies. · 972ce83e
      2007-08-24  Richard Guenther  <rguenther@suse.de>
      
      	* Makefile.in (tree-inline.o): Add $(TARGET_H) and $(INTEGRATE_H)
      	dependencies.
      
      From-SVN: r127764
      Richard Biener committed
    • Makefile.in (tree-inline.o): Add $(TARGET_H) and $(INTEGRATE_H) dependencies. · 18177c7e
      2007-08-24  Richard Guenther  <rguenther@suse.de>
      
      	* Makefile.in (tree-inline.o): Add $(TARGET_H) and $(INTEGRATE_H)
      	dependencies.
      	* c-objc-common.c (c_cannot_inline_tree_fn): Remove.
      	* langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Likewise.
      	* tree-inline.c (inlinable_function_p): Fold in common parts of
      	the cannot_inline_tree_fn langhook.
      	* langhooks-def.h (lhd_tree_inlining_cannot_inline_tree_fn): Remove.
      	(LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN): Likewise.
      	(LANG_HOOKS_TREE_INLINING_INITIALIZER): Remove initializer for
      	cannot_inline_tree_fn langhook.
      	* langhooks.h (struct lang_hooks_for_tree_inlining): Remove
      	cannot_inline_tree_fn member.
      
      	cp/
      	* tree.c (cp_cannot_inline_tree_fn): Remove.
      	* cp-tree.h (cp_cannot_inline_tree_fn): Likewise.
      	* cp-objcp-common.h (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN):
      	Remove define.
      
      From-SVN: r127763
      Richard Guenther committed
    • expr.c (get_inner_reference): Do computation of bitoffset from offset in a way… · 9c219b9b
      expr.c (get_inner_reference): Do computation of bitoffset from offset in a way we can detect overflow reliably.
      
      2007-08-23  Richard Guenther  <rguenther@suse.de>
      
      	* expr.c (get_inner_reference): Do computation of bitoffset
      	from offset in a way we can detect overflow reliably.
      
      From-SVN: r127762
      Richard Guenther committed
    • [patch]: libiberty pex for _WIN64. · 1651030c
      From-SVN: r127761
      Kai Tietz committed
    • re PR c++/32567 (ICE on invalid use of parameter pack) · affb3cb2
      	PR c++/32567
      	* typeck.c (build_unary_op) <case PREINCREMENT_EXPR>: Return
      	error_mark_node right away if build_expr_type_conversion
      	returned it.
      
      	* g++.dg/parse/crash36.C: New test.
      
      From-SVN: r127760
      Jakub Jelinek committed
    • pr32721.c: Updated. · 14693275
      2007-08-23  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* gcc.dg/pr32721.c: Updated.
      
      From-SVN: r127759
      H.J. Lu committed
    • * crtstuff.c (USE_PT_GNU_EH_FRAME): Don't define for uClibc. · 212db394
      From-SVN: r127758
      Jie Zhang committed
    • bfin.opt (mfast-fp): Add. · 2c117a21
      	* config/bfin/bfin.opt (mfast-fp): Add.
      	* config/bfin/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Let
      	libbffastfp override libgcc if -mfast-fp.
      	* config/bfin/bfin.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
      	* doc/invoke.texi (Option Summary): Mention -mfast-fp.
      	(Blackfin Options): Document -mfast-fp.
      
      From-SVN: r127757
      Jie Zhang committed
    • Fix filenames. · 424a8b56
      From-SVN: r127756
      H.J. Lu committed
    • Daily bump. · 08626232
      From-SVN: r127754
      GCC Administrator committed
  3. 23 Aug, 2007 13 commits
    • Revert accidentally committed hunk. · a5e1abb5
      From-SVN: r127751
      Jakub Jelinek committed
    • re PR tree-optimization/32573 (ice for legal code with -O3) · 2f470326
      	PR tree-optimization/32573
      	PR middle-end/32946
      	* tree-data-ref.c (initialize_data_dependence_relation): Clear
      	DDR_SUBSCRIPTS, DDR_DIR_VECTS and DDR_DIST_VECTS at the beginning.
      	(finalize_ddr_dependent): Clear DDR_SUBSCRIPTS after freeing it.
      	(build_classic_dist_vector): Return false rather than true if
      	DDR_ARE_DEPENDENT is non-NULL at the beginning.  Return false
      	if either subscript_dependence_tester_1 or build_classic_dist_vector_1
      	returned false.  Don't call save_dist_v before calling
      	build_classic_dist_vector_1.
      	(free_dependence_relation): Don't guard freeing DDR_SUBSCRIPTS
      	with NULL DDR_ARE_DEPENDENT.  Also free DDR_DIST_VECTS and/or
      	DDR_DIR_VECTS vectors.
      
      	* gcc.dg/pr32573.c: New test.
      
      From-SVN: r127750
      Jakub Jelinek committed
    • re PR c++/32898 (Definition of variable N::i outside namespace N not rejected) · 97dc8e5b
      	PR c++/32898
      	* name-lookup.c (set_decl_namespace): lookup_qualified_name failure
      	is error_mark_node rather than NULL_TREE.
      	* pt.c (check_explicit_specialization): Likewise.
      
      	* g++.dg/lookup/ns3.C: New test.
      
      From-SVN: r127749
      Jakub Jelinek committed
    • decl.c (variable_decl): Don't share charlen structs if length == NULL. · 9b21a380
      	* decl.c (variable_decl): Don't share charlen structs if
      	length == NULL.
      	* trans-decl.c (create_function_arglist): Assert
      	f->sym->ts.cl->backend_decl is NULL instead of unsharing
      	charlen struct here.
      
      	* gfortran.dg/assumed_charlen_sharing.f90: New test.
      
      From-SVN: r127748
      Jakub Jelinek committed
    • re PR c++/31941 ("confused by earlier errors" message without earlier error message) · c6f3d2f4
      	PR c++/31941
      	* error.c (resolve_virtual_fun_from_obj_type_ref): Handle
      	TARGET_VTABLE_USES_DESCRIPTORS targets properly.
      
      	* g++.dg/parse/crash37.C: New test.
      
      From-SVN: r127747
      Jakub Jelinek committed
    • configure.ac (leb128): Modify sed statement to work with any binutils version string. · ddcd0f6f
      	* configure.ac (leb128): Modify sed statement to work with any binutils
      	version string.
      	* configure: Regenerate
      
      From-SVN: r127745
      Brian Sidebotham committed
    • system_error: New file. · 0646d8a3
      2007-08-23  Benjamin Kosnik  <bkoz@redhat.com>
      
      	* include/std/system_error: New file.
      	* src/system_error.cc: New file.
      	* src/Makefile.am (sources): Add.
      	* src/Makefile.in: Regenerate.	
      	* include/Makefile.am (std_headers): Add system_error.
      	* include/Makefile.in: Regenerate.
      	* acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): New.
      	* configure.ac: Call it.
      	* config.h.in: Regenerate.
      	* include/bits/functional_hash.h: Add hash<error_code>.
       	* include/std/ostream: Add inserters for error_code.
      	
      	* docs/doxygen/user.cfg.in: Add system_error.
      
      	* config/abi/pre/gnu.ver(GLIBCXX_3.4.10): Add new symbols.
      
      	* testsuite/19_diagnostics/error_code: New.
      	* testsuite/19_diagnostics/error_code/cons: Same.
      	* testsuite/19_diagnostics/error_code/cons/1.cc: Same.
      	* testsuite/19_diagnostics/error_code/operators: Same.
      	* testsuite/19_diagnostics/error_code/operators/bool.cc: Same.
      	* testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Same.
      	* testsuite/19_diagnostics/error_code/operators/equal.cc: Same.
      	* testsuite/19_diagnostics/error_code/operators/not_equal.cc: Same.
      	* testsuite/19_diagnostics/error_category: Same.
      	* testsuite/19_diagnostics/error_category/cons: Same.
      	* testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Same.
      	* testsuite/19_diagnostics/error_category/cons/default.cc: Same.
      	* testsuite/19_diagnostics/error_category/operators: Same.
      	* testsuite/19_diagnostics/error_category/operators/equal.cc: Same.
      	* testsuite/19_diagnostics/error_category/operators/not_equal.cc: Same.
      	* testsuite/19_diagnostics/headers/system_error: Same.
      	* testsuite/19_diagnostics/headers/system_error/
      	types_std_c++0x.cc: Same.
      	* testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc: Same.
      	* testsuite/19_diagnostics/system_error: Same.
      	* testsuite/19_diagnostics/system_error/
      	cons_virtual_derivation.cc: Same.
      	* testsuite/19_diagnostics/system_error/cons-1.cc: Same.
      	* testsuite/19_diagnostics/system_error/what-1.cc: Same.
      	* testsuite/19_diagnostics/system_error/what-2.cc: Same.
      	* testsuite/19_diagnostics/system_error/what-big.cc: Same.
      	* testsuite/19_diagnostics/system_error/what-3.cc: Same.
      	* testsuite/19_diagnostics/system_error/what-4.cc: Same.
      	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
      	error_code.cc: Same.
      	* testsuite/27_io/basic_ostream/inserters_other/char/
      	error_code.cc: Same.
      	* testsuite/tr1/6_containers/hash/operators: New.
      	* testsuite/tr1/6_containers/hash/operators/size_t.cc: Same.
      	
      	* testsuite/23_containers/hash: Move...
      	* testsuite/20_util/hash: ... here.
      	* testsuite/20_util/hash/operators: New.
      	* testsuite/20_util/hash/operators/size_t.cc: New.
      
      	* testsuite/20_util/function_objects/bad_function_call: Move...
      	* testsuite/20_util/bad_function_call: ...here.
      
      From-SVN: r127744
      Benjamin Kosnik committed
    • arc-protos.h (arc_select_cc_mode, gen_compare_reg): Wrap in RTX_CODE macro guard. · 586de218
      	* config/arc/arc-protos.h arc_select_cc_mode, gen_compare_reg):
      	Wrap in RTX_CODE macro guard.
      	* config/arm/pe.c (arm_dllexport_p, arm_dllimport_p,
      	arm_dllexport_name_p, arm_dllimport_name_p, arm_mark_dllexport,
      	arm_mark_dllimport, arm_pe_encode_section_info,
      	arm_pe_unique_section): Use ISO-C function declarations.
      	* config/c4x/c4x-c.c (c4x_parse_pragma, c4x_pr_CODE_SECTION,
      	c4x_pr_DATA_SECTION, c4x_pr_FUNC_IS_PURE,
      	c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT, c4x_pr_ignored):
      	Likewise.
      	* config/iq2000/iq2000.h (ASM_OUTPUT_SKIP): Fix format warning.
      	* config/m68hc11/m68hc11.h (ASM_OUTPUT_EXTERNAL): Undef before
      	defining.
      	* config/mips/mips.h (ASM_DECLARE_OBJECT_NAME): Fix format
      	warnings.
      	* config/mn10300/mn10300.h (OUTPUT_ADDR_CONST_EXTRA): Likewise.
      	* config/pdp11/pdp11.c (pdp11_output_function_epilogue): Likewise.
      	(register_move_cost): Use ISO-C function declarations.
      	* config/pdp11/pdp11.h (PRINT_OPERAND): Fix format warnings.
      	* config/score/score-protos.h (score_declare_object): Add
      	ATTRIBUTE_PRINTF_4.
      	* config/score/score.h (ASM_DECLARE_OBJECT_NAME): Fix format
      	warnings.
      	* final.c (profile_function): Avoid empty if-bodies.
      	
      	
      	* calls.c (must_pass_in_stack_var_size,
      	must_pass_in_stack_var_size_or_pad): Constify.
      	* config/alpha/alpha-protos.h (function_value): Likewise.
      	* config/alpha/alpha.c (alpha_return_in_memory,
      	alpha_pass_by_reference, function_value,
      	unicosmk_must_pass_in_stack, TARGET_PROMOTE_FUNCTION_ARGS,
      	TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES):
      	Likewise.
      	* config/arc/arc.c (arc_return_in_memory, arc_pass_by_reference,
      	TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
      	TARGET_PROMOTE_PROTOTYPES): Likewise.
      	* config/arm/arm-protos.h (arm_return_in_memory,
      	arm_pad_arg_upward, arm_function_value): Likewise.
      	* config/arm/arm.c (arm_pass_by_reference,
      	arm_promote_prototypes, arm_return_in_msb, arm_must_pass_in_stack,
      	TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
      	arm_function_value, arm_return_in_memory, arm_pad_arg_upward):
      	Likewise.
      	* config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Likewise.
      	* config/avr/avr-protos.h (avr_function_value): Likewise.
      	* config/avr/avr.c (avr_return_in_memory,
      	gas_output_limited_string, gas_output_ascii, avr_function_value,
      	avr_return_in_memory): Likewise.
      	* config/bfin/bfin-protos.h (bfin_return_in_memory): Likewise.
      	* config/bfin/bfin.c (bfin_pass_by_reference,
      	bfin_return_in_memory, TARGET_PROMOTE_PROTOTYPES,
      	TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN):
      	Likewise.
      	* config/cris/cris.c (cris_pass_by_reference,
      	TARGET_PROMOTE_FUNCTION_ARGS): Likewise.
      	* config/crx/crx.c (crx_return_in_memory): Likewise.
      	* config/darwin.c (function_base, machopic_function_base_name):
      	Likewise.
      	* config/fr30/fr30.c (fr30_must_pass_in_stack,
      	TARGET_PROMOTE_PROTOTYPES): Likewise.
      	* config/frv/frv.c (frv_must_pass_in_stack): Likewise.
      	* config/h8300/h8300.c (h8300_return_in_memory): Likewise.
      	* config/i386/i386-protos.h (ix86_return_in_memory,
      	ix86_sol10_return_in_memory): Likewise.
      	* config/i386/i386.c (ix86_function_value,
      	ix86_function_sseregparm, ix86_must_pass_in_stack,
      	type_natural_mode, classify_argument, examine_argument,
      	construct_container, ix86_pass_by_reference, function_value_32,
      	function_value_64, ix86_function_value_1, return_in_memory_32,
      	return_in_memory_64, return_in_memory_ms_64,
      	ix86_return_in_memory, ix86_sol10_return_in_memory,
      	TARGET_PROMOTE_PROTOTYPES): Likewise.
      	* config/ia64/ia64-protos.h (ia64_function_value,
      	ia64_hpux_function_arg_padding): Likewise.
      	* config/ia64/ia64.c (hfa_element_mode, ia64_return_in_memory,
      	ia64_function_value, bundle_state_hash, bundle_state_eq_p,
      	ia64_hpux_function_arg_padding): Likewise.
      	* config/iq2000/iq2000-protos.h (function_arg,
      	iq2000_function_value): Likewise.
      	* config/iq2000/iq2000.c (iq2000_return_in_memory,
      	iq2000_pass_by_reference, TARGET_PROMOTE_FUNCTION_ARGS,
      	TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
      	function_arg, iq2000_function_value): Likewise.
      	* config/m32c/m32c-protos.h (m32c_function_value,
      	m32c_promote_function_return): Likewise.
      	* config/m32c/m32c.c (m32c_pass_by_reference,
      	m32c_promote_prototypes, m32c_promote_function_return,
      	m32c_function_value): Likewise.
      	* config/m32r/m32r.c (m32r_return_in_memory,
      	m32r_pass_by_reference, TARGET_PROMOTE_PROTOTYPES,
      	m32r_in_small_data_p): Likewise.
      	* config/m68hc11/m68hc11-protos.h (m68hc11_function_arg_padding):
      	Likewise.
      	* config/m68hc11/m68hc11.c (m68hc11_return_in_memory,
      	m68hc11_function_arg_padding): Likewise.
      	* config/m68k/m68k-protos.h (m68k_function_value): Likewise.
      	* config/m68k/m68k.c (TARGET_PROMOTE_PROTOTYPES,
      	m68k_function_value): Likewise.
      	* config/mcore/mcore-protos.h (mcore_num_arg_regs,
      	mcore_function_value): Likewise.
      	* config/mcore/mcore.c (handle_structs_in_regs,
      	mcore_return_in_memory, TARGET_PROMOTE_FUNCTION_ARGS,
      	TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
      	mcore_num_arg_regs, mcore_function_value): Likewise.
      	* config/mips/mips-protos.h (mips_pad_arg_upward,
      	mips_function_value): Likewise.
      	* config/mips/mips.c (mips_fpr_return_fields, mips_return_in_msb,
      	mips_return_in_memory, mips_pass_by_reference, mips_callee_copies,
      	TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
      	TARGET_PROMOTE_PROTOTYPES, mips_pad_arg_upward,
      	mips_function_value): Likewise.
      	* config/mmix/mmix-protos.h (mmix_function_outgoing_value):
      	Likewise.
      	* config/mmix/mmix.c (mmix_pass_by_reference,
      	TARGET_PROMOTE_FUNCTION_ARGS, mmix_function_outgoing_value,
      	mmix_encode_section_info): Likewise.
      	* config/mn10300/mn10300-protos.h (mn10300_function_value):
      	Likewise.
      	* config/mn10300/mn10300.c (mn10300_return_in_memory,
      	mn10300_pass_by_reference, TARGET_PROMOTE_PROTOTYPES,
      	mn10300_function_value): Likewise.
      	* config/mt/mt-protos.h (mt_function_value): Likewise.
      	* config/mt/mt.c (mt_pass_by_reference, mt_function_value,
      	mt_pass_in_stack, TARGET_PROMOTE_PROTOTYPES): Likewise.
      	* config/pa/pa-protos.h (function_arg_padding, function_value,
      	pa_return_in_memory): Likewise.
      	* config/pa/pa.c (pa_pass_by_reference,
      	TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
      	function_arg_padding, function_value, pa_return_in_memory):
      	Likewise.
      	* config/pdp11/pdp11.c (pdp11_return_in_memory): Likewise.
      	* config/rs6000/rs6000-protos.h (rs6000_function_value,
      	function_arg_padding): Likewise.
      	* config/rs6000/rs6000.c (rs6000_return_in_memory,
      	rs6000_darwin64_record_arg_recurse, rs6000_darwin64_record_arg,
      	rs6000_pass_by_reference, rs6000_must_pass_in_stack,
      	TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
      	function_arg_padding, altivec_expand_dst_builtin,
      	altivec_expand_builtin, rs6000_expand_builtin, spe_init_builtins,
      	altivec_init_builtins, rs6000_common_init_builtins,
      	rs6000_function_value): Likewise.
      	* s390/s390-protos.h (s390_function_value): Likewise.
      	* config/s390/s390.c (s390_function_arg_size,
      	s390_pass_by_reference, s390_return_in_memory,
      	s390_function_value, TARGET_PROMOTE_FUNCTION_ARGS,
      	TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
      	* config/score/score-protos.h (score_function_value): Likewise.
      	* config/score/score.c (score_arg_partial_bytes,
      	TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
      	TARGET_PROMOTE_PROTOTYPES, score_return_in_memory,
      	score_pass_by_reference, score_add_offset, score_function_value):
      	Likewise.
      	* config/sh/sh-protos.h (sh_attr_renesas_p,
      	sh_promote_prototypes): Likewise.
      	* config/sh/sh.c (sh_return_in_memory, sh_pass_by_reference,
      	sh_callee_copies, sh_promote_prototypes, shcompact_byref,
      	sh_attr_renesas_p): Likewise.
      	* config/sparc/sparc-protos.h (function_value,
      	function_arg_padding): Likewise.
      	* config/sparc/sparc.c (sparc_promote_prototypes,
      	sparc_return_in_memory, sparc_pass_by_reference,
      	TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
      	function_arg_record_value_2, function_arg_record_value_1,
      	function_arg_record_value, function_arg_record_value,
      	function_arg_padding, function_value): Likewise.
      	* config/spu/spu-protos.h (spu_function_value): Likewise.
      	* config/spu/spu.c (spu_pass_by_reference, spu_return_in_memory,
      	spu_function_value): Likewise.
      	* config/stormy16/stormy16-protos.h (xstormy16_function_value):
      	Likewise.
      	* config/stormy16/stormy16.c (xstormy16_return_in_memory,
      	xstormy16_function_value, TARGET_PROMOTE_FUNCTION_ARGS,
      	TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES):
      	Likewise.
      	* config/v850/v850.c (v850_return_in_memory,
      	v850_pass_by_reference, TARGET_PROMOTE_PROTOTYPES): Likewise.
      	* config/vax/vax.c (TARGET_PROMOTE_PROTOTYPES): Likewise.
      	* config/xtensa/xtensa.c (xtensa_return_in_msb,
      	xtensa_return_in_memory, TARGET_PROMOTE_FUNCTION_ARGS,
      	TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES):
      	Likewise.
      	* explow.c (promote_mode, hard_function_value): Likewise.
      	* expr.h (hard_function_value, promote_mode): Likewise.
      	* function.c (aggregate_value_p): Likewise.
      	* hooks.c (hook_bool_const_tree_true): New.
      	* hooks.h (hook_bool_const_tree_true): New.
      	* sdbout.c (SET_KNOWN_TYPE_TAG, plain_type_1): Constify.
      	* target-def.h (TARGET_PROMOTE_FUNCTION_ARGS,
      	TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
      	TARGET_RETURN_IN_MSB): Likewise.
      	* target.h (promote_function_args, promote_function_return,
      	promote_prototypes, return_in_memory, return_in_msb,
      	pass_by_reference, must_pass_in_stack, callee_copies,
      	function_value): Likewise.
      	* targhooks.c (default_return_in_memory,
      	hook_pass_by_reference_must_pass_in_stack,
      	hook_callee_copies_named,
      	hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false,
      	hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true,
      	default_function_value): Likewise. 
      	* targhooks.h (default_return_in_memory,
      	hook_pass_by_reference_must_pass_in_stack,
      	hook_callee_copies_named,
      	hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false,
      	hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true,
      	default_function_value): Likewise.
      	* tree-ssa-structalias.c (const_equiv_class_label_t): New.
      	(equiv_class_label_hash, equiv_class_label_eq): Constify.
      	* tree-vectorizer.c (bb_in_loop_p): Likewise.
      	* tree.c (needs_to_live_in_memory): Likewise.
      	* tree.h (struct tree_type, needs_to_live_in_memory,
      	aggregate_value_p, must_pass_in_stack_var_size,
      	must_pass_in_stack_var_size_or_pad): Likewise.
      	* vmsdbgout.c (write_debug_addr, write_debug_delta4,
      	write_debug_string, ASM_OUTPUT_DEBUG_STRING, write_rtnbeg,
      	lookup_filename): Likewise.
      
      From-SVN: r127743
      Kaveh R. Ghazi committed
    • re PR target/17390 (missing floating point compare optimization) · 1406ee90
      	PR target/17390
      	* config/i386/i386.c (ix86_expand_fp_compare): Expand fp comparison to
      	fake fcomi i387 instruction for !TARGET_CMOVE.
      	(ix86_expand_branch): Expand natural sequence with one jump for
      	all targets, not only TARGET_CMOVE.
      	* config/i386/i386.md (*cmpfp_0_cc): New define_insn_and_split
      	pattern to implement fake fcomi sequence.  Split instruction after
      	reload to correct compare sequences.
      	(*cmpfp_xf_cc): Ditto.
      	(*cmpfp_<mode>_cc): Ditto.
      	(*cmpfp_u_cc): Ditto.
      	(*cmpfp_<mode>_cc): Ditto.
      
      testsuite/ChangeLog:
      
      	PR target/17390
      	* gcc.target/i386/pr17390.c: New test.
      
      From-SVN: r127742
      Uros Bizjak committed
    • tree-pretty-print.c (dump_generic_node): Annotate GIMPLE_MODIFY_STMTs with volatile ops with "{v}". · 9f7b7ba4
      2007-08-23  Richard Guenther  <rguenther@suse.de>
      
      	* tree-pretty-print.c (dump_generic_node): Annotate
      	GIMPLE_MODIFY_STMTs with volatile ops with "{v}".
      
      	* gcc.dg/tree-ssa/fprinf-1.c: Adjust patterns.
      	* gcc.dg/tree-ssa/fprinf-chk-1.c: Likewise.
      	* gcc.dg/tree-ssa/prinf-1.c: Likewise.
      	* gcc.dg/tree-ssa/prinf-chk-1.c: Likewise.
      	* gcc.dg/tree-ssa/vfprinf-chk-1.c: Likewise.
      	* gcc.dg/tree-ssa/vfprinf-chk-1.c: Likewise.
      	* gcc.dg/tree-ssa/vprinf-chk-1.c: Likewise.
      	* gcc.dg/tree-ssa/vprinf-chk-1.c: Likewise.
      
      From-SVN: r127741
      Richard Guenther committed
    • builtins.c (expand_builtin_mathfn): Wrap argument in save_expr directly instead… · 5799f732
      builtins.c (expand_builtin_mathfn): Wrap argument in save_expr directly instead of re-building the call.
      
      2007-08-23  Richard Guenther  <rguenther@suse.de>
      
      	* builtins.c (expand_builtin_mathfn): Wrap argument in
      	save_expr directly instead of re-building the call.
      	(expand_builtin_mathfn_2): Likewise.
      	(expand_builtin_mathfn_3): Likewise.
      	(expand_builtin_interclass_mathfn): Likewise.
      	(expand_builtin_int_roundingfn): Set arg.
      	(expand_builtin_int_roundingfn_2): Likewise.
      
      From-SVN: r127740
      Richard Guenther committed
    • re PR libfortran/23138 ([mingw32] real(16) values are printed incorrectly) · db8092dc
      	PR libfortran/23138
      	* acinclude.m4 (LIBGFOR_CHECK_MINGW_SNPRINTF): New check.
      	* configure.ac: Use LIBGFOR_CHECK_MINGW_SNPRINTF.
      	* libgfortran.h: If HAVE_MINGW_SNPRINTF is true, use __mingw_snprintf
      	instead of snprintf.
      	* config.h.in: Regenerate.
      	* configure: Regenerate.
      
      From-SVN: r127739
      Francois-Xavier Coudert committed
    • s390: New directory. · b73aff36
      	* gcc.target/s390: New directory.
      	* gcc.target/s390/s390.exp: New file.
      	* gcc.dg/20020926-1.c, gcc.dg/20030123-1.c, gcc.dg/20030129-1.c,
      	gcc.dg/20040305-1.c, gcc.dg/20041109-1.c, gcc.dg/20041216-1.c,
      	gcc.dg/20050409-1.c, gcc.dg/20050524-1.c, gcc.dg/20050824-1.c,
      	gcc.dg/pr20927.c, gcc.dg/pr24624.c, gcc.dg/pr27661.c: Move to
      	gcc.target/s390 directory.
      
      From-SVN: r127738
      Uros Bizjak committed