Commit Graph

102788 Commits

Author SHA1 Message Date
François Dumont d78301422a libstdc++.exp ([check_v3_target_debug_mode]): Fix so that it really detects when debug mode is activated.
2010-09-03  François Dumont <francois.cppdevs@free.fr>

        * testsuite/lib/libstdc++.exp ([check_v3_target_debug_mode]): Fix so
        that it really detects when debug mode is activated.
        * testsuite/util/debug/construct_neg.h, insert_neg.h, assign_neg.h:
        Remove, content moved...
        * testsuite/util/debug/checks.h: ... here. Modify checks to take the
	type of the container to test rather than an intermediate container
        type traits helper.
	* testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Update to
	use dg-require-debug-mode when necessary and use new check functions.
	* testsuite/23_containers/unordered_map/debug/construct1_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_map/debug/construct2_neg.cc:
	Likewise.
	* testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/unordered_map/debug/construct3_neg.cc:
	Likewise.
	* testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/unordered_map/debug/construct4_neg.cc:
	Likewise.
	* testsuite/23_containers/unordered_map/debug/insert4_neg.cc: Likewise.
	* testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise.
	* testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise.
	* testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise.
	* testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise.
	* testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/multimap/debug/construct4_neg.cc: Likewise.
	* testsuite/23_containers/multimap/debug/insert4_neg.cc: Likewise.
	* testsuite/23_containers/set/debug/insert1_neg.cc: Likewise.
	* testsuite/23_containers/set/debug/construct1_neg.cc: Likewise.
	* testsuite/23_containers/set/debug/construct2_neg.cc: Likewise.
	* testsuite/23_containers/set/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/set/debug/construct3_neg.cc: Likewise.
	* testsuite/23_containers/set/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/set/debug/construct4_neg.cc: Likewise.
	* testsuite/23_containers/set/debug/insert4_neg.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multimap/debug/construct4_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multimap/debug/insert4_neg.cc:
	Likewise.
	* testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/construct4_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/assign4_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/insert4_neg.cc: Likewise.
	* testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise.
	* testsuite/23_containers/unordered_set/debug/construct1_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_set/debug/construct2_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/unordered_set/debug/construct3_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/unordered_set/debug/construct4_neg.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/debug/insert4_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/construct4_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/assign4_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/insert4_neg.cc: Likewise.
	* testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise.
	* testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise.
	* testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise.
	* testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise.
	* testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/multiset/debug/construct4_neg.cc: Likewise.
	* testsuite/23_containers/multiset/debug/insert4_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/assign1_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/construct1_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/construct2_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/assign2_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/construct3_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/assign3_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/construct4_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/assign4_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/insert1_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/insert4_neg.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multiset/debug/construct4_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multiset/debug/insert4_neg.cc: 
	Likewise.
	* testsuite/23_containers/map/debug/insert1_neg.cc: Likewise.
	* testsuite/23_containers/map/debug/construct1_neg.cc: Likewise.
	* testsuite/23_containers/map/debug/construct2_neg.cc: Likewise.
	* testsuite/23_containers/map/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/map/debug/construct3_neg.cc: Likewise.
	* testsuite/23_containers/map/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/map/debug/construct4_neg.cc: Likewise.
	* testsuite/23_containers/map/debug/insert4_neg.cc: Likewise.

	* testsuite/23_containers/unordered_map/debug/cont_traits.h: Remove.
	* testsuite/23_containers/unordered_map/debug/debug_cont_traits.h:
	Likewise.
	* testsuite/23_containers/multimap/debug/cont_traits.h: Likewise.
	* testsuite/23_containers/multimap/debug/debug_cont_traits.h: Likewise.
	* testsuite/23_containers/set/debug/cont_traits.h: Likewise.
	* testsuite/23_containers/set/debug/debug_cont_traits.h: Likewise.
	* testsuite/23_containers/unordered_multimap/debug/cont_traits.h:
	Likewise.
	* testsuite/23_containers/unordered_multimap/debug/
	debug_cont_traits.h: Likewise.
	* testsuite/23_containers/vector/debug/cont_traits.h: Likewise.
	* testsuite/23_containers/vector/debug/debug_cont_traits.h: Likewise.
	* testsuite/23_containers/unordered_set/debug/cont_traits.h: Likewise.
	* testsuite/23_containers/unordered_set/debug/debug_cont_traits.h:
	Likewise.
	* testsuite/23_containers/deque/debug/cont_traits.h: Likewise.
	* testsuite/23_containers/deque/debug/debug_cont_traits.h: Likewise.
	* testsuite/23_containers/multiset/debug/cont_traits.h: Likewise.
	* testsuite/23_containers/multiset/debug/debug_cont_traits.h: Likewise.
	* testsuite/23_containers/list/debug/cont_traits.h: Likewise.
	* testsuite/23_containers/list/debug/debug_cont_traits.h: Likewise.
	* testsuite/23_containers/unordered_multiset/debug/cont_traits.h: 
	Likewise.
	* testsuite/23_containers/unordered_multiset/debug/
	debug_cont_traits.h: Likewise.
	* testsuite/23_containers/map/debug/cont_traits.h: Likewise.
	* testsuite/23_containers/map/debug/debug_cont_traits.h: Likewise.

	* testsuite/21_strings/basic_string/element_access/char: Tidy.
	* testsuite/21_strings/basic_string/element_access/wchar_t: Likewise.

