87830 Commits

Author SHA1 Message Date
Andy Hutchinson
28734c3906 re PR target/27386 (AVR: wrong code generated when passing three uint64_t arguments to function)
PR target/27386
* config/avr/avr.h: (PUSH_ROUNDING): Remove.

From-SVN: r136377
2008-06-04 22:02:57 +00:00
Andy Hutchinson
515e442a91 re PR target/30243 ([avr] signbit() causes an internal compiler error)
PR target/30243
* builtins.c (expand_builtin_signbit): Don't take lowpart when register is already smaller or equal to required mode.

From-SVN: r136376
2008-06-04 21:59:54 +00:00
Xinliang David Li
c269919028 tree-call-cdce.c: New file.
2008-06-04  Xinliang David Li  <davidxl@google.com>

	* tree-call-cdce.c: New file. 
	(cond_dead_built_in_calls): New static variable.
	(input_domain): New struct.
	(check_pow): New function.
	(check_builtin_call): Ditto.
	(check_target_format): Ditto.
	(is_call_dce_candidate): Ditto.
	(gen_one_condition): Ditto.
	(gen_conditions_for_domain): Ditto.
	(get_domain): Ditto.
	(gen_conditions_for_pow_cst_base): Ditto.
	(gen_conditions_for_pow_int_base): Ditto.
	(gen_conditions_for_pow): Ditto.
	(get_no_error_domain): Ditto.
	(gen_shrink_wrap_conditions): Ditto.
	(shrink_wrap_one_built_in_call): Ditto.
	(shink_wrap_conditional_dead_built_in_calls): Ditto.
	(tree_call_cdce): Ditto.
	(gate_call_cdce): Ditto.
	(pass_call_cdce): New gimple pass.
	* passes.c: (init_optimization_passes): New pass.
	* tree-pass.h: New pass declaration.
	* opts.c (decode_options): New flag setting.
	* common.opt: Add -ftree-builtin-call-dce flag.
	* Makefile.in: Add new source file.
	* tempvar.def: New tv_id.
	* doc/invoke.texi (-ftree-builtin-call-dce): New flag.

2008-06-04  Xinliang David Li  <davidxl@google.com>
	* gcc.dg/cdce1.c: New test.
	* gcc.dg/cdce2.c: Ditto.
	* g++.dg/cdce3.C: Ditto.

From-SVN: r136374
2008-06-04 21:49:45 +00:00
Janus Weil
7db5da56ed re PR fortran/36322 (ICE with PROCEDURE using a complicated interface)
2008-06-04  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/36322
	PR fortran/36275
	* resolve.c (resolve_symbol): Correctly copy the interface for a
	PROCEDURE declaration.


2008-06-04  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/36322
	PR fortran/36275
	* gfortran.dg/proc_decl_2.f90: Extended.

From-SVN: r136372
2008-06-04 23:04:32 +02:00
Samuel Tardieu
b30199b8c0 einfo.ads, einfo.adb: Remove unused flag Function_Returns_With_DSP.
gcc/ada/
	* einfo.ads, einfo.adb: Remove unused flag Function_Returns_With_DSP.

From-SVN: r136362
2008-06-04 17:01:24 +00:00
Richard Guenther
7946578b7e tree-flow-inline.h (is_global_var): Do not check TREE_STATIC on MTAGs.
2008-06-04  Richard Guenther  <rguenther@suse.de>

	* tree-flow-inline.h (is_global_var): Do not check TREE_STATIC
	on MTAGs.
	(is_call_clobbered): Always check var_ann->call_clobbered.
	(mark_call_clobbered): Always set var_ann->call_clobbered.
	(clear_call_clobbered): Always clear var_ann->call_clobbered.
	* tree-ssa-alias.c (mark_non_addressable): Use clear_call_clobbered.
	(reset_alias_info): Clear call clobbering info on MTAGs and
	globals as well.
	(set_pt_anything): Set pt_global_mem.
	(create_tag_raw): Adjust comment.
	(may_be_aliased): Do not check TREE_PUBLIC on MTAGs.

