Commit Graph

82797 Commits

Author SHA1 Message Date
Benjamin Kosnik
c6a8035acf acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): Add ENOLINK, EPROTO for netbsd.
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
2007-08-24 15:19:36 +00:00
Richard Guenther
fa2050d266 re PR tree-optimization/33166 (ICE in get_indirect_ref_operands, at tree-ssa-operands.c:1698)
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
2007-08-24 15:09:10 +00:00
Tobias Burnus
a7d318ea7f re PR fortran/33139 (array pointer assignment gives incorrect dimensions)
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
2007-08-24 17:00:59 +02:00
Jakub Jelinek
14a43348bc expr.c (store_expr): Optimize initialization of an array with STRING_CST.
* 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
2007-08-24 14:29:14 +02:00
Uros Bizjak
492fc3e65a re PR middle-end/33157 (cmov4.c fails on i686)
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
2007-08-24 12:58:12 +02:00
Ollie Wild
89bd2c0308 name-lookup.c (add_decl_to_level): Remove addition to vtables chain.
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
2007-08-24 10:21:13 +00:00
Richard Biener
972ce83e76 Makefile.in (tree-inline.o): Add $(TARGET_H) and $(INTEGRATE_H) dependencies.
2007-08-24  Richard Guenther  <rguenther@suse.de>

	* Makefile.in (tree-inline.o): Add $(TARGET_H) and $(INTEGRATE_H)
	dependencies.

From-SVN: r127764
2007-08-24 09:45:19 +00:00
Richard Guenther
18177c7e9b Makefile.in (tree-inline.o): Add $(TARGET_H) and $(INTEGRATE_H) dependencies.
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
2007-08-24 09:44:04 +00:00
Richard Guenther
9c219b9bb3 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
2007-08-24 09:41:17 +00:00
Kai Tietz
1651030c42 [patch]: libiberty pex for _WIN64.
From-SVN: r127761
2007-08-24 09:40:35 +02:00
Jakub Jelinek
affb3cb200 re PR c++/32567 (ICE on invalid use of parameter pack)
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
2007-08-24 08:54:49 +02:00
H.J. Lu
14693275ea pr32721.c: Updated.
2007-08-23  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc.dg/pr32721.c: Updated.

From-SVN: r127759
2007-08-23 20:07:33 -07:00
Jie Zhang
212db394b3 * crtstuff.c (USE_PT_GNU_EH_FRAME): Don't define for uClibc.
From-SVN: r127758
2007-08-24 02:50:23 +00:00
Jie Zhang
2c117a21b0 bfin.opt (mfast-fp): Add.
* 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
2007-08-24 02:36:34 +00:00
H.J. Lu
424a8b56b5 Fix filenames.
From-SVN: r127756
2007-08-23 17:53:25 -07:00
GCC Administrator
086262329b Daily bump.
From-SVN: r127754
2007-08-24 00:17:35 +00:00
Jakub Jelinek
a5e1abb545 Revert accidentally committed hunk.
From-SVN: r127751
2007-08-24 01:36:14 +02:00
Jakub Jelinek
2f47032617 re PR tree-optimization/32573 (ice for legal code with -O3)
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
2007-08-24 01:29:57 +02:00
Jakub Jelinek
97dc8e5b57 re PR c++/32898 (Definition of variable N::i outside namespace N not rejected)
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
2007-08-24 01:27:34 +02:00
Jakub Jelinek
9b21a38053 decl.c (variable_decl): Don't share charlen structs if length == NULL.
* 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
2007-08-24 01:25:42 +02:00
Jakub Jelinek
c6f3d2f463 re PR c++/31941 ("confused by earlier errors" message without earlier error message)
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
2007-08-24 01:23:26 +02:00
Brian Sidebotham
ddcd0f6f72 configure.ac (leb128): Modify sed statement to work with any binutils version string.
* configure.ac (leb128): Modify sed statement to work with any binutils
	version string.
	* configure: Regenerate