From-SVN: r163837
2010-09-03 18:10:46 +00:00
Thomas Koenig 124a8ce610 re PR fortran/45159 (Unnecessary temporaries)
2010-09-03  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/45159
	* dependency.c (gfc_deb_compare_expr):  Compare equal for equal
	arglists for pure user functions, or for those intrinsic
	functions which are also pure.
	* intrinsics.c (add_conv):  Mark conversion functions as pure.
	(add_char_conversions):  Likewise.

2010-09-03  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/45159
	* gfortran.dg/dependency_34.f90:  New test.

From-SVN: r163834
2010-09-03 16:16:34 +00:00
Joern Rennecke de3f621b74 re PR testsuite/42843 (--enable-build-with-cxx plugin tests fail)
PR testsuite/42843
	* Makefile.in (PLUGINCC): Define in terms of @CC@ / @CXX@
	(PLUGINCFLAGS): Define in terms of @CFLAGS@ / @CXXFLAGS@

From-SVN: r163833
2010-09-03 16:02:37 +00:00
Steve Ellcey 89039a6b5e pr44806.c: Add -std=c99 to access uint32_t.
2010-09-03  Steve Ellcey  <sje@cup.hp.com>

	* gcc.dg/torture/pr44806.c: Add -std=c99 to access uint32_t.

From-SVN: r163832
2010-09-03 16:02:19 +00:00
Marcin Baczyński 4d8ff563af dwarf2out.c (file scope): Remove #if0'd code.
2010-09-03  Marcin Baczynski  <marbacz@gmail.com>

	* dwarf2out.c (file scope): Remove #if0'd code.
	(gen_subprogram_die): Same.

From-SVN: r163831
2010-09-03 11:58:51 -04:00
Rainer Orth 601d5a25b2 abi-avx.exp: Link with gcc.target/i386/clearcap.map if supported.
* gcc.target/x86_64/abi/avx/abi-avx.exp: Link with
	gcc.target/i386/clearcap.map if supported.

From-SVN: r163827
2010-09-03 14:57:57 +00:00
Jakub Jelinek 87df9ea5a0 re PR middle-end/45484 (Invalid memory access in gcc.c-torture/execute/builtins/sprintf-chk.c)
PR middle-end/45484
	* dwarf2out.c (flush_queued_reg_saves): Rename to...
	(dwarf2out_flush_queued_reg_saves): ... this.  No longer static.
	(dwarf2out_frame_debug_expr, dwarf2out_frame_debug): Adjust callers.
	* dwarf2out.h (dwarf2out_flush_queued_reg_saves): New prototype.
	* config/i386/i386.c (output_set_got): Call it.

From-SVN: r163823
2010-09-03 16:46:39 +02:00
Michael Matz 15a54c10cb re PR middle-end/45415 (ICE in partition_view_bitmap, at tree-ssa-live.c:334)
PR middle-end/45415
	* tree-sra.c (sra_modify_assign): If we modify the statement,
	say so.

	* tree-ssa.c (verify_ssa): Check number of operands and links
	per statement to agree.

testsuite/
	PR middle-end/45415
	* gcc.dg/pr45415.c: New test.

From-SVN: r163822
2010-09-03 14:42:46 +00:00
H.J. Lu ed6e090eb2 Add gcc.dg/pr45506.c.
2010-09-03  H.J. Lu  <hongjiu.lu@intel.com>

	PR tree-optimization/45506
	* gcc.dg/pr45506.c: New.

From-SVN: r163821
2010-09-03 07:40:36 -07:00
Uros Bizjak 4159fb8dd2 t-sol2 (__copysigntf3, __fabstf3): Disable for 64bit targets.
* config/i386/t-sol2 (__copysigntf3, __fabstf3): Disable for
	64bit targets.
	(__fixtfti, __fixunstfti, __floattitf, __floatuntitf): Enable only
	for 64bit targets.

