Commit Graph

86279 Commits

Author SHA1 Message Date
Jakub Jelinek
2725b75c33 re PR target/35498 (libgomp/testsuite/libgomp.c/atomic-3.c fails on ppc-linux)
PR target/35498
	* config/rs6000/rs6000.c (rs6000_expand_compare_and_swapqhi): Shift
	wdst back after sync_compare_and_swapqhi_internal.

From-SVN: r133024
2008-03-08 08:30:55 +01:00
Uros Bizjak
10a97ae6f1 re PR target/22152 (Poor loop optimization when using mmx builtins)
2008-03-08  Uros Bizjak  <ubizjak@gmail.com>

        PR target/22152
        * config/i386/i386-modes.def (V1DI): New vector mode.
        * config/i386/i386.h (VALID_MMX_REG_MODE): Add V1DImode.
        * config/i386/mmx.md (MMXMODEI8): New mode iterator.
        (MMXMODE248): Ditto.
        (MMXMODE): Add V1DI mode.
        (mmxvecsize): Change DI mode to V1DI mode.
        ("mov<mode>): Use MMXMODEI8 mode iterator.
        ("*mov<mode>_internal_rex64"): Ditto.
        ("*mov<mode>_internal"): Ditto.
        ("mmx_add<mode>3"): Ditto.  Handle V1DImode for TARGET_SSE2.
        ("mmx_sub<mode>3"): Ditto.
        ("mmx_adddi3"): Remove insn pattern.
        ("mmx_subdi3"): Ditto.
        ("mmx_ashr<mode>3"): Use SImode and "yN" constraint for operand 2.
        ("mmx_lshr<mode>3"): Ditto. Use MMXMODE248 mode iterator.
        ("mmx_ashl<mode>3"): Ditto.
        ("mmx_lshrdi3"): Remove insn pattern.
        ("mmx_ashldi3"): Ditto.
        * config/i386/i386.c (classify_argument): Handle V1DImode.
        (function_arg_advance_32): Ditto.
        (function_arg_32): Ditto.
        (struct builtin_description) [IX86_BUILTIN_PADDQ]: Use
        mmx_addv1di3 insn pattern.
        [IX86_BUILTIN_PSUBQ]: Use mmx_subv1di3 insn pattern.
        [IX86_BUILTIN_PSLL?, IX86_BUILTIN_PSRL?, IX86_BUILTIN_PSRA?,
        IX86_BUILTIN_PSLL?I, IX86_BUILTIN_PSRL?I, IX86_BUILTIN_PSRA?I,
        IX86_BUILTIN_PSLL?I128, IX86_BUILTIN_PSRL?I128, IX86_BUILTIN_PSRA?I128]:
        Remove definitions of built-in functions.
        (V1DI_type_node): New node.
        (v1di_ftype_v1di_int): Ditto.
        (v1di_ftype_v1di_v1di): Ditto.
        (v2si_ftype_v2si_si): Ditto.
        (v4hi_ftype_v4hi_di): Remove node.
        (v2si_ftype_v2si_di): Ditto.
        (ix86_init_mmx_sse_builtins): Handle V1DImode.
        (__builtin_ia32_psll?, __builtin_ia32_psrl?, __builtin_ia32_psra?):
        Redefine builtins using def_builtin_const with *_ftype_*_int node.
        (__builtin_ia32_psll?i, __builtin_ia32_psrl?i, __builtin_ia32_psra?i):
        Add new builtins using def_builtin_const.
        (ix86_expand_builtin) [IX86_BUILTIN_PSLL?, IX86_BUILTIN_PSRL?,
        IX86_BUILTIN_PSRA?, IX86_BUILTIN_PSLL?I, IX86_BUILTIN_PSRL?I,
        IX86_BUILTIN_PSRA?I]: Handle builtin definitions.
        * config/i386/mmintrin.h (__v1di): New typedef.
        (_mm_add_si64): Cast arguments to __v1di type.
        (_mm_sub_si64): Ditto.
        (_mm_sll_pi16): Cast __count to __v4hi type.
        (_mm_sll_pi32): Cast __count to __v2si type.
        (_mm_sll_si64): Cast arguments to __v1di type.
        (_mm_srl_pi16): Cast __count to __v4hi type.
        (_mm_srl_pi32): Cast __count to __v2si type.
        (_mm_srl_si64): Cast arguments to __v1di type.
        (_mm_sra_pi16): Cast __count to __v4hi type.
        (_mm_sra_pi32): Cast __count to __v2si type.
        (_mm_slli_pi16): Use __builtin_ia32_psllwi.
        (_mm_slli_pi32): Use __builtin_ia32_pslldi.
        (_mm_slli_si64): Use __builtin_ia32_psllqi. Cast __m to __v1di type.
        (_mm_srli_pi16): Use __builtin_ia32_psrlwi.
        (_mm_srli_pi32): Use __builtin_ia32_psrldi.
        (_mm_srli_si64): Use __builtin_ia32_psrlqi. Cast __m to __v1di type.
        (_mm_srai_pi16): Use __builtin_ia32_psrawi.
        (_mm_srai_pi32): Use __builtin_ia32_psradi.
        * config/i386/i386.md (UNSPEC_NOP): Remove unspec definition.
        * doc/extend.texi (X86 Built-in Functions) [__builtin_ia32_psll?,
        __builtin_ia32_psrl?, __builtin_ia32_psra?, __builtin_ia32_psll?i,
        __builtin_ia32_psrl?i, __builtin_ia32_psra?i]: Add new builtins.

From-SVN: r133023
2008-03-08 07:59:33 +01:00
GCC Administrator
5fab80a4a3 Daily bump.
From-SVN: r133021
2008-03-08 00:20:28 +00:00
Joseph Myers
08c3b5b007 * doc/include/texinfo.tex: Update to version 2008-03-07.10.
From-SVN: r133015
2008-03-07 22:55:06 +00:00
Eric Botcazou
b49a1a1e0f decl.c (gnat_to_gnu_entity): Add comment for the packed array type case.
* decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Add
	comment for the packed array type case.
	* utils.c (build_template): Use a loop to strip padding or
	containing records for justified modular types.

From-SVN: r133014
2008-03-07 18:41:01 +00:00
Eric Botcazou
38516a1ab6 Add missing dg marker.
From-SVN: r133013
2008-03-07 17:47:56 +00:00
Eric Botcazou
fd5c81e908 decl.c (gnat_to_gnu_entity): Issue a warning on suspiciously large alignments specified for types.
* decl.c (gnat_to_gnu_entity): Issue a warning on suspiciously
	large alignments specified for types.
	(validate_alignment): Minor cleanup.

From-SVN: r133012
2008-03-07 17:45:09 +00:00
Eric Botcazou
7f42aa36f6 decl.c (MAX_FIXED_MODE_SIZE): Define if not already defined.
* decl.c (MAX_FIXED_MODE_SIZE): Define if not already defined.
	(gnat_to_gnu_entity) <E_Record_Type>: Try to get a smaller form of
	the component for packing, if possible, as well as if a component
	size clause is specified.
	<E_Record_Subtype>: For an array type used to implement a packed
	array, get the component type from the original array type.
	Try to get a smaller form of the component for packing, if possible,
	as well as if a component size clause is specified.
	(round_up_to_align): New function.
	(make_packable_type): Add in_record parameter.
	For a padding record, preserve the size.  If not in_record and the
	size is too large for an integral mode, attempt to shrink the size
	by lowering the alignment.
	Ditch the padding bits of the last component.
	Compute sizes and mode manually, and propagate the RM size.
	Return a BLKmode record type if its size has shrunk.
	(maybe_pad_type): Use MAX_FIXED_MODE_SIZE instead of BIGGEST_ALIGNMENT.
	Use Original_Array_Type to retrieve the type in case of an error.
	Adjust call to make_packable_type.
	(gnat_to_gnu_field): Likewise.
	(concat_id_with_name): Minor tweak.
	* trans.c (larger_record_type_p): New predicate.
	(call_to_gnu): Compute the nominal type of the object only if the
	parameter is by-reference.  Do the conversion actual type -> nominal
	type if the nominal type is a larger record.
	(gnat_to_gnu): Do not require integral modes on the source type to
	avoid the conversion for types with identical names.
	(addressable_p): Add gnu_type parameter.  If it is specified, do not
	return true if the expression is not addressable in gnu_type.
	Adjust recursive calls.
	* utils.c (finish_record_type): Remove dead code.

From-SVN: r133011
2008-03-07 17:12:28 +00:00
Peter Bergner
efc05e3c55 re PR target/35373 (bootstraping on powerpc with 128bit long double fails with revision 132578)
PR target/35373
	* config/rs6000/rs6000.c (rs6000_legitimize_address): Don't generate
	reg+const addressing for Altivec modes.  Don't generate reg+reg
	addressing for TFmode or TDmode quantities.

From-SVN: r133008
2008-03-07 09:20:31 -06:00
Paolo Bonzini
96d8488248 revert: re PR c++/35049 (g++.dg/conversion/simd3.C:12: error: invalid operands to binary + (have 'float __vector__' and 'int __vector__'))
cp:
2008-03-07  Paolo Bonzini  <bonzini@gnu.org>

	Revert:

	2008-02-06  Douglas Gregor  <doug.gregor@gmail.com>

	PR c++/35049
	PR c++/35096
	* typeck.c (structural_comptypes): Call cp_comptypes.
	(comptypes): New; called from the C/C++ common bits to perform
	strict checks.
	(cp_comptypes): Renamed from comptypes, which is already used,
	with a different signature, by the C++ front end.
	(build_reinterpret_cast_1): Call cp_comptypes.
	(ptr_reasonably_similar): Ditto.
	* decl.c (decls_match): Ditto.
	* cvt.c (convert_to_reference): Ditto.
	* cp-tree.h (same_type_p): Ditto.
	(same_or_base_type_p): Ditto.
	(comptypes): Rename to cp_comptypes.
	* pt.c (canonical_type_parameter): Call cp_comptypes.

objcp:
2008-03-07  Paolo Bonzini  <bonzini@gnu.org>

	Revert:

	2008-02-07  Andreas Tobler  <andreast-list@fgznet.ch>
	            Douglas Gregor  <doug.gregor@gmail.com>
 
	PR bootstrap/35115
	* objcp-decl.c (objcp_comptypes): Call cp_comptypes, not comptypes.

From-SVN: r133007
2008-03-07 11:47:20 +00:00
Jakub Jelinek
31908b799e gnu.ver: Move <system_error> related symbols to GLIBCXX_3.4.11 symbol version.
* config/abi/pre/gnu.ver: Move <system_error> related
	symbols to GLIBCXX_3.4.11 symbol version.
	* testsuite/util/testsuite_abi.cc (check_version): Allow
	GLIBCXX_3.4.11.

From-SVN: r133006
2008-03-07 12:09:49 +01:00
Paolo Bonzini
cf7bc6681f c-common.c (vector_types_convertible_p): Call langhook instead of comptypes.
2008-03-07  Paolo Bonzini  <bonzini@gnu.org>

	* c-common.c (vector_types_convertible_p): Call langhook
	instead of comptypes.

cp:
2008-03-07  Paolo Bonzini  <bonzini@gnu.org>

	* cp-objcp-common.c (cxx_types_compatible_p): Remove obsolete
	test for equivalence between pointer and references.

From-SVN: r133002
2008-03-07 08:48:57 +00:00
Peter O'Gorman
83644cd500 re PR target/20366 (AIX g++ -D_LARGE_FILES fails to compile #include <iostream>)
fixincludes/
2008-03-07  Peter O'Gorman  <pogma@thewrittenword.com>

	PR c++/20366
	* inclhack.def (AAB_aix_stdio): Hack stdio.h for -D_LARGE_FILES.
	* fixincl.x: Regenerate.
	* tests/base/stdio.h: Add test.

gcc/testsuite/
2008-03-07  Peter O'Gorman  <pogma@thewrittenword.com>

	PR c++/20366
	* g++.dg/other/pr20366.C: New test.

From-SVN: r133001
2008-03-07 06:53:59 +00:00
GCC Administrator
cb6f415f34 Daily bump.
From-SVN: r132998
2008-03-07 00:20:26 +00:00
Andrew Pinski
b094015443 re PR tree-optimization/35402 (Store CCP will not inline static const variable which is default initialized)
2008-03-06  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/35402
        * tree-ssa-ccp.c (get_symbol_constant_value): Handle
        integral and scalar float variables which have a
        NULL DECL_INITIAL.

2008-03-06  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/35402
        * gcc.dg/tree-ssa/ssa-store-ccp-1.c: New test.

From-SVN: r132991
2008-03-06 13:56:04 -08:00
Ralf Wildenhues
39897cdcb0 HACKING: Fix grep patterns.
libjava/

	* HACKING: Fix grep patterns.

From-SVN: r132988
2008-03-06 19:54:27 +00:00
Chris Jefferson
230636fe5e re PR libstdc++/35480 (Relational operators for <tr1/tuple> don't error on different sized tuples)
2008-03-06  Chris Jefferson  <chris@bubblescope.net>
	    Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/35480
	* include/tr1/tuple (operator==, operator<): Fix.
	* include/std/tuple (operator==, operator<): Likewise.
	* testsuite/tr1/6_containers/tuple/comparison_operators/35480.cc: New.
	* testsuite/20_util/tuple/comparison_operators/35480.cc: Likewise.

Co-Authored-By: Paolo Carlini <pcarlini@suse.de>

From-SVN: r132983
2008-03-06 18:35:26 +00:00
Markus Milleder
830465c6ea re PR preprocessor/35458 (Dependency generation (-M) does not quote '#' in filenames)
libcpp
2008-03-06  Markus Milleder  <markus.milleder@generali.at>
	PR preprocessor/35458
	* mkdeps.c (munge): Quote '#' with a '\'.
gcc/testsuite
2008-03-06  Markus Milleder  <markus.milleder@generali.at>
	PR preprocessor/35458
	* gcc.dg/cpp/cmdlne-M-2.c: New file.
	* gcc.dg/cpp/cmdlne-M-2#.h: New file.
	* gcc.dg/cpp/#cmdlne-M-2.h: New file.

From-SVN: r132982
2008-03-06 18:08:40 +00:00
Nathan Froyd
48081aae38 dwarf2out.c (dwarf2out_frame_debug_expr): Consult the dwarf_register_span hook when emitting unwind information for...
* dwarf2out.c (dwarf2out_frame_debug_expr): Consult the
	dwarf_register_span hook when emitting unwind information for
	register-to-memory saves.
	* config/rs6000/rs6000.c (spe_synthesize_frame): Delete.
	(rs6000_frame_related): Remove call to spe_synthesize_frame.

From-SVN: r132981
2008-03-06 17:57:06 +00:00
Jakub Jelinek
71458b8a12 Formatting nit.
From-SVN: r132979
2008-03-06 18:46:14 +01:00
Jakub Jelinek
251923f5e4 gimplify.c (goa_lhs_expr_p): Allow different ADDR_EXPR nodes for the same VAR_DECL.
* gimplify.c (goa_lhs_expr_p): Allow different ADDR_EXPR nodes
	for the same VAR_DECL.

	* testsuite/libgomp.c/atomic-3.c: New test.

From-SVN: r132977
2008-03-06 18:28:54 +01:00
Tom Tromey
e8645a4001 MAINTAINERS: Update for treelang deletion.
.	* MAINTAINERS: Update for treelang deletion.
gcc
2008-03-05  Tom Tromey  <tromey@redhat.com>

	* treelang: Delete.
	* doc/standards.texi (Standards): Don't mention treelang.
	* doc/invoke.texi (Overall Options): Don't mention treelang.
	* doc/install.texi (Prerequisites): Don't mention bison or
	treelang.
	(Configuration): Don't mention treelang.
	(Building): Likewise.
	* doc/frontends.texi (G++ and GCC): Don't mention treelang.
gcc/testsuite
	* lib/treelang-dg.exp, lib/treelang.exp: Delete.
	* treelang: Delete.
gcc/testsuite/treelang
Removed
gcc/treelang
Removed

From-SVN: r132976
2008-03-06 17:14:05 +00:00
Tom Tromey
3825be8c96 patch_tester.sh (usage): Watermark is not lexicographic.
* patch_tester.sh (usage): Watermark is not lexicographic.
	Load $STATE/defaults if it exists.
	(selfexec): Use $0.
	(apply_patch): Handle deletions.
	(bootntest): Handle default settings.

From-SVN: r132974
2008-03-06 14:47:23 +00:00
Paolo Bonzini
97efb03aed simplify-rtx.c (simplify_subreg): Remove useless shifts from word-extractions out of a multi-word object.
2008-03-06  Paolo Bonzini  <bonzini@gnu.org>

	* simplify-rtx.c (simplify_subreg): Remove useless shifts from
	word-extractions out of a multi-word object.

From-SVN: r132971
2008-03-06 13:30:10 +00:00
Francois-Xavier Coudert
fdc54e8854 re PR fortran/33197 (Fortran 2008: math functions)
PR fortran/33197
	* intrinsic.c (add_functions): Add simplification routines for
	ERF, DERF, ERFC and DERFC.
	* decl.c (gfc_match_suffix, gfc_match_subroutine): Change GNU
	extensions into Fortran 2008 features.
	* intrinsic.h (gfc_simplify_erf, gfc_simplify_erfc): New
	prototypes.
	* simplify.c (gfc_simplify_erf, gfc_simplify_erfc): New functions.

From-SVN: r132970
2008-03-06 12:40:28 +00:00
Richard Guenther
fc0f49f351 tree.def (BIT_FIELD_REF): Constrain result type and its precision.
2008-03-06  Richard Guenther  <rguenther@suse.de>

	* tree.def (BIT_FIELD_REF): Constrain result type and its precision.
	* tree-cfg.c (verify_expr): Verify BIT_FIELD_REF constraints on
	result type and precision.
	* expr.c (get_inner_reference): Set unsignedp based on the result
	type of BIT_FIELD_REF.
	* tree.h (BIT_FIELD_REF_UNSIGNED): Remove.
	* tree-sra.c (instantiate_element): Do not set BIT_FIELD_REF_UNSIGNED.
	(try_instantiate_multiple_fields): Likewise.  Use the correct type
	for BIT_FIELD_REF.
	(sra_build_assignment): Likewise.
	(sra_build_elt_assignment): Likewise.
	(sra_explode_bitfield_assignment): Likewise.
	* print-tree.c (print_node): Do not check BIT_FIELD_REF_UNSIGNED.
	* tree-vect-transform.c (vect_create_epilog_for_reduction): Do not
	set BIT_FIELD_REF_UNSIGNED.
	(vectorizable_load): Likewise.

From-SVN: r132969
2008-03-06 12:08:23 +00:00
Andreas Krebbel
e186ff694e cse.c (cse_extended_basic_block): Invalidate artificial defs at bb start.
2008-03-06  Andreas Krebbel  <krebbel1@de.ibm.com>

	* cse.c (cse_extended_basic_block): Invalidate artificial defs
	at bb start.

From-SVN: r132968
2008-03-06 11:35:30 +00:00
Richard Guenther
4c067742bd alias.c (struct alias_set_entry): Move has_zero_child field to pack with alias_set.
2008-03-06  Richard Guenther  <rguenther@suse.de>

	* alias.c (struct alias_set_entry): Move has_zero_child field
	to pack with alias_set.

From-SVN: r132967
2008-03-06 09:16:16 +00:00
H.J. Lu
23880b9795 i386-modes.def: Use 4 byte alignment on DI for 32bit host.
2008-03-05  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386-modes.def: Use 4 byte alignment on DI for
	32bit host.

From-SVN: r132966
2008-03-05 21:11:52 -08:00
Ian Lance Taylor
6ab813027a * alias.h (alias_set_type): Change from HOST_WIDE_INT to int.
From-SVN: r132964
2008-03-06 01:18:51 +00:00
Eric Botcazou
2f76571e54 re PR ada/35186 (implicit assumption about alignment of DImode)
PR ada/35186
	* decl.c (maybe_pad_type): Avoid padding an integral type when
	bumping its alignment is sufficient.

From-SVN: r132963
2008-03-06 00:44:11 +00:00
Kenneth Zadeck
ca9052ce17 fwprop.c (update_df): Support width and offset parameters of df_ref_create.
2008-03-05  Kenneth Zadeck <zadeck@naturalbridge.com>

	* fwprop.c (update_df): Support width and offset parameters of
	df_ref_create.
	* ra-conflict.c (mark_reg_store, clear_reg_in_live,
	global_conflicts): Change DF_REF_EXTRACT to either
	DF_REF_ZERO_EXTRACT or DF_REF_SIGN_EXTRACT.  Change
	DF_REF_STRICT_LOWER_PART to DF_REF_STRICT_LOW_PART.
	* df-scan.c (df_ref_record, df_defs_record,
	df_ref_create_structure, df_def_record_1, df_uses_record,
	df_get_conditional_uses, df_get_call_refs, df_insn_refs_collect,
	df_bb_refs_collect, df_entry_block_defs_collect,
	df_exit_block_uses_collect): Support new width and offset fields.
	(ref_extract_pool): New storage pool.
	(df_free_ref): New function.
	(df_reg_chain_unlink, df_free_collection_rec,
	df_sort_and_compress_refs): Call df_free_ref.
	(df_ref_equal_p, df_ref_compare): Compare offset and width fields
	of df_ref_extract.
	(df_ref_create_structure): Allocate df_ref_extract if offset and
	width fields are used.
	(df_def_record_1): Get offset and width from ZERO_EXTRACT.
	(df_uses_record): Get offset and width from ZERO_EXTRACT 
	and SIGN_EXTRACT.
	* global.c (build_insn_chain): Change DF_REF_EXTRACT to either
	DF_REF_ZERO_EXTRACT or DF_REF_SIGN_EXTRACT.  Change
	DF_REF_STRICT_LOWER_PART to DF_REF_STRICT_LOW_PART.
	* df.h (df_ref_flags): Change DF_REF_EXTRACT to either
	DF_REF_ZERO_EXTRACT or DF_REF_SIGN_EXTRACT.  Change
	DF_REF_STRICT_LOWER_PART to DF_REF_STRICT_LOW_PART.
	(df_ref_extract): New structure.
	(DF_REF_WIDTH, DF_REF_OFFSET): New macros.
	(df_ref_create): Add width and offset parameters.

From-SVN: r132962
2008-03-06 00:21:34 +00:00
GCC Administrator
256fe3d795 Daily bump.
From-SVN: r132960
2008-03-06 00:19:03 +00:00
Richard Guenther
63d195d548 tree-ssa-structalias.c (get_constraint_for_component_ref): Use ranges_overlap_p.
2008-03-05  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-structalias.c (get_constraint_for_component_ref):
	Use ranges_overlap_p.
	(offset_overlaps_with_access): Rename
	to ranges_overlap_p and move ...
	* tree-flow-inline.h (ranges_overlap_p): ... here.

	* tree.h (get_inner_reference, handled_component_p): Update
	comments.

	* tree.h (record_component_aliases, get_alias_set,
	alias_sets_conflict_p, alias_sets_must_conflict_p,
	objects_must_conflict_p): Move declarations ...
	* alias.h (record_component_aliases, get_alias_set,
	alias_sets_conflict_p, alias_sets_must_conflict_p,
	objects_must_conflict_p): ... here.
	Include coretypes.h.
	* Makefile.in (ALIAS_H): Add coretypes.h dependency.

From-SVN: r132950
2008-03-05 19:33:55 +00:00
Aldy Hernandez
ea7e6d5ae0 cfg.c: Include tree-flow.h.
* cfg.c: Include tree-flow.h.
        (remove_edge_raw): Call redirect_edge_var_map_clear.
        (redirect_edge_succ_nodup): Call redirect_edge_var_map_dup.
        * tree-flow-inline.h (redirect_edge_var_map_def): New.
        (redirect_edge_var_map_result): New.
        * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Replace
        PENDING_STMT use with redirect_edge_var_map_*.
        * tree-ssa.c (edge_var_maps): New definition.
        (redirect_edge_var_map_add): New.
        (redirect_edge_var_map_clear): New.
        (redirect_edge_var_map_dup): New.
        (redirect_edge_var_map_vector): New.
        (redirect_edge_var_map_destroy): New.
        (ssa_redirect_edge): Replace PENDING_STMT use with
        redirect_edge_var_map_*.
        (flush_pending_stmts): Same.
        (delete_tree_ssa): Destroy edge var map.
        * tree-flow.h (struct _edge_var_map): New.
        Define edge_var_map vector type.
        Declare redirect_edge_var_map_* prototypes.
        * Makefile.in (cfg.o): Depend on TREE_FLOW_H.
        * tree-cfg.c (reinstall_phi_args): Replace
        PENDING_STMT use with redirect_edge_var_map_*.

From-SVN: r132903
2008-03-05 17:20:26 +00:00
Jakub Jelinek
a7d95bfef5 * gennews (files): Reference GCC 4.3 web pages.
From-SVN: r132901
2008-03-05 17:22:11 +01:00
Richard Guenther
1bdcf037b3 re PR tree-optimization/35472 (tree DSE is broken)
2008-03-05  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/35472
	* tree-ssa-dse.c (dse_optimize_stmt): Do not delete a store
	whose single use_stmt has a overlapping set of loaded and
	stored symbols as that use_stmt might be a noop assignment then.

	* gcc.c-torture/execute/pr35472.c: New testcase.

From-SVN: r132899
2008-03-05 16:13:04 +00:00
Joel Sherrill
fec5fe47e6 gthr-rtems.h: Implement __gthread_mutex_destroy.
2008-03-05  Joel Sherrill <joel.sherrill@oarcorp.com>

	* gthr-rtems.h: Implement __gthread_mutex_destroy.

From-SVN: r132897
2008-03-05 13:16:57 +00:00
Richard Guenther
e55f42fb77 re PR c++/35336 (Broken diagnostic: 'bit_field_ref' not supported by dump_expr)
2008-03-05  Richard Guenther  <rguenther@suse.de>

	PR c++/35336
	* tree.def (BIT_FIELD_REF): Document that operands 1 and 2
	should be constants.
	* tree-cfg.c (verify_expr): Verify it.
	* fold-const.c (fold_truthop): Remove code generating
	BIT_FIELD_REFs of structure bases.
	(fold_binary): Likewise.
	(fold_ternary): Position and size of BIT_FIELD_REFs are
	always host integers.
	(make_bit_field_ref): Remove.
	(optimize_bit_field_compare): Remove.
	(all_ones_mask_p): Remove.

From-SVN: r132894
2008-03-05 10:32:07 +00:00
Gabor Loki
1da266feea re PR rtl-optimization/33009 (-frtl-abstract-sequences causes an infinite loop)
2008-03-05  Gabor Loki  <loki@gcc.gnu.org>

	PR gcc/33009
	* rtl-factoring.c (clear_regs_live_in_seq): Fix backward steps.
	(split_block_and_df_analyze): New. Split basic block and rebuild
	dataflow.
	(block_label_after): Use SPLIT_BLOCK_AND_DF_ANALYZE instead of
	SPLIT_BLOCK.
	(split_pattern_seq): Likewise.
	(erase_matching_seqs): Likewise.
	(split_pattern_seq): Skip return insn in case of REG_NORETURN note.

	PR testsuite/33009
	* gcc.c-torture/compile/pr11832.c: Check -frtl-abstract-sequences.
	* gcc.c-torture/compile/pr33009.c: Likewise.

From-SVN: r132893
2008-03-05 10:15:45 +00:00
Victor Kaplansky
f0f00f130d re PR testsuite/31341 (testsuite pr31041.c fails conflicting with <stdint.h>)
2008-03-05  Victor Kaplansky  <victork@gcc.gnu.org>

        PR 31341
	* gcc.dg/vect/pr31041.c: Fix.

From-SVN: r132892
2008-03-05 08:08:11 +00:00
Hans-Peter Nilsson
7c99c2104d re PR libfortran/35293 (truncation errors with gfortran.dg/streamio_11.f90, 3, 4 and 15.)
PR libfortran/35293
	* lib/lib/target-supports.exp (check_effective_target_fd_truncate):
	New.
	* gfortran.fortran-torture/execute/list_read_1.x,
...	gfortran.dg/write_back.f: Gate test on effective_target
	fd_truncate.
(missing PR ChangeLog decoration)

From-SVN: r132889
2008-03-05 01:55:27 +00:00
Hans-Peter Nilsson
25abf44844 re PR libfortran/35293 (truncation errors with gfortran.dg/streamio_11.f90, 3, 4 and 15.)
PR libfortran/35293
	* io/unix.c (fd_truncate): Fold s->special_file case into
	success case of ftruncate/chsize call instead of the failure case.
	Make failure case actually return failure.  Properly update stream
	pointers on failure.  Call runtime_error for targets without
	neither ftruncate nor chsize where such a call would be needed.

From-SVN: r132888
2008-03-05 01:50:33 +00:00
Geoffrey Keating
07c40d0bb9 fold-const.c (tree_single_nonnegative_warnv_p): Fix mixed declaration and code.
* fold-const.c (tree_single_nonnegative_warnv_p): Fix mixed
	declaration and code.
	(tree_invalid_nonnegative_warnv_p): Likewise.

From-SVN: r132886
2008-03-05 01:08:45 +00:00
Hans-Peter Nilsson
e054e17e6d re PR libfortran/19872 ([4.0 only] closed and re-opened file not overwriten)
* lib/lib/target-supports.exp (check_effective_target_fd_truncate):
	New.
	* gfortran.fortran-torture/execute/list_read_1.x,
	gfortran.fortran-torture/execute/read_null_string.x,
	gfortran.fortran-torture/execute/backspace.x,
	gfortran.fortran-torture/execute/seq_io.x,
	gfortran.fortran-torture/execute/slash_edit.x,
	gfortran.fortran-torture/execute/unopened_unit_1.x,
	gfortran.dg/namelist_21.f90, gfortran.dg/advance_5.f90,
	gfortran.dg/fmt_t_7.f, gfortran.dg/eor_1.f90, 
	gfortran.dg/read_x_past.f, gfortran.dg/tl_editing.f90,
	gfortran.dg/ftell_2.f90, gfortran.dg/namelist_13.f90,
	gfortran.dg/namelist_22.f90, gfortran.dg/advance_6.f90,
	gfortran.dg/read_bad_advance.f90, gfortran.dg/func_derived_3.f90,
	gfortran.dg/namelist_40.f90, gfortran.dg/x_slash_2.f,
	gfortran.dg/namelist_14.f90, gfortran.dg/backspace_1.f,
	gfortran.dg/namelist_23.f90, gfortran.dg/pr17285.f90,
	gfortran.dg/read_noadvance.f90, gfortran.dg/namelist_use_only.f90,
	gfortran.dg/namelist_41.f90, gfortran.dg/namelist_15.f90,
	gfortran.dg/backspace_3.f, gfortran.dg/backslash_3.f,
	gfortran.dg/namelist_24.f90, gfortran.dg/pr17286.f90,
	gfortran.dg/endfile.f90, gfortran.dg/open_access_append_1.f90,
	gfortran.dg/fmt_huge.f90, gfortran.dg/namelist_42.f90,
	gfortran.dg/pr18392.f90, gfortran.dg/pr19155.f, gfortran.dg/pr12884.f,
	gfortran.dg/namelist_16.f90, gfortran.dg/backspace_5.f,
	gfortran.dg/open_readonly_1.f90, gfortran.dg/fmt_read.f90,
	gfortran.dg/iostat_1.f90, gfortran.dg/namelist_43.f90,
	gfortran.dg/read_size_noadvance.f90, gfortran.dg/inquire_5.f90,
	gfortran.dg/read_many_1.f, gfortran.dg/namelist_17.f90,
	gfortran.dg/list_read_1.f90, gfortran.dg/backspace_10.f90,
	gfortran.dg/namelist_26.f90, gfortran.dg/unf_read_corrupted_2.f90,
	gfortran.dg/record_marker_1.f90, gfortran.dg/convert_implied_open.f90,
	gfortran.dg/iostat_2.f90, gfortran.dg/write_check3.f90,
	gfortran.dg/namelist_44.f90, gfortran.dg/namelist_use.f90,
	gfortran.dg/rewind_1.f90, gfortran.dg/streamio_11.f90,
	gfortran.dg/namelist_18.f90, gfortran.dg/backspace_9.f,
	gfortran.dg/dos_eol.f, gfortran.dg/read_eof_1.f90,
	gfortran.dg/namelist_27.f90, gfortran.dg/pad_no.f90,
	gfortran.dg/endfile.f, gfortran.dg/namelist_11.f,
	gfortran.dg/namelist_19.f90, gfortran.dg/eor_handling_1.f90,
	gfortran.dg/write_rewind_1.f, gfortran.dg/comma.f,
	gfortran.dg/read_eof_2.f90, gfortran.dg/namelist_28.f90,
	gfortran.dg/record_marker_3.f90, gfortran.dg/complex_read.f90,
	gfortran.dg/namelist_37.f90, gfortran.dg/error_recovery_5.f90,
	gfortran.dg/namelist_char_only.f90, gfortran.dg/pr18122.f90,
	gfortran.dg/list_read_4.f90, gfortran.dg/eor_handling_2.f90,
	gfortran.dg/read_eof_3.f90, gfortran.dg/dollar_edit_descriptor_1.f,
	gfortran.dg/pr19467.f90, gfortran.dg/namelist_38.f90,
	gfortran.dg/inquire_9.f90, gfortran.dg/list_read_5.f90,
	gfortran.dg/noadv_size.f90, gfortran.dg/backslash_1.f90,
	gfortran.dg/eor_handling_3.f90, gfortran.dg/read_eof_4.f90,
	gfortran.dg/runtime_warning_1.f90, gfortran.dg/x_slash_1.f,
	gfortran.dg/namelist_39.f90, gfortran.dg/streamio_3.f90,
	gfortran.dg/read_comma.f, gfortran.dg/pr19657.f,
	gfortran.dg/streamio_15.f90, gfortran.dg/list_read_6.f90,
	gfortran.dg/eor_handling_4.f90, gfortran.dg/backslash_2.f90,
	gfortran.dg/pr19216.f, gfortran.dg/PR19872.f,
	gfortran.dg/backspace_2.f, gfortran.dg/empty_format_1.f90,
	gfortran.dg/streamio_4.f90, gfortran.dg/append_1.f90,
	gfortran.dg/fgetc_1.f90, gfortran.dg/complex_write.f90,
	gfortran.dg/list_read_7.f90, gfortran.dg/eor_handling_5.f90,
	gfortran.dg/fmt_t_1.f90, gfortran.dg/pr17090.f90,
	gfortran.dg/backspace_4.f, gfortran.dg/shape_3.f90,
	gfortran.dg/unf_io_convert_1.f90, gfortran.dg/fgetc_2.f90,
	gfortran.dg/vector_subscript_3.f90, gfortran.dg/list_read_8.f90,
	gfortran.dg/flush_1.f90, gfortran.dg/advance_1.f90,
	gfortran.dg/fmt_t_2.f90, gfortran.dg/backspace_6.f,
	gfortran.dg/slash_1.f90, gfortran.dg/stat_1.f90,
	gfortran.dg/unformatted_recl_1.f90, gfortran.dg/record_marker_2.f,
	gfortran.dg/overwrite_1.f, gfortran.dg/unf_io_convert_2.f90,
	gfortran.dg/fmt_t_3.f90, gfortran.dg/backspace_8.f,
	gfortran.dg/stat_2.f90, gfortran.dg/pr18210.f90,
	gfortran.dg/unformatted_subrecord_1.f90, gfortran.dg/pr20257.f90,
	gfortran.dg/eof_1.f90, gfortran.dg/fmt_t_4.f90,
	gfortran.dg/unf_short_record_1.f90, gfortran.dg/fmt_exhaust.f90,
	gfortran.dg/namelist_20.f90, gfortran.dg/advance_4.f90,
	gfortran.dg/fmt_t_5.f90, gfortran.dg/namelist_12.f,
	gfortran.dg/backspace_7.f90, gfortran.dg/write_rewind_2.f,
	gfortran.dg/ftell_1.f90, gfortran.dg/fseek.f90,
	gfortran.dg/write_back.f: Gate test on effective_target
	fd_truncate.

From-SVN: r132885
2008-03-05 00:59:34 +00:00
Serge Belyshev
4c754988b2 install.texi (Testing): Correct quoting for the RUNTESTFLAGS examples.
* doc/install.texi (Testing): Correct quoting for the RUNTESTFLAGS
	examples.  Truncate option-names then causing overfull hbox.

From-SVN: r132883
2008-03-05 00:25:41 +00:00
GCC Administrator
216053e27b Daily bump.
From-SVN: r132881
2008-03-05 00:17:17 +00:00
John David Anglin
399fe3e123 re PR target/35222 (EH output contains procedure label without P' selector)
PR target/35222
	* configure.ac (CONFIG_SJLJ_EXCEPTIONS): Force SJLJ exceptions
	on hpux10.
	* configure: Rebuilt.

From-SVN: r132876
2008-03-04 23:30:47 +00:00
Rafael Avila de Espindola
e918a58a83 fold-const.c (tree_simple_nonnegative_warnv_p): New.
2008-03-04  Rafael Espindola  <espindola@google.com>

        * fold-const.c (tree_simple_nonnegative_warnv_p): New.
        (tree_unary_nonnegative_warnv_p): New.
        (tree_binary_nonnegative_warnv_p): New.
        (tree_single_nonnegative_warnv_p): New.
        (tree_invalid_nonnegative_warnv_p): New.
        (tree_expr_nonnegative_warnv_p): Redefine in term of the new functions.

From-SVN: r132875
2008-03-04 22:20:34 +00:00
Joseph Myers
2925e1c8ad loop-1.c: Handle i?86-*-mingw* i?86-*-cygwin* as targets declaring functions in assembly.
* gcc.dg/tree-ssa/loop-1.c: Handle i?86-*-mingw* i?86-*-cygwin* as
	targets declaring functions in assembly.

From-SVN: r132873
2008-03-04 22:08:08 +00:00