From-SVN: r127745
2007-08-23 17:42:08 +00:00
Benjamin Kosnik
0646d8a378 system_error: New file.
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
2007-08-23 16:16:41 +00:00
Kaveh R. Ghazi
586de21898 arc-protos.h (arc_select_cc_mode, gen_compare_reg): Wrap in RTX_CODE macro guard.
* 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
2007-08-23 15:49:56 +00:00
Uros Bizjak
1406ee9086 re PR target/17390 (missing floating point compare optimization)
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
2007-08-23 16:23:40 +02:00
Richard Guenther
9f7b7ba4c4 tree-pretty-print.c (dump_generic_node): Annotate GIMPLE_MODIFY_STMTs with volatile ops with "{v}".
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
2007-08-23 13:36:43 +00:00
Richard Guenther
5799f73221 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
2007-08-23 13:18:37 +00:00
Francois-Xavier Coudert
db8092dc4c re PR libfortran/23138 ([mingw32] real(16) values are printed incorrectly)
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
2007-08-23 13:03:35 +00:00
Uros Bizjak
b73aff3657 s390: New directory.
* 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
2007-08-23 15:03:07 +02:00
H.J. Lu
0cb58062b7 gcc_update: Handle different URL paths and tags.
2007-08-23  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc_update: Handle different URL paths and tags.

From-SVN: r127737
2007-08-23 05:48:39 -07:00
Richard Guenther
f3b45ab712 re PR tree-optimization/32328 (-fstrict-aliasing causes skipped code)
2007-08-23  Richard Guenther  <rguenther@suse.de>

        PR tree-optimization/32328
        * testsuite/gcc.dg/pr32328.c: New testcase.

From-SVN: r127736
2007-08-23 12:41:59 +00:00
Paolo Bonzini
35f3782f4a gcc:
2007-08-23  Paolo Bonzini  <bonzini@gnu.org>

	* config/i386/sse.md (*sse_and<mode>3, *sse_ior<mode>3,
	*sse_nand<mode>3, *sse_xor<mode>3): New.

gcc/testsuite:
2007-08-23  Paolo Bonzini  <bonzini@gnu.org>

	* gcc.target/i386/xorps-sse.c: New.
	* gcc.target/i386/xorps-sse2.c: New.

From-SVN: r127735
2007-08-23 12:15:20 +00:00
Rask Ingemann Lambertsen
d97ac71d00 simd-4.x: Only run when stdint.h types are available.
* gcc.c-torture/execute/simd-4.x: Only run when stdint.h types are
	  available.

From-SVN: r127734
2007-08-23 12:13:10 +00:00
Francois-Xavier Coudert
7af6648c59 re PR fortran/33095 (MAX with optional arguments gives run-time error)
PR fortran/33095

	* trans-intrinsic.c (gfc_conv_intrinsic_minmax): Remove
	runtime error checking.

	* gfortran.dg/min_max_optional_5.f90: New test.
	* gfortran.dg/min_max_optional_2.f90: Remove.
	* gfortran.dg/min_max_optional_3.f90: Remove.
	* gfortran.dg/min_max_optional_4.f90: Remove.

From-SVN: r127732
2007-08-23 10:22:18 +00:00
Paolo Bonzini
e3a47fe4af cmov3.c: Fix scan-assembler.
2007-08-23  Paolo Bonzini  <bonzini@gnu.org>

	* gcc.target/i386/cmov3.c: Fix scan-assembler.
	* gcc.target/i386/cmov4.c: Fix scan-assembler.
	* gcc.target/i386/xchg-2.c: Fix scan-assembler.

From-SVN: r127731
2007-08-23 10:13:54 +00:00
Uros Bizjak
c9d259cb5e i386.h (PRINT_OPERAND_PUNCT_VALID_P): Add ';' code.
* config/i386/i386.h (PRINT_OPERAND_PUNCT_VALID_P): Add ';' code.
	* config/i386/i386.c (print_operand): Handle ';' code.  Output
	semicolon for TARGET_MACHO.
	* config/i386/sync.md (*sync_compare_and_swap<mode>): Use '%;' to
	emit semicolon after 'lock' prefix.
	(sync_double_compare_and_swap<mode>): Ditto.
	(*sync_double_compare_and_swapdi_pic): Ditto.
	(*sync_compare_and_swap_cc<mode>): Ditto.
	(sync_double_compare_and_swap_cc<mode>): Ditto.
	(*sync_double_compare_and_swap_ccdi_pic): Ditto.
	(sync_old_add<mode>): Ditto.
	(sync_add<mode>): Ditto.
	(sync_sub<mode>): Ditto.
	(sync_ior<mode>): Ditto.
	(sync_and<mode>): Ditto.
	(sync_xor<mode>): Ditto.