From-SVN: r163820
2010-09-03 16:33:48 +02:00
Uros Bizjak 0df8fcc8d1 re PR target/45476 (libgcc should contain TCmode functions)
libgcc/ChangeLog:

	PR target/45476
	* Makefile.in (sifuncs, difuncs, tifuncs): Filter out
	LIB2FUNCS_EXCLUDE functions.

gcc/ChangeLog:

	PR target/45476
	* config/i386/t-darwin (LIB2FUNCS_EXCLUDE): New.
	* config/i386/darwin.h (LIBGCC2_HAS_TF_MODE,
	LIBGCC2_TF_CEXT, TF_SIZE): New defines.

gcc/testsuite/ChangeLog:

	PR target/45476
	* gcc.target/i386/float128-1.c: Enable for all x86 targets.
	* gcc.target/i386/float128-2.c: Ditto.

From-SVN: r163819
2010-09-03 16:23:05 +02:00
Richard Guenther ac364a48db lto-streamer-out.c (output_function): Output function start and end loci.
2010-09-03  Richard Guenther  <rguenther@suse.de>

	* lto-streamer-out.c (output_function): Output function
	start and end loci.
	* lto-streamer-in.c (input_function): Input function start
	and end loci.

From-SVN: r163818
2010-09-03 14:08:14 +00:00
Joseph Myers ffb7f675d8 re PR ada/45499 (Ada bootstrap broken)
PR ada/45499
	* gcc-interface/misc.c (gnat_init_options): Allow options with
	empty canonical form.  Generate a single save_argv element from -I
	options.

From-SVN: r163817
2010-09-03 14:17:46 +01:00
Andreas Krebbel f4dae9fcc0 configure: Regenerate.
gcc/

2010-09-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	    * configure: Regenerate.
	    * aclocal.m4: Regenerate.

libdecnumber/

2010-09-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	    * configure: Regenerate.
	    * aclocal.m4: Regenerate.

libgcc/

2010-09-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	    * configure: Regenerate.

From-SVN: r163816
2010-09-03 13:16:24 +00:00
Andreas Krebbel 3c39bca6bb configure.ac: Use the GCC_AC_ENABLE_DECIMAL_FLOAT macro.
gcc/

2010-09-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	    * configure.ac: Use the GCC_AC_ENABLE_DECIMAL_FLOAT macro.
	    * Makefile.in: Add aclocal.m4 dependency to dfp.m4.
	    * configure: Regenerate.
	    * aclocal.m4: Regenerate.

config/

2010-09-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	    * dfp.m4: New file.

libdecnumber/

2010-09-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	    * configure.ac: Use the GCC_AC_ENABLE_DECIMAL_FLOAT macro.
	    * Makefile.in: Add aclocal.m4 dependency to dfp.m4.
	    * configure: Regenerate.
	    * aclocal.m4: Regenerate.

libgcc/

2010-09-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	    * configure.ac: Use the GCC_AC_ENABLE_DECIMAL_FLOAT macro.
	    Include dfp.m4.
	    * configure: Regenerate.

From-SVN: r163815
2010-09-03 13:14:14 +00:00
H.J. Lu efe13e0f32 Check "-D XXX=YYY".
2010-09-03  H.J. Lu  <hongjiu.lu@intel.com>

	PR java/45504
	* jvgenmain.c (main): Check "-D XXX=YYY".

From-SVN: r163814
2010-09-03 06:13:10 -07:00
Daniel Kraft 5792039f79 re PR fortran/34162 (F2008: Allow internal procedures as actual argument)
2010-09-03  Daniel Kraft  <d@domob.eu>

	PR fortran/34162
	* resolve.c (resolve_actual_arglist): Allow internal procedure
	as actual argument with Fortran 2008.

2010-09-03  Daniel Kraft  <d@domob.eu>

	PR fortran/34162
	* gfortran.dg/internal_dummy_1.f90: Add -std=f2003.
	* gfortran.dg/internal_dummy_2.f08: New test.
	* gfortran.dg/internal_dummy_3.f08: New test.
	* gfortran.dg/internal_dummy_4.f08: New test.

From-SVN: r163813
2010-09-03 15:10:40 +02:00
Jan Hubicka 1c7b11d2a3 re PR lto/44812 (m32 lto produces non-relocatable subtraction expression errors)
PR lto/44812
	* lto-cgraph.c (intput_node, input_varpool_node): Set DECL_EXTERNAL
	on functions/variables in other partition.

From-SVN: r163811
2010-09-03 12:26:24 +00:00
Mark Wielaard 2cd8686617 closures.c (open_temp_exec_file_mnt): Check if getmntent_r returns NULL.
* src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
	returns NULL.