From-SVN: r136360
2008-06-04 16:00:10 +00:00
Benjamin Kosnik
b67758fe85 assoc_container.hpp: Change allocator typedef to allocator_type, as per existing conventions.
2008-06-04  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/pb_ds/assoc_container.hpp: Change allocator typedef
	to allocator_type, as per existing conventions.	
	* include/ext/pb_ds/detail/binomial_heap_base_/
	binomial_heap_base_.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp: Same.
	* include/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp: Same.
	* include/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp: Same.
	* include/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp: Same.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	left_child_next_sibling_heap_.hpp: Same.
	* include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp: Same.
	* include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp: Same.
	* include/ext/pb_ds/detail/rc_binomial_heap_/
	rc_binomial_heap_.hpp: Same.
	* include/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp: Same.
	* include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp: Same.
	* include/ext/pb_ds/list_update_policy.hpp: Same.
	* include/ext/pb_ds/exception.hpp: Same.
	* include/ext/pb_ds/tree_policy.hpp: Same.
	* include/ext/pb_ds/trie_policy.hpp: Same.
	* include/ext/pb_ds/priority_queue.hpp: Same.
	* testsuite/util/regression/trait/assoc/trait.hpp: Same.
	* testsuite/util/regression/trait/assoc/type_trait.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/detail/
	defs_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/detail/
	operator_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/
	container_rand_regression_test.hpp: Same.
	* testsuite/util/regression/rand/assoc/detail/defs_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/assoc/detail/
	operator_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/assoc/
	container_rand_regression_test.hpp: Same.
	* testsuite/util/native_type/assoc/native_multimap.hpp: Same.
	* testsuite/util/native_type/assoc/native_hash_multimap.hpp: Same.
	* testsuite/util/common_type/assoc/detail/
	tree_supports_order_statistics.hpp: Same.
	* testsuite/util/common_type/assoc/detail/
	trie_supports_prefix_search.hpp: Same.
	* testsuite/util/common_type/assoc/detail/
	trie_supports_order_statistics.hpp: Same.

From-SVN: r136359
2008-06-04 15:53:09 +00:00
Joseph Myers
884316ff5d m68k.opt (mxgot): New option.
2008-06-04  Joseph Myers  <joseph@codesourcery.com>
            Maxim Kuvyrkov  <maxim@codesourcery.com>

	* config/m68k/m68k.opt (mxgot): New option.
	* config/m68k/m68k.c (legitimize_pic_address): Handle -mxgot.
	(m68k_output_addr_const_extra): New.
	* config/m68k/m68k.h (OUTPUT_ADDR_CONST_EXTRA): New.
	* config/m68k/m68k-protos.h (m68k_output_addr_const_extra): Declare.
	* config/m68k/m68k.md (UNSPEC_GOTOFF): Define.
	* doc/invoke.texi (M680x0 Options): Document -mxgot.

testsuite:
2008-06-04  Joseph Myers  <joseph@codesourcery.com>
            Maxim Kuvyrkov  <maxim@codesourcery.com>

	* gcc.target/m68k/xgot-1.c: New test.

Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com>

From-SVN: r136355
2008-06-04 13:17:50 +01:00
Richard Guenther
0e19bf429e tree-ssa-structalias.c (handle_ptr_arith): Correctly handle negative or non-representable offsets.
2008-06-04  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-structalias.c (handle_ptr_arith): Correctly handle
	negative or non-representable offsets.

	* gcc.c-torture/execute/20080604-1.c: New testcase.

From-SVN: r136351
2008-06-04 08:28:20 +00:00
GCC Administrator
c750c99044 Daily bump.
From-SVN: r136348
2008-06-04 00:17:18 +00:00
Andy Hutchinson
0aae926db6 float-floor.c: Adjust test for 4 byte doubles.
PR/34880
* gcc.c-torture/execute/float-floor.c: Adjust test for 4 byte doubles.

From-SVN: r136344
2008-06-03 23:46:07 +00:00
Eric Botcazou
f5cb6fbff5 aliasing1.ad[sb]: New test.
* gnat.dg/aliasing1.ad[sb]: New test.
	* gnat.dg/aliasing2.ad[sb]: Likewise.

From-SVN: r136331
2008-06-03 18:14:58 +00:00
Ralf Wildenhues
30783513f0 Makefile.in (common_tools): Fix typos in $(exeext) extension.
gcc/ada/
	* Makefile.in (common_tools): Fix typos in $(exeext) extension.
	* gnat_ugn.texi (Style Checking)
	(Adding the Results of Compiler Checks to gnatcheck Output)
	(Example of Binder Output File): Fix typos.
	* ali.ads, einfo.ads, exp_ch4.adb, exp_ch6.adb,
	exp_dbug.ads, exp_dist.adb, exp_smem.adb, g-socket.ads,
	s-osinte-rtems.ads, s-shasto.ads, s-stausa.adb,
	s-stausa.ads, sem_cat.adb, sem_ch12.adb, sem_ch3.adb,
	sem_ch4.adb, sem_ch6.adb, sem_ch8.adb, sem_util.ads,
	sinfo.ads, utils.c: Fix typos in comments.
	* sem_ch6.adb, vms_data.ads: Fix typos in strings.

From-SVN: r136329
2008-06-03 17:41:43 +00:00
Kai Tietz
458e816dad Correct comment.
From-SVN: r136323
2008-06-03 15:53:57 +02:00
Kai Tietz
d1abda327d Correct changelog entry as
2008-06-03  Kai Tietz  <kai.tietz@onevision.com>

	* config/i386/i386.md (P): New mode iterator.
	(SFmode push_operand splitter): Macroize DImode and SImode pushes
	using P mode iterator.
	(DFmode ...): Ditto.
	(XFmode ...): Ditto.
	(DFmode float_extend SFmode push_operand splitter): Ditto.
	(XFmode float_extend SFmode push_operand splitter): Do not generate
	SImode pushes for 64bit target.  Macroize Dimode and SImode ...
	(XFmode float_extedn DFmode push_operand splitter): Ditto.