From-SVN: r127728
2007-08-23 07:35:13 +02:00
Roger Sayle
f4d8e0d1aa match.c (intrinsic_operators): Delete.
2007-08-22  Roger Sayle  <roger@eyesopen.com>
	    Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>

	* match.c (intrinsic_operators): Delete.
	(gfc_match_intrinsic_op): Rewrite matcher to avoid calling
	gfc_match_strings.


Co-Authored-By: Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>

From-SVN: r127727
2007-08-23 05:03:19 +00:00
Bud Davis
4bbed40523 MAINTAINERS (Write After Approval): Added myself.
2007-08-22  Bud Davis   <jmdavis@link.com>

	* MAINTAINERS (Write After Approval): Added myself.
	* MAINTAINERS (Reviewers): Removed myself.

From-SVN: r127726
2007-08-23 04:15:24 +00:00
Chao-ying Fu
091a3ac7b8 rtl.c (rtx_code_size): Check CONST_FIXED to calcualte correct sizes in DEF_RTL_EXPR.
* rtl.c (rtx_code_size): Check CONST_FIXED to calcualte correct sizes
	in DEF_RTL_EXPR.
	(copy_rtx): Handle CONST_FIXED.
	(rtx_equal_p): Likewise.
	* rtl.h (fixed_value.h): New include.
	(rtx_def): Add a new field of fixed_value to u.
	(XCNMPFV): Define for accessing fixed_value.
	(CONST_FIXED_VALUE, CONST_FIXED_VALUE_HIGH, CONST_FIXED_VALUE_LOW):
	Define.
	* rtl.def (CONST_FIXED): New constant.
	(SS_MULT, US_MULT, SS_DIV, US_DIV, FRACT_CONVERT,
	UNSIGNED_FRACT_CONVERT, SAT_FRACT, UNSIGNED_SAT_FRACT, US_NEG,
	US_ASHIFT): New codes.
	* doc/rtl.texi (Expressions): Document const_fixed, us_neg, ss_mult,
	us_mult, ss_div, us_div, us_ashift, fract_convert, sat_fract,
	unsigned_fract_convert, unsigned_sat_fract): Document them.
	* varasm.c (assemble_integer): Extend to support fixed-point constants
	by using different machine classes.
	(decode_addr_const): Handle FIXED_CST.
	(const_hash_1): Likewise.
	(compare_constant): Likewise.
	(copy_constant): Likewise.
	(const_rtx_hash_1): Handle CONST_FIXED.
	(output_constant_pool_2): Handle MODE_FRACT, MODE_UFRACT, MODE_ACCUM,
	MODE_UACCUM, MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM,
	MODE_VECTOR_UACCUM.
	(initializer_constant_valid_p): Handle FIXED_CST.
	(output_constant): Support FIXED_POINT_TYPE.
	* gengenrtl.c (excluded_rtx): Check CONST_FIXED to exclude.
	* cse.c (hash_rtx): Support CONST_FIXED.
	(exp_equiv_p): Likewise.
	(cannon_reg): Likewise.
	(fold_rtx): Likewise.
	(equiv_constant): Likewise.
	(cse_process_notes_1): Likewise.
	(count_reg_usage): Likewise.
	* cselib.c (entry_and_rtx_equal_p): Check CONST_FIXED.
	(rtx_equal_for_cselib_p): Handle CONST_FIXED.
	(wrap_constant): Check CONST_FIXED.
	(cselib_hash_rtx): Support CONST_FIXED.
	(cselib_subst_to_values): Likewise.
	* df-scan.c (df_uses_record): Likewise.
	* gcse.c (want_to_gcse_p): Likewise.
	(oprs_unchanged_p): Likewise.
	(oprs_not_set_p): Likewise.
	(compute_transp): Likewise.
	(extract_mentioned_regs_helper): Likewise.
	* genemit.c (gen_exp): Likewise.
	* local-alloc.c (equiv_init_varies_p): Likewise.
	(contains_replace_regs): Likewise.
	(memref_referenced_p): Likewise.
	* loop-invariant.c (check_maybe_invariant): Likewise.
	(hash_invariant_expr_1): Likewise.
	(invariant_expr_equal_p): Likewise.
	* postreload-gcse.c (oprs_unchanged_p): Likewise.
	* regclass.c (reg_scan_mark_refs): Likewise.
	* regrename.c (scan_rtx): Likewise.
	* resource.c (mark_referenced_resources): Likewise.
	(mark_set_resources): Likewise.
	* rtlanal.c (rtx_unstable_p): Likewise.
	(rtx_varies_p): Likewise.
	(count_occurrences): Likewise.
	(reg_mentioned_p): Likewise.
	(modified_between_p): Likewise.
	(modified_in_p): Likewise.
	(volatile_insn_p): Likewise.
	(volatile_refs_p): Likewise.
	(side_effects_p): Likewise.
	(may_trap_p_1): Likewise.
	(inequality_comparisons_p): Likewise.
	(computed_jump_p_1): Likewise.
	(commutative_operand_precedence): Likewise.
	* sched-deps.c (sched_analyze_2): Likewise.
	* sched-vis.c (print_value): Likewise.
	* reload.c (operands_match_p): Likewise.
	(subst_reg_equivs): Likewise.
	* reload1.c (eliminate_regs_1): Likewise.
	(elimination_effects): Likewise.
	(scan_paradoxical_subregs): Likewise.
	* alias.c (rtx_equal_for_memref_p): Likewise.
	* Makefile.in (RTL_BASE_H): Add fixed-value.h.
	* emit-rtl.c (const_fixed_htab): New hash table.
	(const_fixed_htab_hash, const_fixed_htab_eq, lookup_const_fixed):
	Declare.
	(const_fixed_htab_hash, const_fixed_htab_eq, lookup_const_fixed,
	const_fixed_from_fixed_value): New functions.
	(verify_rtx_sharing): Handle CONST_FIXED.
	(copy_rtx_if_shared_1): Likewise.
	(reset_used_flags): Likewise.
	(set_used_flags): Likewise.
	(copy_insn_1): Likewise.
	(init_emit_once): Create const_fixed_htab.
	Store fixed-point scalar and vector zero and one to const_tiny_rtx.