From-SVN: r163809
2010-09-03 10:35:35 +00:00
Jan Hubicka 155c92a7a0 cgraph.h (struct varpool_node): Add const_value_known.
* cgraph.h (struct varpool_node): Add const_value_known.
	(varpool_decide_const_value_known): Declare.
	* tree-ssa-ccp.c (fold_const_aggregate_ref): Update initializer folding.
	* lto-cgraph.c (lto_output_varpool_node): Store const_value_known.
	(input_varpool_node): Restore const_value_known.
	* tree-ssa-loop-ivcanon (constant_after_peeling): Check varpool for
	initializer folding.
	* ipa.c (ipa_discover_readonly_nonaddressable_var,
	function_and_variable_visibility): Compute const_value_known.
	* gimple-fold.c (get_symbol_constant_value): Use varpool for initializer
	folding.
	* varpool.c (varpool_decide_const_value_known): New function.

From-SVN: r163808
2010-09-03 10:15:54 +00:00
Uros Bizjak cb1b497ec1 i386.md: Remove empty prepartion statements from splitters.
* config/i386/i386.md: Remove empty prepartion statements
	from splitters.

From-SVN: r163806
2010-09-03 12:05:38 +02:00
Marcus Shawcroft f74bd71564 linux-atomic.c (__sync_val_compare_and_swap_4): Insert __builtin_expect().
2010-09-03  Marcus Shawcroft  <marcus.shawcroft@arm.com>

	* config/arm/linux-atomic.c (__sync_val_compare_and_swap_4): Insert __builtin_expect().
	(SUBWORD_VAL_CAS): Likewise.

From-SVN: r163805
2010-09-03 10:01:44 +00:00
Jan Hubicka a482b1f5f4 passes.c (rest_of_decl_compilation): Do not add local vars into varpol.
* passes.c (rest_of_decl_compilation): Do not add local vars into varpol.
	* varpool.c (varpool_get_node, varpool_node): Sanity check that only
	static or extern vars are in varpool.
	(varpool_finalize_decl): Sanity check that only static vars are finalized.

From-SVN: r163804
2010-09-03 09:58:21 +00:00
Jakub Jelinek 2f757e4a8b re PR debug/45500 (ICE: in rtl_for_decl_init, at dwarf2out.c:16307 with -g -msse and using v16qi)
PR debug/45500
	* dwarf2out.c (rtl_for_decl_init): Give up for all generic vectors,
	not just generic vectors with BLKmode.

	* gcc.target/i386/pr45500.c: New test.

From-SVN: r163803
2010-09-03 11:53:44 +02:00
Richard Guenther 4d948885d0 tree.def (TARGET_MEM_REF): Merge TMR_SYMBOL and TMR_BASE.
2010-09-03  Richard Guenther  <rguenther@suse.de>

	* tree.def (TARGET_MEM_REF): Merge TMR_SYMBOL and TMR_BASE.
	Move TMR_OFFSET to second operand.  Add TMR_INDEX2.
	* tree.h (TMR_SYMBOL): Remove.
	(TMR_BASE, TMR_OFFSET): Adjust.
	(TMR_INDEX2): New.
	* alias.c (ao_ref_from_mem): Use TMR_BASE.
	* builtins.c (get_object_alignment): Merge TMR_BASE and
	TMR_SYMBOL handling.
	* cfgexpand.c (expand_debug_expr): Use TMR_BASE.
	* gimple.c (get_base_address): Merge MEM_REF and TARGET_MEM_REF
	handling.  Also allow TARGET_MEM_REF as base address.
	(walk_stmt_load_store_addr_ops): TMR_BASE is always non-NULL.
	* gimplify.c (gimplify_expr): Gimplify TMR_BASE like MEM_REF
	base.  Gimplify TMR_INDEX2.
	* tree-cfg.c (verify_types_in_gimple_reference): Adjust.
	* tree-dfa.c (get_ref_base_and_extent): Likewise.
	(get_addr_base_and_unit_offset): Likewise.
	* tree-eh.c (tree_could_trap_p): Likewise.
	* tree-pretty-print.c (dump_generic_node): Likewise.
	* tree-ssa-address.c (tree_mem_ref_addr): Simplify.  Handle
	TMR_INDEX2.
	(create_mem_ref_raw): Merge symbol and base.  Move 2ndary
	base to index2.
	(get_address_description): Reconstruct addres description
	from merged TMR_BASE and TMR_INDEX2.
	(maybe_fold_tmr): Fold propagated addresses.
	* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Merge
	MEM_REF and TARGET_MEM_REF paths.
	(indirect_refs_may_alias_p): Likewise.
	* tree-ssa-live.c (mark_all_vars_used_1): Handle TMR_INDEX2
	instead of TMR_SYMBOL.
	* tree-ssa-operands.c (get_tmr_operands): Simplify.
	* tree-ssa-pre.c (create_component_ref_by_pieces_1): Adjust
	according to changes ...
	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): ... here.
	Split TARGET_MEM_REF into two fields plus the base.
	* tree.c (mem_ref_offset): Simplify.
	* tree-ssa-loop-im.c (for_each_index): Handle TMR_INDEX2.
	* tree-ssa-loop-ivopts.c (find_interesting_uses_address): Likewise.
	Strip NOPs when folding MEM_REF addresses.
	* tree-ssa-sink.c (is_hidden_global_store): Handle TARGET_MEM_REF.
	* gimple-fold.c (maybe_fold_reference): Fold TARGET_MEM_REF here ...
	(fold_gimple_assign): ... not here.