From-SVN: r136322
2008-06-03 15:27:36 +02:00
H.J. Lu
999d31941e i386.c (ix86_gen_leave): New.
2008-06-03  H.J. Lu  <hongjiu.lu@intel.com>

	*  config/i386/i386.c (ix86_gen_leave): New.
	(ix86_gen_pop1): Likewise.
	(ix86_gen_add3): Likewise.
	(ix86_gen_sub3): Likewise.
	(ix86_gen_sub3_carry): Likewise.
	(ix86_gen_one_cmpl2): Likewise.
	(ix86_gen_monitor): Likewise.
	(override_options): Initialize ix86_gen_leave, ix86_gen_pop1,
	ix86_gen_add3, ix86_gen_sub3, ix86_gen_sub3_carry,
	ix86_gen_one_cmpl2 and ix86_gen_monitor.
	(ix86_file_end): Use mov%z0 instead of mov{q}/mov{l}.
	(output_set_got): Use mov%z0, pop%z0 and add%z0 instead of
	mov{q}/mov{l}, pop{q}/pop{l} and add{q}/add{l}.
	(ix86_expand_epilogue): Updated.
	(print_operand): Handle integer register operand for 'z'.
	(ix86_expand_strlensi_unroll_1): Likewise.
	(ix86_expand_strlen): Likewise.
	(ix86_expand_builtin): Likewise.
	(x86_output_mi_thunk): Use mov%z1 and add%z1 instead of
	mov{q}/mov{l} and add{q}/add{l}.

From-SVN: r136321
2008-06-03 06:25:18 -07:00
Kai Tietz
90b484920a i386.md (define_mode_iterator P): New.
2008-06-03  Kai Tietz  <kai.tietz@onevision.com>

        * config/i386/i386.md (define_mode_iterator P): New.
        (split): Merged XF and DF rules using P.

From-SVN: r136320
2008-06-03 15:22:36 +02:00
Kai Tietz
8a762fcb17 i386-protos.h (ix86_reg_parm_stack_space): New.
2008-06-03  Kai Tietz  <kai.tietz@onevision.com>

	* config/i386/i386-protos.h (ix86_reg_parm_stack_space): New.
	* config/i386/i386.h (ix86_reg_parm_stack_space): Removed
	prototype.
	* config/i386/i386.c (ix86_reg_parm_stack_space): Changed
	return type to int.
	(ix86_call_abi_override): Remove check for call_used_regs.

From-SVN: r136319
2008-06-03 15:07:56 +02:00
Richard Guenther
db73680033 tree-ssa-structalias.c (find_func_aliases): Add constraints for the lhs of calls if the return type contains pointers.
2008-06-03  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-structalias.c (find_func_aliases): Add constraints
	for the lhs of calls if the return type contains pointers.