From-SVN: r127725
2007-08-23 00:30:39 +00:00
GCC Administrator
9851005046 Daily bump.
From-SVN: r127723
2007-08-23 00:17:33 +00:00
Zdenek Dvorak
24938ce920 re PR tree-optimization/32949 (suboptimal address generation for int indices on 64-bit targets)
2007-08-22  Zdenek Dvorak  <ook@ucw.cz>

	PR tree-optimization/32949
	* tree-ssa-loop-niter.c (scev_probably_wraps_p): Test nowrap_type_p
	before failing for ivs with non-constant step.

From-SVN: r127720
2007-08-22 23:05:05 +00:00
Christopher D. Rickett
aa2f6edbf7 re PR fortran/33020 (Bind(C): c_f_pointer: type/rank mismatch error with integer(8) SHAPE)
2007-08-22  Christopher D. Rickett  <crickett@lanl.gov>

	PR fortran/33020
	* resolve.c (gfc_iso_c_sub_interface): Remove setting of type and
	kind for optional SHAPE parameter of C_F_POINTER.

2007-08-22  Christopher D. Rickett  <crickett@lanl.gov>

	PR fortran/33020
	* gfortran.dg/c_f_pointer_shape_tests_2.f03: Update test to
	include multiple kinds for SHAPE parameter within a single
	namespace.
	* gfortran.dg/c_f_pointer_shape_tests_2_driver.c: Ditto.
	* gfortran.dg/c_f_pointer_shape_tests_3.f03: New test case.