From-SVN: r163802
2010-09-03 09:50:17 +00:00
Richard Guenther b3ec52d088 lto-elf.c (validate_file): Always error if validation fails.
2010-09-03  Richard Guenther  <rguenther@suse.de>

	* lto-elf.c (validate_file): Always error if validation fails.

From-SVN: r163800
2010-09-03 09:42:37 +00:00
Mingjie Xing 4904231323 Fix shift count truncate problem for loongson.
From-SVN: r163799
2010-09-03 09:29:19 +00:00
Daniel Kraft e5ca969363 re PR fortran/44602 ([F2008] EXIT: Jump to end of construct)
2010-09-03  Daniel Kraft  <d@domob.eu>

	PR fortran/44602
	* gfortran.h (struct gfc_code): Renamed `whichloop' to
	`which_construct' as this is no longer restricted to loops.
	* parse.h (struct gfc_state_data): New field `construct'.
	* match.c (match_exit_cycle): Handle EXIT from non-loops.
	* parse.c (push_state): Set `construct' field.
	* resolve.c (resolve_select_type): Extend comment.
	* trans-stmt.c (gfc_trans_if): Add exit label.
	(gfc_trans_block_construct), (gfc_trans_select): Ditto.
	(gfc_trans_simple_do): Store exit/cycle labels on the gfc_code itself.
	(gfc_trans_do), (gfc_trans_do_while): Ditto.
	(gfc_trans_exit): Use new name `which_construct' instead of `whichloop'.
	(gfc_trans_cycle): Ditto.
	(gfc_trans_if_1): Use fold_build3_loc instead of fold_build3.

2010-09-03  Daniel Kraft  <d@domob.eu>

	PR fortran/44602
	* gfortran.dg/exit_2.f08; Adapt error messages.
	* gfortran.dg/exit_3.f08: New test.
	* gfortran.dg/exit_4.f08: New test.
	* gfortran.dg/exit_5.f03: New test.

From-SVN: r163798
2010-09-03 10:01:51 +02:00
GCC Administrator e97e08bc2e Daily bump.
From-SVN: r163797
2010-09-03 00:18:07 +00:00
Richard Henderson 92053f386a configure.ac (gcc_cv_as_cfi_advance_working): Use objdump instead of readelf in the test.
* configure.ac (gcc_cv_as_cfi_advance_working): Use objdump
	instead of readelf in the test.
	(gcc_cv_as_cfi_sections_directive): Check for correct relocation
	in the .debug_frame section for coff targets.
	* configure: Rebuild.

From-SVN: r163793
2010-09-02 17:02:53 -07:00
Francois-Xavier Coudert 36d9e52fff trans-intrinsic.c (gfc_conv_intrinsic_aint): Fix whitespace.
* trans-intrinsic.c (gfc_conv_intrinsic_aint): Fix whitespace.
	(gfc_conv_intrinsic_ishft): Only evaluate arguments once.
	(gfc_conv_intrinsic_ishftc): Only evaluate arguments once.
	* intrinsic.texi (RSHIFT): Fix documentation.

	* gfortran.dg/ishft_4.f90: New test.

From-SVN: r163792
2010-09-02 22:29:53 +00:00
Anatoly Sokolov 184866c501 m32c.h (CLASS_LIKELY_SPILLED_P): Remove.
* config/m32c/m32c.h (CLASS_LIKELY_SPILLED_P): Remove.
	* config/m32c/m32c-protos.h (m32c_class_likely_spilled_p): Remove.
	* config/m32c/m32c.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
	(m32c_class_likely_spilled_p): Make static. Change argument type to
	reg_class_t. Change result type to bool.

From-SVN: r163788
2010-09-02 22:17:12 +04:00
Michael Meissner 688e49197d Optimize (double)(long) to generate FRIZ if -ffast-math
From-SVN: r163786
2010-09-02 17:10:15 +00:00
Joseph Myers 398da2ac31 * opth-gen.awk (quote, comma): Remove unused variables.
From-SVN: r163785
2010-09-02 17:39:29 +01:00
Joseph Myers d1779886d5 c.opt (falt-external-templates, [...]): Mark no longer supported in help text.
* c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
	fvtable-thunks, fxref): Mark no longer supported in help text.