From-SVN: r136315
2008-06-03 10:55:00 +00:00
Kai Tietz
f9ac6b1e10 Fixed typo.
From-SVN: r136314
2008-06-03 11:57:30 +02:00
Kai Tietz
7c8009267b tm.texi (OVERRIDE_ABI_FORMAT): New.
2008-06-03  Kai Tietz  <kai.tietz@onevision.com>

	* doc/tm.texi (OVERRIDE_ABI_FORMAT): New.
	* doc/extend.texi (ms_abi,sysv_abi): New attribute description.
	* function.c (allocate_struct_function): Use of
	OVERRIDE_ABI_FORMAT.
	* config/i386/cygming.h (TARGET_64BIT_MS_ABI): Make use
	of cfun and DEFAULT_ABI to deceide abi mode.
	(DEFAULT_ABI): New.
	(REG_PARM_STACK_SPACE): Removed.
	(OUTGOING_REG_PARM_STACK_SPACE): Removed.
	(STACK_BOUNDARY): Use default target to deceide stack boundary.
	* config/i386/i386-protos.h (ix86_cfun_abi): New.
	(ix86_function_abi): Likewise.
	(ix86_function_type_abi): Likewise.
	(ix86_call_abi_override): Likewise.
	* confid/i386/i386.md (SSE_REGPARM_MAX): Replaced by abi
	specific define X86_64_SSE_REGPARM_MAX/X64_SSE_REGPARM_MAX.
	* config/i386/i386.c (override_options): Replace TARGET_64BIT_MS_ABI.
	(X86_64_VARARGS_SIZE): Replace REGPARM_MAX and SSE_REGPARM_MAX by abi
	specific defines.
	(X86_64_REGPARM_MAX): New.
	(X86_64_SSE_REGPARM_MAX): New.
	(X64_REGPARM_MAX): New.
	(X64_SSE_REGPARM_MAX): New.
	(X86_32_REGPARM_MAX): New.
	(X86_32_SSE_REGPARM_MAX): New.
	(ix86_handle_cconv_attribute): Replace TARGET_64BIT_MS_ABI.
	(ix86_function_regparm): Handle user calling abi.
	(ix86_function_arg_regno_p): Replace TARGET_64BIT_MS_ABI
	by DEFAULT_ABI versus SYSV_ABI check.
	(ix86_reg_parm_stack_space): New.
	(ix86_function_type_abi): New.
	(ix86_call_abi_override): New.
	(ix86_function_abi): New.
	(ix86_cfun_abi): New.
	(init_cumulative_args): Call abi specific initialization.
	(function_arg_advance): Remove TARGET_64BIT_MS_ABI.
	(function_arg_64): Extend SSE_REGPARM_MAX check.
	(function_arg (): Remove TARGET_64BIT_MS_ABI.
	(ix86_pass_by_reference): Likewise.
	(ix86_function_value_regno_p): Likewise.
	(function_value_64): Replace REGPARM_MAX, and SSE_REGPARM_MAX.
	(ix86_function_value_1): Replace TARGET_64BIT_MS_ABI.
	(return_in_memory_ms_64): Replace TARGET_64BIT_MS_ABI.
	(ix86_build_builtin_va_list): Replace TARGET_64BIT_MS_ABI.
	(setup_incoming_varargs_64): Adjust regparm for call abi.
	(ix86_setup_incoming_varargs): Replace TARGET_64BIT_MS_ABI.
	(ix86_va_start): Likewise.
	(ix86_gimplify_va_arg): Likewise.
	(ix86_expand_prologue): Likewise.
	(output_pic_addr_const): Likewise.
	(ix86_init_machine_status): Initialize call_abi by DEFAULT_ABI.
	(x86_this_parameter): Replace TARGET_64BIT_MS_ABI.
	(x86_output_mi_thunk): Likewise.
	(x86_function_profiler): Likewise.
	* config/i386/i386.h (TARGET_64BIT_MS_ABI): Use ix64_cfun_abi.
	(SYSV_ABI, MS_ABI): New constants.
	(DEFAULT_ABI): New.
	(init_regs): Add prototype of function in regclass.c file.
	(OVERRIDE_ABI_FORMAT): New.
	(CONDITIONAL_REGISTER_USAGE): Remove TARGET_64BIT_MS_ABI part.
	(REG_PARM_STACK_SPACE): Use ix86_reg_parm_stack_space.
	(OUTGOING_REG_PARM_STACK_SPACE): New.
	(ix86_reg_parm_stack_space): New prototype.
	(CUMULATIVE_ARGS): Add call_abi member.
	(machine_function): Add call_abi member.
	* config/i386/mingw32.h (EXTRA_OS_CPP_BUILTINS): Replace TARGET_64BIT_MS_ABI
	by DEFAULT_ABI compare to MS_ABI.

From-SVN: r136311
2008-06-03 10:05:25 +02:00
GCC Administrator
19df69a0d7 Daily bump.
From-SVN: r136308
2008-06-03 00:17:52 +00:00
Andy Hutchinson
7aa840fc5f avr.exp: Add avr testsuite.
* gcc.target/avr/avr.exp: Add avr testsuite.
* gcc.target/avr/trivial.c: Add simple test.
* gcc.target/avr/torture/avr-torture.exp: Add avr-torture testsuite.
* gcc.target/avr/torture/trivial.c: Add simple test.

From-SVN: r136304
2008-06-02 22:39:12 +00:00
Andy Hutchinson
ffd6ff7271 pr19340.c: Disable for AVR as it has no scheduling.
* gcc.dg/pr19340.c: Disable for AVR as it has no scheduling.
* gcc.dg/section1.c: XFAIL AVR as bss section is used  differently.

From-SVN: r136303
2008-06-02 22:30:37 +00:00
Andy Hutchinson
40f9b82e3f pr18241-1.c: Use long on small int target.
* gcc.dg/pr18241-1.c: Use long on small int target.
* gcc.dg/pr32912-2.c: Ditto.
* gcc.dg/pr35065.c: Ditto.
* gcc.dg/pr36300-1.c: Ditto.
* gcc.dg/pr36300-2.c: Ditto.
* gcc.dg/pr27639.c: Reduce array size for small int target.
* gcc.dg/pr28755.c: Skip test if pointers are smaller than 32 bits.
* gcc.dg/pr36194.c: Reduce constant on small int target.
* gcc.dg/torture/builtin-frexp-1.c: Ditto.

From-SVN: r136302
2008-06-02 22:23:57 +00:00
Andy Hutchinson
cc51343980 pr34330.c: Skip test for targets without pthread.
* gcc.dg/torture/pr34330.c: Skip test for targets without pthread.
* gcc.dg/torture/pr36244.c: Ditto.
* gcc.dg/tree-ssa/pr36181.c: Ditto.

From-SVN: r136301
2008-06-02 22:13:30 +00:00
Andy Hutchinson
1bf296437b re PR target/34879 (__builtin_setjmp / __builtin_longjmp fails stack frame address with O2, O3 and Os)
PR target/34879
* config/avr/avr.c (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Redefine.
(avr_builtin_setjmp_frame_value): New function.
* config/avr/avr.md (nonlocal_goto_receiver): Define.
(nonlocal_goto): Define.

From-SVN: r136297
2008-06-02 22:08:25 +00:00
Janus Weil
e62532afd7 re PR fortran/36361 (attribute declaration outside of INTERFACE body)
2008-06-02  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/36361
	* symbol.c (gfc_add_allocatable,gfc_add_dimension,
	gfc_add_explicit_interface): Added checks.
	* decl.c (attr_decl1): Added missing "var_locus".
	* parse.c (parse_interface): Checking for errors.


2008-06-02  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/36361
	* gfortran.dg/interface_24.f90: New.

From-SVN: r136296
2008-06-02 23:50:23 +02:00
Paolo Carlini
80d7287f40 re PR c++/36404 (ICE with invalid enum)
/cp
2008-06-02  Paolo Carlini  <paolo.carlini@oracle.com>

        PR c++/36404
        * pt.c (push_template_decl_real): Consistently return error_mark_node
	on error.

/testsuite
2008-06-02  Paolo Carlini  <paolo.carlini@oracle.com>

        PR c++/36404
        * g++.dg/template/crash79.C: New.
	* g++.dg/other/pr28114.C: Adjust.

From-SVN: r136295
2008-06-02 21:27:35 +00:00
Richard Sandiford
de9f679dbe mips.c (mips_emit_loadgp): Return early if there is nothing do to...
gcc/
	* config/mips/mips.c (mips_emit_loadgp): Return early if
	there is nothing do to, otherwise emit a blockage if
	!TARGET_EXPLICIT_RELOCS || crtl->profile.
	* config/mips/mips.md (loadgp_blockage): Use SI rather than DI.

From-SVN: r136294
2008-06-02 21:13:20 +00:00
Daniel Kraft
345235247a gfortran.h: New statement-type ST_FINAL for FINAL declarations.
2008-06-02  Daniel Kraft  <d@domob.eu>

        * gfortran.h:  New statement-type ST_FINAL for FINAL declarations.
        (struct gfc_symbol):  New member f2k_derived.
        (struct gfc_namespace):  New member finalizers, for use in the above
        mentioned f2k_derived namespace.
        (struct gfc_finalizer):  New type defined for finalizers linked list.
        * match.h (gfc_match_final_decl):  New function header.
        * decl.c (gfc_match_derived_decl):  Create f2k_derived namespace
        on constructed symbol node.
        (gfc_match_final_decl):  New function to match a FINAL declaration line.
        * parse.c (decode_statement):  match-call for keyword FINAL.
        (parse_derived):  Parse CONTAINS section and accept FINAL statements.
        * resolve.c (gfc_resolve_finalizers):  New function to resolve
        (that is in this case, check) a list of finalizer procedures.
        (resolve_fl_derived):  Call gfc_resolve_finalizers here.
        * symbol.c (gfc_get_namespace):  Initialize new finalizers to NULL.
        (gfc_free_namespace):  Free finalizers list.
        (gfc_new_symbol):  Initialize new f2k_derived to NULL.
        (gfc_free_symbol):  Free f2k_derived namespace.
        (gfc_free_finalizer):  New function to free a single gfc_finalizer node.
        (gfc_free_finalizer_list):  New function to free a linked list of
        gfc_finalizer nodes.

2008-06-02  Daniel Kraft  <d@domob.eu>

        * finalize_1.f08:  New test.
        * finalize_2.f03:  New test.
        * finalize_3.f03:  New test.
        * finalize_4.f03:  New test.
        * finalize_5.f03:  New test.
        * finalize_6.f90:  New test.
        * finalize_7.f03:  New test.
        * finalize_8.f03:  New test.

From-SVN: r136293
2008-06-02 22:03:03 +02:00
Ralf Wildenhues
236ec2d7ee configure.ac: Drop unneeded backslash ending up in config.in.
gcc/
	* configure.ac: Drop unneeded backslash ending up in config.in.
	* acinclude.m4: Likewise.
	* config.in: Regenerate.

From-SVN: r136292
2008-06-02 19:37:45 +00:00
Ralf Wildenhues
5649c0b9b3 Makefile.am (mostlyclean-local): Use libtool --mode=clean.
libjava/
	* Makefile.am (mostlyclean-local): Use libtool --mode=clean.
	* Makefile.in: Regenerate.

From-SVN: r136291
2008-06-02 19:23:06 +00:00
Daniel Franke
1e60697fe1 re PR fortran/36375 (ICE on -fpreprocessed)
2008-06-02  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/36375
        PR fortran/36377
        * cpp.c (gfc_cpp_init): Do not initialize builtins if
        processing already preprocessed input.
        (gfc_cpp_preprocess): Finalize output with newline.

From-SVN: r136283
2008-06-02 12:41:08 -04:00
Jan Hubicka
3250d72489 predict.c (maybe_hot_frequency_p): Break out of...
* predict.c (maybe_hot_frequency_p): Break out of...
	(maybe_hot_bb_p): ... here.
	(maybe_hot_edge_p): New.
	* tree-ssa-coalesce.c (coalesce_cost_edge): Compute cost based on edge.
	* basic-block.h (maybe_hot_edge_p): Declare.

From-SVN: r136282
2008-06-02 16:36:49 +00:00
Sandra Loosemore
79711d26db 9425.cc: Use dg-require-fileio.
2008-06-02  Sandra Loosemore  <sandra@codesourcery.com>
	    Daniel Jacobowitz  <dan@codesourcery.com>

	libstdc++-v3/
	* testsuite/27_io/basic_filebuf/sputbackc/char/9425.cc: Use
	dg-require-fileio.
	* testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc: Likewise.
 

Co-Authored-By: Daniel Jacobowitz <dan@codesourcery.com>

From-SVN: r136280
2008-06-02 12:01:41 -04:00
Paolo Carlini
d2219f89bf vector.tcc (vector<>::_M_insert_aux): In C++0x mode, avoid a memory leak if the first __uninitialized_move_a throws.
2008-06-02  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/vector.tcc (vector<>::_M_insert_aux): In C++0x mode,
	avoid a memory leak if the first __uninitialized_move_a throws.
	(vector<>::_M_fill_insert): Do not always copy to __x_copy, similarly
	to _M_insert_aux.
	* testsuite/23_containers/vector/modifiers/moveable.cc: Adjust.
	* testsuite/23_containers/vector/resize/moveable.cc: Likewise.

From-SVN: r136277
2008-06-02 12:22:53 +00:00
Uros Bizjak
690028435c i386.md (*cmpfp_<mode>): Enable for optimize_size.
* config/i386/i386.md (*cmpfp_<mode>): Enable for optimize_size.
	(*cmpfp_<mode>_cc): Ditto.
	(*fp_jcc_8<mode>_387): Ditto.
	(*fop_<MODEF:mode>_2_i387): Ditto.
	(*fop_<MODEF:mode>_3_i387): Ditto.
	(*fop_xf_2_i387): Ditto.
	(*fop_xf_3_i387): Ditto.

From-SVN: r136276
2008-06-02 13:08:00 +02:00
Tomas Bily
5f9e56b3f2 tree-ssa-ifcombine.c (get_name_for_bit_test): Use CONVERT_EXPR_P.
* tree-ssa-ifcombine.c (get_name_for_bit_test): Use
        CONVERT_EXPR_P.

        * cp/typeck.c (is_bitfield_expr_with_lowered_type): Use
        CASE_CONVERT.
        (cp_build_unary_op): Likewise.
        (cp_build_indirect_ref): Use CONVERT_EXPR_P.
        (maybe_warn_about_returning_address_of_local): Likewise.

From-SVN: r136273
2008-06-02 11:45:27 +02:00
GCC Administrator
e47551edc6 Daily bump.
From-SVN: r136266
2008-06-02 00:17:08 +00:00
Richard Sandiford
d3bb1743bc ieee.exp: Load c-torture.exp.
gcc/testsuite/
	* gcc.c-torture/execute/ieee/ieee.exp: Load c-torture.exp.

From-SVN: r136254
2008-06-01 13:03:22 +00:00
Richard Sandiford
fa21a761a6 mips.c (mips_valid_offset_p): New function.
gcc/
	* config/mips/mips.c (mips_valid_offset_p): New function.
	(mips_valid_lo_sum_p): Likewise.
	(mips_classify_address): Use them.
	(mips_force_address): New function.
	(mips_legitimize_address): Use it.
	* config/mips/mips.md (MOVE128): New mode iterator.
	(movtf): Require TARGET_64BIT.  Remove empty strings.
	(*movtf_internal): Rename to...
	(*movtf): ...this and require !TARGET_MIPS16.  Use "m" instead
	of "R" and use {,fp}{load,store} attributes instead of "multi".
	Use a separate define_split.
	(*movtf_mips16): New pattern.

gcc/testsuite/
	* gcc.target/mips/fpr-moves-7.c: New test.
	* gcc.target/mips/fpr-moves-8.c: New test.

From-SVN: r136253
2008-06-01 13:01:23 +00:00
Richard Sandiford
2f7e2abbd1 mips-protos.h (mips_expand_before_return): Declare.
gcc/
	* config/mips/mips-protos.h (mips_expand_before_return): Declare.
	* config/mips/mips.c (mips_expand_before_return): New function.
	(mips_expand_epilogue): Call it.
	* config/mips/mips.md (return): Turn into a define_expand.
	(*return): New insn.

From-SVN: r136252
2008-06-01 10:01:51 +00:00
Richard Sandiford
c41c1387d3 rtl.h (emit_clobber, [...]): Declare.
gcc/
	* rtl.h (emit_clobber, gen_clobber, emit_use, gen_use): Declare.
	* emit-rtl.c (emit_clobber, gen_clobber, emit_use, gen_use): New
	functions.  Do not emit uses and clobbers of CONCATs; individually
	use and clobber their operands.
	* builtins.c (expand_builtin_setjmp_receiver): Use emit_clobber,
	gen_clobber, emit_use and gen_use.
	(expand_builtin_longjmp, expand_builtin_nonlocal_goto): Likewise.
	(expand_builtin_return): Likewise.
	* cfgbuild.c (count_basic_blocks): Likewise.
	* cfgrtl.c (rtl_flow_call_edges_add): Likewise.
	* explow.c (emit_stack_restore): Likewise.
	* expmed.c (extract_bit_field_1): Likewise.
	* expr.c (convert_move, emit_move_complex_parts): Likewise.
	(emit_move_multi_word, store_constructor): Likewise.
	* function.c (do_clobber_return_reg, do_use_return_reg): Likewise.
	(thread_prologue_and_epilogue_insns): Likewise.
	* lower-subreg.c (resolve_simple_move): Likewise.
	* optabs.c (widen_operand, expand_binop): Likewise.
	(expand_doubleword_bswap, emit_no_conflict_block): Likewise.
	* reload.c (find_reloads): Likewise.
	* reload1.c (eliminate_regs_in_insn): Likewise.
	* stmt.c (expand_nl_goto_receiver): Likewise.
	* config/alpha/alpha.md (builtin_longjmp): Likewise.
	* config/arc/arc.md (*movdi_insn, *movdf_insn): Likewise.
	* config/arm/arm.c (arm_load_pic_register): Likewise.
	(thumb1_expand_epilogue, thumb_set_return_address): Likewise.
	* config/arm/arm.md (untyped_return): Likewise.
	* config/arm/linux-elf.h (PROFILE_HOOK): Likewise.
	* config/avr/avr.c (expand_prologue): Likewise.
	* config/bfin/bfin.c (do_unlink): Likewise.
	* config/bfin/bfin.md (<optab>di3, adddi3, subdi3): Likewise.
	* config/cris/cris.c (cris_expand_prologue): Likewise.
	* config/darwin.c (machopic_indirect_data_reference): Likewise.
	(machopic_legitimize_pic_address): Likewise.
	* config/frv/frv.c (frv_frame_access, frv_expand_epilogue): Likewise.
	(frv_ifcvt_modify_insn, frv_expand_mdpackh_builtin): Likewise.
	* config/i386/i386.c (ix86_expand_vector_move_misalign): Likewise.
	(ix86_expand_convert_uns_didf_sse): Likewise.
	(ix86_expand_vector_init_general): Likewise.
	* config/ia64/ia64.md (eh_epilogue): Likewise.
	* config/iq2000/iq2000.c (iq2000_expand_epilogue): Likewise.
	* config/m32c/m32c.c (m32c_emit_eh_epilogue): Likewise.
	* config/m32r/m32r.c (m32r_reload_lr): Likewise.
	(config/iq2000/iq2000.c): Likewise.
	* config/mips/mips.md (fixuns_truncdfsi2): Likewise.
	(fixuns_truncdfdi2, fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
	(builtin_longjmp): Likewise.
	* config/mn10300/mn10300.md (call, call_value): Likewise.
	* config/pa/pa.md (nonlocal_goto, nonlocal_longjmp): Likewise.
	* config/pdp11/pdp11.md (abshi2): Likewise.
	* config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
	* config/s390/s390.c (s390_emit_prologue): Likewise.
	* config/s390/s390.md (movmem_long, setmem_long): Likewise.
	(cmpmem_long, extendsidi2, zero_extendsidi2, udivmoddi4): Likewise.
	(builtin_setjmp_receiver, restore_stack_nonlocal): Likewise.
	* config/sh/sh.c (prepare_move_operands): Likewise.
	(output_stack_adjust, sh_expand_epilogue): Likewise.
	(sh_set_return_address, sh_expand_t_scc): Likewise.
	* config/sparc/sparc.c (load_pic_register): Likewise.
	* config/sparc/sparc.md (untyped_return, nonlocal_goto): Likewise.
	* config/spu/spu.c (spu_expand_epilogue): Likewise.
	* config/v850/v850.c (expand_epilogue): Likewise.

From-SVN: r136251
2008-06-01 09:47:28 +00:00
Jerry DeLisle
d2d586f929 intrinsic.texi: Revert wrong commit.
2008-05-31  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	* intrinsic.texi: Revert wrong commit.

From-SVN: r136249
2008-06-01 00:30:37 +00:00
GCC Administrator
e6a29ed8b1 Daily bump.
From-SVN: r136247
2008-06-01 00:17:13 +00:00
Paolo Carlini
f8af8c09ec re PR libstdc++/36338 (heap_sort effectively hangs with -D_GLIBCXX_DEBUG)
2008-05-31  Paolo Carlini  <paolo.carlini@oracle.com>
	    Chris Jefferson  <chris@bubblescope.net>

	PR libstdc++/36338
	* include/bits/stl_heap.h (sort_heap): Use __pop_heap directly.
	(pop_heap): Slightly tweak.

Co-Authored-By: Chris Jefferson <chris@bubblescope.net>

From-SVN: r136242
2008-05-31 23:01:09 +00:00
Steven G. Kargl
7306494a7e arith.c (gfc_arith_init_1): Remove now unused r and c variables.
2008-05-31  Steven G. Kargl  <kargls@comcast.net>

	* arith.c (gfc_arith_init_1): Remove now unused r and c variables.
	Cleanup numerical inquiry function initialization.
	(gfc_arith_done_1): Replace multiple mpfr_clear() invocations with
	a single mpfr_clears().
	(gfc_check_real_range): Re-arrange logic to eliminate multiple
	unnecessary branching and assignments.
	(gfc_arith_times): Use mpfr_clears() in preference to multiple
	mpfr_clear().
	(gfc_arith_divide): Ditto.
	(complex_reciprocal): Eliminate now unused variables a, re, im.
	Cleanup the mpfr abuse.  Use mpfr_clears() in preference to
	multiple mpfr_clear().
	(complex_pow): Fix comment whitespace.  Use mpfr_clears() in
	preference to multiple mpfr_clear().
	* simplify.c (gfc_simplify_and): Remove blank line.
	(gfc_simplify_atan2): Move error checking earlier to eliminate
	a now unnecessay gfc_free_expr().
	(gfc_simplify_bessel_j0): Remove unnecessary gfc_set_model_kind().
	(gfc_simplify_bessel_j1): Ditto.
	(gfc_simplify_bessel_jn): Ditto.
 	(gfc_simplify_bessel_y0): Ditto.
	(gfc_simplify_bessel_y1): Ditto.
	(gfc_simplify_bessel_yn): Ditto. 
	(only_convert_cmplx_boz): Eliminate unnecessary duplicate code, and
	combine nested if statement rational expressions.
	(gfc_simplify_cos): Use mpfr_clears() in preference to multiple
	mpfr_clear().
	(gfc_simplify_exp): Ditto.
	(gfc_simplify_fraction): Move gfc_set_model_kind() to after the
	special case of 0.  Use mpfr_clears() in preference to multiple
	mpfr_clear().
	(gfc_simplify_gamma): Eliminate unnecessary gfc_set_model_kind().
 	(gfc_simplify_lgamma): Ditto.
	(gfc_simplify_log10): Ditto.
	(gfc_simplify_log): Move gfc_set_model_kind () inside switch
	statement. Use mpfr_clears() in preference to multiple mpfr_clear().
	(gfc_simplify_mod):  Eliminate now unused variables quot, iquot,
	and term.  Simplify the mpfr magic.
	(gfc_simplify_modulo): Ditto.
	(gfc_simplify_nearest): Eliminate unnecessary gfc_set_model_kind().
	(gfc_simplify_scale): Use mpfr_clears() in preference to multiple
	mpfr_clear().
	(gfc_simplify_sin): Ditto
	(gfc_simplify_sqrt): Ditto
	(gfc_simplify_set_exponent):  Move gfc_set_model_kind() to after the
	special case of 0.  Use mpfr_clears() in preference to multiple
	mpfr_clear().

From-SVN: r136239
2008-05-31 19:19:48 +00:00
Anatoly Sokolov
794cb45e0b avr.md (UNSPECV_WRITE_SP_IRQ_ON): New constants.
* config/avr/avr.md (UNSPECV_WRITE_SP_IRQ_ON): New constants.
	(UNSPECV_WRITE_SP_IRQ_OFF): (Ditto.).
	(movhi_sp_r_irq_off, movhi_sp_r_irq_on): New insn.
	* config/avr/avr.c (expand_prologue, expand_epilogue): Use 
	movhi_sp_r_irq_off and movhi_sp_r_irq_on insns for writing to the 
	stack pointer register.
	(output_movhi): Remove code for interrupt specific writing to the 
	stack pointer register.

From-SVN: r136238
2008-05-31 19:01:16 +04:00
Richard Guenther
39f8a3b00c re PR tree-optimization/34244 (VRP/SCEV miscompiles Firefox)
2008-05-31  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/34244
	* fold-const.c (tree_expr_nonnegative_warnv_p): Do not ask VRP.
	(tree_expr_nonzero_warnv_p): Likewise.
	* tree-vrp.c (vrp_expr_computes_nonnegative): Call
	ssa_name_nonnegative_p.
	(vrp_expr_computes_nonzero): Call ssa_name_nonzero_p.
	(extract_range_from_unary_expr): Use vrp_expr_computes_nonzero,
	not tree_expr_nonzero_warnv_p.

	PR tree-optimization/36262
	Revert
	2007-11-29  Zdenek Dvorak  <ook@ucw.cz>

        PR tree-optimization/34244
        * tree-vrp.c (adjust_range_with_scev): Clear scev cache.
        (record_numbers_of_iterations): New function.
        (execute_vrp): Cache the numbers of iterations of loops.
        * tree-scalar-evolution.c (scev_reset_except_niters):
        New function.
        (scev_reset): Use scev_reset_except_niters.
        * tree-scalar-evolution.h (scev_reset_except_niters): Declare.

From-SVN: r136237
2008-05-31 13:01:10 +00:00