From-SVN: r127719
2007-08-22 23:28:08 +02:00
Janus Weil
129d15a3e0 decl.c (match_attr_spec): Pass on errors from gfc_match_bind_c.
2007-08-22  Janus Weil  <jaydub66@gmail.com>

	* decl.c (match_attr_spec): Pass on errors from gfc_match_bind_c.
	(gfc_match_bind_c): Bugfix in check for NAME= with abstract interfaces.
	(gfc_match_mopdproc): Bugfix to reject module procedures in
	abstract interfaces.

2007-08-22  Janus Weil  <jaydub66@gmail.com>

	* interface_abstract_1.f90: Extended test case.
	* interface_abstract_3.f90: New test.

From-SVN: r127718
2007-08-22 23:11:13 +02:00
Jason Merrill
f11b235171 fix changelog entry
From-SVN: r127717
2007-08-22 16:43:06 -04:00
Hans-Peter Nilsson
3abcb3a781 md.texi (Iterators): Renamed from Macros.
* doc/md.texi (Iterators): Renamed from Macros.  All contents
	changed to reflect rename of respectively define_code_macro and
	define_mode_macro to define_code_iterator and define_mode_iterator.
	(Mode Iterators, Code Iterators): Similar.
	* read-rtl.c (struct iterator_group, struct iterator_traverse_data)
	(uses_mode_iterator_p, apply_mode_iterator, uses_code_iterator_p)
	(apply_iterator_to_string, uses_iterator_p, apply_iterator_traverse)
	(initialize_iterators, find_iterator, check_code_iterator)
	(map_attr_string, apply_mode_maps, apply_iterator_to_rtx, add_mapping)
	(read_mapping, read_rtx_1): Similar.
	* config/alpha/sync.md, config/alpha/alpha.md, config/frv/frv.md,
	config/s390/s390.md, config/m32c/blkmov.md, config/m32c/m32c.md,
	config/spu/spu.md, config/sparc/sparc.md, config/sparc/sync.md,
	config/i386/i386.md, config/i386/mmx.md, config/i386/sse.md,
	config/i386/sync.md, config/crx/crx.md, config/xtensa/xtensa.md,
	config/cris/cris.c, config/cris/cris.md, config/ia64/sync.md,
	config/ia64/div.md, config/ia64/vect.md, config/ia64/ia64.md,
	config/m68k/m68k.md, config/rs6000/spe.md, config/rs6000/altivec.md,
	config/rs6000/sync.md, config/rs6000/rs6000.md,
	config/arm/vec-common.md, config/arm/neon.md, config/arm/iwmmxt.md,
	config/arm/arm.md, config/mips/mips-dsp.md, config/mips/mips.md,
	config/vax/vax.md, config/bfin/bfin.md: Similar.

From-SVN: r127715
2007-08-22 20:32:18 +00:00
Bernhard Fischer
3a923a7585 Makefile.am (AM_CPPFLAGS): Commentary typo fix.
2007-08-22  Bernhard Fischer  <rep.dot.nop@gmail.com>

	* libgfortran/Makefile.am (AM_CPPFLAGS): Commentary typo fix.

From-SVN: r127714
2007-08-22 22:30:26 +02:00
David Daney
82161911c3 * doc/install.texi (Testing): Mention testing on a simulator.
From-SVN: r127713
2007-08-22 18:31:53 +00:00
Jason Merrill
6117220672 re PR c++/29365 (Unnecessary anonymous namespace warnings)
PR c++/29365
        * pt.c (outermost_tinst_level): New function.
        * lex.c (in_main_input_context): New function.
        * decl2.c (constrain_class_visibility): Use it to avoid warning
        about uses of the anonymous namespace in the main input file.

From-SVN: r127711
2007-08-22 13:23:37 -04:00
Janis Johnson
1840f0c270 * config/dfp-bit.c (DFP_TO_DFP): Check for overflow.
From-SVN: r127710
2007-08-22 17:16:44 +00:00
Janis Johnson
e2311f7a29 libgcc.texi (Decimal float library routines): Fix formatting and rearrange floating point conversion functions into different...
* doc/libgcc.texi (Decimal float library routines): Fix formatting
	and rearrange floating point conversion functions into different
	categories.

From-SVN: r127709
2007-08-22 16:36:28 +00:00