From-SVN: r163784
2010-09-02 17:35:14 +01:00
Joseph Myers e196cc8dd9 * jvspec.c (jvgenmain_spec): Don't handle -fnew-verifier.
From-SVN: r163783
2010-09-02 17:27:57 +01:00
Ryan Mansfield fe7645b900 arm.c (arm_override_options): Correct fall-back code to use SUBTARGET_CPU_DEFAULT.
2010-09-02  Ryan Mansfield  <rmansfield@qnx.com>

	* arm.c (arm_override_options): Correct fall-back code to use
	SUBTARGET_CPU_DEFAULT.

From-SVN: r163782
2010-09-02 15:35:04 +00:00
Julian Brown 5bfc5baa90 neon.md (UNSPEC_VCLE, [...]): New constants for unspecs.
gcc/
	* config/arm/neon.md (UNSPEC_VCLE, UNSPEC_VCLT): New constants for
	unspecs.
	(vcond<mode>, vcondu<mode>): New expanders.
	(neon_vceq<mode>, neon_vcge<mode>, neon_vcgt<mode>): Support
	comparisons with zero.
	(neon_vcle<mode>, neon_vclt<mode>): New patterns.
	* config/arm/constraints.md (Dz): New constraint.

From-SVN: r163780
2010-09-02 14:46:35 +00:00
Anatoly Sokolov 07b8f0a812 target.def (class_likely_spilled_p): New hook.
* target.def (class_likely_spilled_p): New hook.
	* doc/tm.texi.in (TARGET_CLASS_LIKELY_SPILLED_P): Document.
	* doc/tm.texi: Regenerate.
	* targhooks.c (default_class_likely_spilled_p): New function.
	* targhooks.h (default_class_likely_spilled_p): Declare.
	* regs.h (CLASS_LIKELY_SPILLED_P): Remove.
	* combine.c: (cant_combine_insn_p, likely_spilled_retval_p): Use
	TARGET_CLASS_LIKELY_SPILLED_P target hook. Use HARD_REGISTER_P macro.
	Use fixed_reg_set instead of fixed_regs.
	* cse.c (hash_rtx_cb): Use TARGET_CLASS_LIKELY_SPILLED_P target hook.
	* calls.c (avoid_likely_spilled_reg): Ditto.
	* ira-conflicts.c: (ira_build_conflicts): Ditto.
	* ira.c (update_equiv_regs): Ditto.
	* mode-switching.c (create_pre_exit): Ditto.
	* regmove.c (find_matches): Ditto.
	(regclass_compatible_p): Use TARGET_CLASS_LIKELY_SPILLED_P target
	hook.
	* reload.c (SMALL_REGISTER_CLASS_P): Remove macro.
	(small_register_class_p): New inline function.
	(push_secondary_reload, find_reusable_reload, find_reloads): Use
	small_register_class_p instead of SMALL_REGISTER_CLASS_P.

	* config/i386/i386.h (CLASS_LIKELY_SPILLED_P): Remove.
	* config/i386/i386.c (ix86_class_likely_spilled_p): New.
	(TARGET_CLASS_LIKELY_SPILLED_P): Define.

From-SVN: r163779
2010-09-02 18:29:37 +04:00
Eric Botcazou 844022b747 * g++.dg/debug/dwarf2/nested-2.C: Allow for ! as comment delimiter.
From-SVN: r163778
2010-09-02 14:22:21 +00:00
Paolo Carlini 6f0546801a re PR libstdc++/40974 (cannot build gcc-4.4.1: fenv_t has not been declared)
2010-09-02  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/40974
	* include/Makefile.am: Add -nostdinc++ to PCHFLAGS.
	* include/Makefile.in: Regenerate.

From-SVN: r163777
2010-09-02 14:13:00 +00:00
Tobias Burnus bc98ed6016 re PR fortran/45186 (Gfortran 4.5.0 emits wrong linenumbers)
2010-09-02  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45186
        * trans-common.c (create_common): Change build[0-9] to
        build[0-9]_loc.
        * trans-const.c (gfc_conv_constant_to_tree,
        gfc_conv_constant_to_tree): Ditto.
        * trans-decl.c (gfc_build_qualified_array, build_entry_thunks,
        gfc_get_fake_result_decl, gfc_trans_auto_character_variable,
        add_argument_checking, create_main_function,
        gfc_generate_return): Ditto.
        * trans-types.c (gfc_get_dtype, gfc_get_array_type_bounds):
        * Ditto.
        * trans-stmt.c (allocate_temp_for_forall_nest_1,
        compute_inner_temp_size, compute_overall_iter_number,
        generate_loop_for_rhs_to_temp, generate_loop_for_temp_to_lhs,
        gfc_conv_elemental_dependencies, gfc_do_allocate,
        gfc_evaluate_where_mask, gfc_trans_allocate,
        gfc_trans_arithmetic_if, gfc_trans_call,
        gfc_trans_character_select, gfc_trans_deallocate,
        gfc_trans_do, gfc_trans_do_while, gfc_trans_forall_1,
        gfc_trans_forall_loop, gfc_trans_goto, gfc_trans_if_1,
        gfc_trans_integer_select, gfc_trans_logical_select,
        gfc_trans_pointer_assign_need_temp, gfc_trans_return,
        gfc_trans_simple_do, gfc_trans_sync, gfc_trans_where_2,
        gfc_trans_where_assign) Ditto.

From-SVN: r163776
2010-09-02 16:04:06 +02:00
Richard Guenther 6b8c9df822 re PR tree-optimization/44937 (IPA-split causes crash due to null pointer deref)
2010-09-02  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/44937
	PR tree-optimization/45412
	* ipa-split.c (split_function): Properly remove PHI nodes.

	* g++.dg/opt/pr45412.C: New testcase.
	* gcc.c-torture/compile/pr45412.c: Likewise.
	* gcc.c-torture/compile/pr44937.c: Likewise.

From-SVN: r163775
2010-09-02 13:42:25 +00:00
Janus Weil c330d181bc re PR fortran/44541 ([OOP] wrong code for polymorphic variable with INTENT(OUT)/Alloc w/ MOLD)
2010-09-02  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44541
	* resolve.c (resolve_symbol): Correct check for attributes of CLASS
	variable.

From-SVN: r163773
2010-09-02 14:34:26 +02:00
Joseph Myers 2d2bd949ea opts.h (struct cl_option): Add warn_message field.
* opts.h (struct cl_option): Add warn_message field.
	(struct cl_decoded_option): Add warn_message field.
	* doc/options.texi (Ignore, Warn): Document.
	* opt-functions.awk (needs_state_p): Don't consider aliases or
	ignored options to need state saved.
	* optc-gen.awk: Handle Warn and Ignore.
	* opth-gen.awk: Output OPT_SPECIAL_ignore.
	* opts-common.c (decode_cmdline_option): Set warn_message field.
	Handle ignored options.
	(decode_cmdline_options_to_array, generate_option,
	generate_option_input_file): Set warn_message field.
	(read_cmdline_option): Generate warnings from warn_message field.
	Handle ignored options.
	* common.opt (Wunreachable-code, fargument-alias,
	fargument-noalias, fargument-noalias-global,
	fargument-noalias-anything, fcse-skip-blocks, fforce-addr,
	floop-optimize, frerun-loop-opt, fsched2-use-traces, fsee,
	fstrength-reduce, ftree-store-ccp, ftree-store-copy-prop,
	ftree-salias): Mark Ignore.
	* config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -mcpu,
	-mintel-syntax and -mno-intel-syntax here.
	* config/i386/i386.opt (mcpu=, mintel-syntax): Define as aliases
	using Warn.
	* opts.c (common_handle_option): Don't handle options marked as
	ignored.
	(enable_warning_as_error): Handle ignored options.

c-family:
	* c.opt (Wimport, fall-virtual, falt-external-templates,
	fdefault-inline, fenum-int-equiv, fexternal-templates,
	fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
	fname-mangling-version-, fnew-abi, fnonnull-objects,
	foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
	fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
	applicable.
	(fhandle-exceptions): Mark with Alias and Warn.
	* c-opts.c (c_common_handle_option): Don't handle options marked
	as ignored.

po:
	* exgettext: Handle {} in operand of MissingArgError.  Handle
	Warn.

From-SVN: r163771
2010-09-02 12:43:19 +01:00
Joseph Myers 5de8299cec re PR driver/44076 (-MT <target> behaves different as -MT<target> (w/o space))
PR driver/44076
	* opts.h (struct cl_option): Add alias_arg, neg_alias_arg and
	alias_target fields.
	* opt-functions.awk (opt_sanitized_name): Don't handle
	finline-limit=, Wlarger-than= and ftemplate-depth= specially.
	* optc-gen.awk: Generate alias fields.
	* opth-gen.awk: Explicitly give values for OPT_* enum constants.
	Don't generate such constants for aliases.
	* opts-common.c (generate_canonical_option): New.
	(decode_cmdline_option): Handle aliases.  Use
	generate_canonical_option for known options instead of copying the
	input option text.
	* doc/options.texi (Alias): Document.
	* common.opt (W, Wlarger-than-, aux-info=, finline-limit-,
	fstack-check, specs): Mark as aliases.
	* gcc.c (driver_handle_option): Canonicalize -L options to joined
	arguments.
	(driver_handle_option): Don't handle OPT_specs.
	* opts.c (common_handle_option): Don't handle options marked as
	aliases.
	(enable_warning_as_error): Handle aliases.
	* stor-layout.c (layout_decl): Use OPT_Wlarger_than_ instead of
	OPT_Wlarger_than_eq.
	* tree-optimize.c (tree_rest_of_compilation): Use
	OPT_Wlarger_than_ instead of OPT_Wlarger_than_eq.

c-family:
	* c.opt (Wcomments, Werror-implicit-function-declaration,
	ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
	std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
	aliases.
	* c-common.c (option_codes): Use OPT_Wcomment instead of
	OPT_Wcomments.
	* c-opts.c (warning_as_error_callback, c_common_handle_option):
	Don't handle options marked as aliases.

java:
	* lang.opt (CLASSPATH, bootclasspath, classpath, encoding,
	fCLASSPATH=): Mark as Java options and as aliases.
	* jvspec.c (jvgenmain_spec): Don't handle -fCLASSPATH*.
	(lang_specific_driver): Don't handle options marked as aliases.
	* lang.c (java_handle_option): Don't handle OPT_fCLASSPATH_.

testsuite:
	* gcc.dg/cpp/warn-comments-3.c: New.  Based on warn-comments-2.c
	but using -Werror=comment.
	* gcc.dg/cpp/warn-comments.c, gcc.dg/cpp/warn-comments-2.c: Adjust
	expected error messages.

From-SVN: r163770
2010-09-02 12:41:22 +01:00
Eric Botcazou f7e4c09b54 stack-usage-1.c: Adjust on i386/Darwin.
* gcc.dg/stack-usage-1.c: Adjust on i386/Darwin.
	* gcc.target/i386/stack-usage-realign.c: Skip on i386/Darwin.

From-SVN: r163768
2010-09-02 11:00:51 +00:00
Tobias Burnus 86e6a239c4 re PR fortran/45489 (Default initialization of derived-type function result missing)
2010-09-02  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45489
        * resolve.c (apply_default_init): Mark symbol as referenced,
        if it is initialized.
        (resolve_symbol): Change intialized check for BT_DERIVED such
        that also function results get initialized; remove now obsolete
        gfc_set_sym_referenced for BT_CLASS.

2010-09-02  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45489
        * gfortran.dg/initialization_27.f90: New.

From-SVN: r163767
2010-09-02 12:11:39 +02:00
Uros Bizjak cfc20f00b6 i386.md (nonmemory_operand): New mode attribute.
* config/i386/i386.md (nonmemory_operand): New mode attribute.
	(push memory peephole2): Macroize peepholes using SWI mode iterator.
	(move immediate to memory peephole2): Macroize peepholes using
	SWI124 mode iterator.
	(non-pairable NOT peephole2): Macroize peepholes using SWI124
	mode iterator.
	(simple lea add peephole2): Macroize peepholes using SWI48
	mode iterator.
	(simple lea mult peephole2): Ditto.
	(imul by 3,5,9 to lea peephole2): Ditto.
	(mov $-1, reg peephole2): Macroize peepholes using SWI248
	mode iterator.
	(imul $32bit_imm,mem,reg peephole2): Ditto.
	(imul $8/16bit_imm,regmem,reg peephole2): Ditto.

From-SVN: r163766
2010-09-02 11:11:15 +02:00
Marcus Shawcroft 999a9cc54f predicates.md (arm_sync_memory_operand): New.
2010-09-02  Marcus Shawcroft  <marcus.shawcroft@arm.com>

	* config/arm/predicates.md (arm_sync_memory_operand): New.
	* config/arm/sync.md (arm_sync_compare_and_swapsi): Change predicate
        to arm_sync_memory_operand and constraint to Q.
	(arm_sync_compare_and_swap<mode>): Likewise.
	(arm_sync_compare_and_swap<mode>): Likewise.
	(arm_sync_lock_test_and_setsi): Likewise.
	(arm_sync_lock_test_and_set<mode>): Likewise.
        (arm_sync_new_<sync_optab>si): Likewise.
        (arm_sync_new_nandsi): Likewise.
        (arm_sync_new_<sync_optab><mode>): Likewise.
        (arm_sync_new_nand<mode>): Likewise.
        (arm_sync_old_<sync_optab>si): Likewise.
        (arm_sync_old_nandsi): Likewise.
        (arm_sync_old_<sync_optab><mode>): Likewise.
        (arm_sync_old_nand<mode>): Likewise.

From-SVN: r163765
2010-09-02 09:01:56 +00:00