Commit Graph

91138 Commits

Author SHA1 Message Date
Jonathan Larmour
f05d0fc148 concurrence.h: Fix __gthread_cond_t initialisation function macro name.
2008-12-22  Jonathan Larmour  <jifl@eCosCentric.com>

	* include/ext/concurrence.h: Fix __gthread_cond_t initialisation
	function macro name.

From-SVN: r142901
2008-12-23 03:10:35 +00:00
Jerry DeLisle
a6ccf29c0b Fix PR number referenced in ChangeLog.
From-SVN: r142900
2008-12-23 01:39:00 +00:00
Benjamin Kosnik
a8ddeb784c stdheader.cc: Add cstdlib include.
2008-12-22  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/doxygen/stdheader.cc: Add cstdlib include.
	* doc/doxygen/user.cfg.in: Regenerate for doxygen 1.5.7.

From-SVN: r142897
2008-12-23 01:27:39 +00:00
GCC Administrator
70e352ae98 Daily bump.
From-SVN: r142895
2008-12-23 00:16:49 +00:00
Jakub Jelinek
8dd5516b4c re PR middle-end/31150 (Not promoting an whole array to be static const)
PR middle-end/31150
	* dse.c (struct store_info): Add const_rhs field.
	(clear_rhs_from_active_local_stores): Clear also const_rhs.
	(record_store): Try also cselib_expand_value_rtx to get a constant.
	(find_shift_sequence, get_stored_val): Use const_rhs instead of
	rhs if worthwhile.
	* cselib.c (cselib_record_sets): If !cselib_record_memory and
	there is just one set from read-only MEM, look at REG_EQUAL or
	REG_EQUIV note.

	* dse.c (struct store_info): Add redundant_reason field.
	(record_store): When storing the same constant as has been
	stored by an earlier store, set redundant_reason field
	to the earlier store's insn_info_t.  Don't delete cannot_delete
	insns.
	(find_shift_sequence): Remove read_info argument, add read_mode
	and require_cst arguments.  Return early if require_cst and
	constant wouldn't be returned.
	(get_stored_val): New function.
	(replace_read): Use it.
	(scan_insn): Put even cannot_delete insns with exactly 1 store
	into active_local_stores.
	(dse_step1): Don't delete cannot_delete insns.  Remove redundant
	constant stores if contains_cselib_groups and earlier store storing
	the same value hasn't been eliminated.
	(dse_step6): Renamed to dse_step7.  New function.
	(dse_step7): Renamed from dse_step6.
	(rest_of_handle_dse): Call dse_step6 and dse_step7 at the end.
	* cselib.c (cselib_expand_value_rtx): Don't wrap CONST_INTs
	into CONST unless really necessary.  Handle SUBREG, unary,
	ternary, bitfield and compares specially, to be able to simplify
	operations on constants.
	(expand_loc): Try to optimize LO_SUM.

	* dse.c (get_call_args): New function.
	(scan_insn): Don't handle BUILT_IN_BZERO.  For memset, attempt
	to get call arguments and if successful and both len and val are
	constants, handle the call as (mem:BLK) (const_int) store.

	* dse.c (struct store_info): Add is_large bool field, change
	positions_needed into a union of a bitmask and bitmap + count.
	(free_store_info): Free bitmap if is_large.
	(set_usage_bits): Don't look at stores where
	offset + width >= MAX_OFFSET.
	(set_position_unneeded, set_all_positions_unneeded,
	any_positions_needed_p, all_positions_needed_p): New static inline
	functions.
	(record_store): Handle BLKmode stores of CONST_INT, if
	MEM_SIZE is set on the MEM.  Use the new positions_needed
	accessor inlines.
	(replace_read): Handle reads from BLKmode CONST_INT stores.
	(check_mem_read_rtx): Use all_positions_needed_p function.
	(dse_step1): Free large positions_needed bitmaps and clear is_large.

	* dse.c (struct store_info): Change begin and end types to
	HOST_WIDE_INT.

	* dse.c (record_store): Fix check for unused store.

	* expr.c (block_clear_fn): No longer static.
	* expr.h (block_clear_fn): Declare.
	* dse.c (scan_insn): Memset and bzero can just read their
	arguments.

	* gcc.c-torture/execute/20081218-1.c: New test.

From-SVN: r142892
2008-12-23 00:41:17 +01:00
Jakub Jelinek
805903b525 re PR target/38488 (x86_64 generates much larger and slightly slower code for memset)
* config/i386/i386.c (expand_setmem_via_rep_stos): Add ORIG_VALUE
	argument.  If ORIG_VALUE is const0_rtx and COUNT is constant,
	set MEM_SIZE on DESTMEM.
	(ix86_expand_setmem): Adjust callers.

	PR target/38488
	* expr.h (get_mem_align_offset): New prototype.
	* emit-rtl.c (get_mem_align_offset): New function.
	* config/i386/i386.c (expand_movmem_via_rep_mov): Set MEM_SIZE correctly.
	(expand_constant_movmem_prologue, expand_constant_setmem_prologue):
	New functions.
	(ix86_expand_movmem): Optimize if COUNT_EXP
	is constant, desired_align > align and dst & (desired_align - 1)
	is computable at compile time.
	(ix86_expand_setmem): Likewise.

	* builtins.c (get_memory_rtx): Try to derive MEM_ATTRS from not yet
	resolved SAVE_EXPR or POINTER_PLUS_EXPR.

From-SVN: r142891
2008-12-23 00:34:07 +01:00
Paul Thomas
d797a4ed79 re PR fortran/35780 (internal compiler error for complicated PARAMETER expressions)
2008-12-22  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/35780
	* gfortran.dg/alloc_comp_optional_1.f90: New test.

From-SVN: r142890
2008-12-22 23:16:44 +00:00
Paul Thomas
8a2725318b re PR fortran/35780 (internal compiler error for complicated PARAMETER expressions)
2008-12-22  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/35780
	* trans-decl.c (init_intent_out_dt): Allow for optional args.

From-SVN: r142889
2008-12-22 23:11:29 +00:00
Uros Bizjak
5d88d3be0a re PR target/34571 (Segfault in alpha_expand_mov at -O3)
* config/alpha/alpha.h (ASM_OUTPUT_EXTERNAL): New macro.

	PR target/34571
	* config/alpha/predicates.md (symbolic_operand): Return 1 for a
	label_ref with an offset.

From-SVN: r142885
2008-12-22 18:49:52 +01:00
Jerry DeLisle
82192170e3 re PR fortran/37472 (bad output on default-format write of double in common block with -m64)
2008-12-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/37472
	* io/write_float.def (output_float_FMT_G_): Modify calculation of temp
	to avoid sensitivity to round-off.

From-SVN: r142884
2008-12-22 14:53:37 +00:00
GCC Administrator
8de5d93ad5 Daily bump.
From-SVN: r142882
2008-12-22 00:16:47 +00:00
Ben Elliston
65a6c991a1 re PR c++/38362 (AltiVec context-sensitive keywords broke test for __vector bool)
PR c++/38362
	* g++.dg/ext/altivec-types-1.C (dg-options): Pass -std=c++98.

From-SVN: r142879
2008-12-22 09:51:59 +11:00
Andrew Pinski
a0e0204117 Index...
Index: config/ChangeLog
+2008-12-21  Andrew Pinski  <pinskia@gmail.com>
+
+       PR target/38300
+       * unwind_ipinfo.m4: Darwin before 9 does not have _Unwind_GetIPInfo.
+
Index: gcc/ChangeLog
+2008-12-21  Andrew Pinski  <pinskia@gmail.com>
+
+       PR target/38300
+       * configure: Regenerate.
Index: libstdc++-v3/ChangeLog
+2008-12-21  Andrew Pinski  <pinskia@gmail.com>
+
+       PR target/38300
+       * configure: Regenerate.
+
Index: libjava/ChangeLog
+2008-12-21  Andrew Pinski  <pinskia@gmail.com>
+
+       PR target/38300
+       * configure: Regenerate.

From-SVN: r142877
2008-12-21 14:27:18 -08:00
Jerry DeLisle
19ce9ba0a2 re PR fortran/38398 (g0.w edit descriptor: Update for F2008 Tokyo meeting changes)
2008-12-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/38398
	* gfortran.dg/fmt_g0_1.f08: Revise.

From-SVN: r142876
2008-12-21 22:06:34 +00:00
Richard Sandiford
c05854ec7d mips.exp: Rewrite.
gcc/testsuite/
	* gcc.target/mips/mips.exp: Rewrite.

	* gcc.target/mips/20020620-1.c: Use dg-options instead of
	dg-mips-options.  Remove target restrictions from dg-do.
	* gcc.target/mips/mips-ps-1.c: Likewise.
	* gcc.target/mips/mips-ps-2.c: Likewise.
	* gcc.target/mips/mips-ps-3.c: Likewise.
	* gcc.target/mips/mips-ps-4.c: Likewise.
	* gcc.target/mips/mips-ps-6.c: Likewise.

	* gcc.target/mips/asm-1.c: Use dg-options instead of dg-mips-options.
	* gcc.target/mips/branch-1.c: Likewise.
	* gcc.target/mips/clear-cache-2.c: Likewise.
	* gcc.target/mips/dse-1.c: Likewise.
	* gcc.target/mips/fix-r4000-1.c: Likewise.
	* gcc.target/mips/fix-r4000-2.c: Likewise.
	* gcc.target/mips/fix-r4000-3.c: Likewise.
	* gcc.target/mips/fix-r4000-4.c: Likewise.
	* gcc.target/mips/fix-r4000-5.c: Likewise.
	* gcc.target/mips/fix-r4000-6.c: Likewise.
	* gcc.target/mips/fix-r4000-7.c: Likewise.
	* gcc.target/mips/fix-r4000-8.c: Likewise.
	* gcc.target/mips/fix-r4000-9.c: Likewise.
	* gcc.target/mips/fix-r4000-10.c: Likewise.
	* gcc.target/mips/fix-r4000-11.c: Likewise.
	* gcc.target/mips/fix-r4000-12.c: Likewise.
	* gcc.target/mips/fix-vr4130-1.c: Likewise.
	* gcc.target/mips/fix-vr4130-2.c: Likewise.
	* gcc.target/mips/fix-vr4130-3.c: Likewise.
	* gcc.target/mips/fix-vr4130-4.c: Likewise.
	* gcc.target/mips/fpcmp-1.c: Likewise.
	* gcc.target/mips/fpcmp-2.c: Likewise.
	* gcc.target/mips/fpr-moves-1.c: Likewise.
	* gcc.target/mips/fpr-moves-2.c: Likewise.
	* gcc.target/mips/fpr-moves-3.c: Likewise.
	* gcc.target/mips/fpr-moves-4.c: Likewise.
	* gcc.target/mips/fpr-moves-5.c: Likewise.
	* gcc.target/mips/fpr-moves-6.c: Likewise.
	* gcc.target/mips/gcc-have-sync-compare-and-swap-2.c: Likewise.
	* gcc.target/mips/madd-1.c: Likewise.
	* gcc.target/mips/madd-2.c: Likewise.
	* gcc.target/mips/madd-5.c: Likewise.
	* gcc.target/mips/madd-6.c: Likewise.
	* gcc.target/mips/madd-7.c: Likewise.
	* gcc.target/mips/madd-8.c: Likewise.
	* gcc.target/mips/maddu-1.c: Likewise.
	* gcc.target/mips/maddu-2.c: Likewise.
	* gcc.target/mips/memcpy-1.c: Likewise.
	* gcc.target/mips/mips-sched-madd.c: Likewise.
	* gcc.target/mips/msub-1.c: Likewise.
	* gcc.target/mips/msub-2.c: Likewise.
	* gcc.target/mips/msub-5.c: Likewise.
	* gcc.target/mips/msub-6.c: Likewise.
	* gcc.target/mips/msub-7.c: Likewise.
	* gcc.target/mips/msub-8.c: Likewise.
	* gcc.target/mips/msubu-1.c: Likewise.
	* gcc.target/mips/msubu-2.c: Likewise.
	* gcc.target/mips/neg-abs-1.c: Likewise.
	* gcc.target/mips/neg-abs-2.c: Likewise.
	* gcc.target/mips/no-smartmips-lwxs.c: Likewise.
	* gcc.target/mips/no-smartmips-ror-1.c: Likewise.
	* gcc.target/mips/octeon-baddu-1.c: Likewise.
	* gcc.target/mips/octeon-bbit-2.c: Likewise.
	* gcc.target/mips/octeon-bbit-3.c: Likewise.
	* gcc.target/mips/octeon-cins-1.c: Likewise.
	* gcc.target/mips/octeon-cins-2.c: Likewise.
	* gcc.target/mips/octeon-dmul-1.c: Likewise.
	* gcc.target/mips/octeon-dmul-2.c: Likewise.
	* gcc.target/mips/octeon-exts-1.c: Likewise.
	* gcc.target/mips/octeon-exts-2.c: Likewise.
	* gcc.target/mips/octeon-exts-3.c: Likewise.
	* gcc.target/mips/octeon-exts-4.c: Likewise.
	* gcc.target/mips/octeon-exts-5.c: Likewise.
	* gcc.target/mips/octeon-pop-1.c: Likewise.
	* gcc.target/mips/octeon-seq-1.c: Likewise.
	* gcc.target/mips/octeon-seq-2.c: Likewise.
	* gcc.target/mips/octeon-seq-3.c: Likewise.
	* gcc.target/mips/octeon-seq-4.c: Likewise.
	* gcc.target/mips/pr26765.c: Likewise.
	* gcc.target/mips/pr33256.c: Likewise.
	* gcc.target/mips/pr33635-1.c: Likewise.
	* gcc.target/mips/pr33755.c: Likewise.
	* gcc.target/mips/pr34831.c: Likewise.
	* gcc.target/mips/pr35802.c: Likewise.
	* gcc.target/mips/pr37362.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-1.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-2.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-3.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-4.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-5.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-6.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-7.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-8.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-9.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-10.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-11.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-12.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-13.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-15.c: Likewise.
	* gcc.target/mips/r3900-mult.c: Likewise.
	* gcc.target/mips/rsqrt-4.c: Likewise.
	* gcc.target/mips/sb1-1.c: Likewise.
	* gcc.target/mips/scc-2.c: Likewise.
	* gcc.target/mips/scc-4.c: Likewise.
	* gcc.target/mips/sdata-1.c: Likewise.
	* gcc.target/mips/sdata-2.c: Likewise.
	* gcc.target/mips/sdata-3.c: Likewise.
	* gcc.target/mips/sdata-4.c: Likewise.
	* gcc.target/mips/smartmips-lwxs.c: Likewise.
	* gcc.target/mips/smartmips-ror-1.c: Likewise.
	* gcc.target/mips/smartmips-ror-2.c: Likewise.
	* gcc.target/mips/smartmips-ror-3.c: Likewise.
	* gcc.target/mips/smartmips-ror-4.c: Likewise.
	* gcc.target/mips/timode-1.c: Likewise.
	* gcc.target/mips/truncate-1.c: Likewise.
	* gcc.target/mips/truncate-2.c: Likewise.
	* gcc.target/mips/vr-mult-1.c: Likewise.
	* gcc.target/mips/vr-mult-2.c: Likewise.

	* gcc.target/mips/atomic-memory-2.c: Use dg-options instead of
	dg-mips-options.  Use isa>=2 instead of -mips32.

	* gcc.target/mips/branch-cost-1.c: Use dg-options instead of
	dg-mips-options.  Use isa>=4 instead of -mips64.
	* gcc.target/mips/branch-cost-2.c: Likewise.

	* gcc.target/mips/cache-1.c: Use dg-options instead of
	dg-mips-options.  Add isa>=3 and NOMIPS16 attributes.

	* gcc.target/mips/call-saved-1.c: Use dg-options instead of
	dg-mips-options.  Replace the mips16_attribute directives with
	a (-mips16) dg-option.  Use isa_rev=0 instead of -mips2.
	* gcc.target/mips/call-saved-2.c: Likewise.
	* gcc.target/mips/call-saved-3.c: Likewise.

	* gcc.target/mips/clear-cache-1.c: Use dg-options instead of
	dg-mips-options.  Use isa_rev>=2 instead of -mips32r2.
	* gcc.target/mips/ext_ins.c: Likewise.

	* gcc.target/mips/code-readable-1.c: Use dg-options instead of
	dg-mips-options.  Replace the mips16_attribute directives with
	a (-mips16) dg-option.  Use addressing=absolute too.
	* gcc.target/mips/code-readable-2.c: Likewise.
	* gcc.target/mips/code-readable-3.c: Likewise.

	* gcc.target/mips/dmult-1.c: Use dg-options instead of
	dg-mips-options.  Remove the mips16_attribute directives.
	* gcc.target/mips/gcc-have-sync-compare-and-swap-4.c: Likewise.

	* gcc.target/mips/dpaq_sa_l_w.c: Use dg-options instead of
	dg-mips-options.  Remove target restrictions from dg-do.
	Use -mgp32 instead of -mips32r2.
	* gcc.target/mips/dpsq_sa_l_w.c: Likewise.

	* gcc.target/mips/dsp-ctrl.c: Use dg-options instead of
	dg-mips-options.  Remove target restrictions from dg-do.
	Remove the !__mips_dsp code and add -mdsp -mgp32 to dg-options
	instead.  Add NOMIPS16 attributes.

	* gcc.target/mips/dspr2-MULT.c: Use dg-options instead of
	dg-mips-options.  Replace -march=mips32r2 with -mgp32.
	* gcc.target/mips/dspr2-MULTU.c: Likewise.

	* gcc.target/mips/ext-1.c: Use dg-options instead of
	dg-mips-options.  Use isa_rev>=2 instead of -mips64r2.

	* gcc.target/mips/fix-r10000-1.c: Use dg-options instead of
	dg-mips-options.  Remove -march=mips4.  
	* gcc.target/mips/fix-r10000-2.c: Likewise.
	* gcc.target/mips/fix-r10000-3.c: Likewise.
	* gcc.target/mips/fix-r10000-4.c: Likewise.
	* gcc.target/mips/fix-r10000-5.c: Likewise.
	* gcc.target/mips/fix-r10000-6.c: Likewise.
	* gcc.target/mips/fix-r10000-7.c: Likewise.
	* gcc.target/mips/fix-r10000-8.c: Likewise.
	* gcc.target/mips/fix-r10000-9.c: Likewise.
	* gcc.target/mips/fix-r10000-10.c: Likewise.
	* gcc.target/mips/fix-r10000-11.c: Likewise.
	* gcc.target/mips/fix-r10000-12.c: Likewise.
	* gcc.target/mips/fix-r10000-13.c: Likewise.
	* gcc.target/mips/fix-r10000-14.c: Likewise.
	* gcc.target/mips/fix-r10000-15.c: Likewise.

	* gcc.target/mips/fixed-scalar-type.c: Use dg-options instead
	of dg-mips-options.  Remove target restrictions from dg-do.
	Remove -march=mips32r2.
	* gcc.target/mips/fixed-vector-type.c: Likewise.
	* gcc.target/mips/mips32-dsp-run.c: Likewise.
	* gcc.target/mips/mips32-dspr2.c: Likewise.  Add NOMIPS16 attributes.

	* gcc.target/mips/fpr-moves-7.c: Use dg-options instead of
	dg-mips-options.  Replace the mips16_attribute directives with
	a (-mips16) dg-option.  Remove -msoft-float.
	* gcc.target/mips/fpr-moves-8.c: Likewise.
	* gcc.target/mips/int-moves-1.c: Likewise.
	* gcc.target/mips/int-moves-2.c: Likewise.

	* gcc.target/mips/gcc-have-sync-compare-and-swap-1.c: Use dg-options
	instead of dg-mips-options.  Use isa>=2 instead of -mips2.
	Add -mgp32.
	* gcc.target/mips/gcc-have-sync-compare-and-swap-3.c: Likewise.

	* gcc.target/mips/ins-1.c: Use dg-options instead of
	dg-mips-options.  Use "isa_rev>=2 -mgp32" instead of -march=mips32r2.

	* gcc.target/mips/loongson-muldiv-1.c: Use dg-options instead of
	dg-mips-options.  Use isa=loongson instead of -march=loongson2e.
	* gcc.target/mips/loongson-muldiv-2.c: Likewise.

	* gcc.target/mips/loongson-simd.c: Remove mips_loongson
	target requirement and use isa=loongson instead.  Add -mhard-float,
	-mno-mips16 and -flax-vector-conversions.

	* gcc.target/mips/lazy-binding-1.c: Use dg-options instead of
	dg-mips-options.  Remove target restrictions from dg-do.
	Add NOMIPS16 attributes.

	* gcc.target/mips/long-calls-pg.c: Use dg-options instead of
	dg-mips-options.  Remove -march=mips32 and -fno-pic.
	Add NOMIPS16 attributes.

	* gcc.target/mips/madd-3.c: Use dg-options instead of
	dg-mips-options.  Use isa_rev>=1 instead of -mips32.
	* gcc.target/mips/maddu-3.c: Likewise.
	* gcc.target/mips/msub-3.c: Likewise.
	* gcc.target/mips/msubu-3.c: Likewise.

	* gcc.target/mips/madd-4.c: Use dg-options instead of
	dg-mips-options.  Remove -mips32r2.
	* gcc.target/mips/maddu-4.c: Likewise.
	* gcc.target/mips/msub-4.c: Likewise.
	* gcc.target/mips/msubu-4.c: Likewise.

	* gcc.target/mips/mips-3d-1.c: Use dg-options instead of
	dg-mips-options.  Remove target restrictions from dg-do.
	Remove -mips64, -mhard-float and -mgp64.
	* gcc.target/mips/mips-3d-2.c: Likewise.
	* gcc.target/mips/mips-3d-3.c: Likewise.
	* gcc.target/mips/mips-3d-4.c: Likewise.
	* gcc.target/mips/mips-3d-5.c: Likewise.
	* gcc.target/mips/mips-3d-6.c: Likewise.
	* gcc.target/mips/mips-3d-7.c: Likewise.
	* gcc.target/mips/mips-3d-8.c: Likewise.
	* gcc.target/mips/mips-3d-9.c: Likewise.

	* gcc.target/mips/mips-ps-5.c: Use dg-options instead of
	dg-mips-options.  Remove -mips64.
	* gcc.target/mips/mips-ps-type.c: Likewise.

	* gcc.target/mips/mips-ps-7.c: Use dg-options instead of
	dg-mips-options.  Replace -mips32r2 with -mgp32.

	* gcc.target/mips/mips-ps-type-2.c: Use dg-options instead of
	dg-mips-options.  Use "isa_rev>=2 -mgp32" instead of -mips32r2.

	* gcc.target/mips/mips16-attributes.c: Use dg-options instead of
	dg-mips-options.  Replace the mips16_attribute directives with
	a (-mips16) dg-option.
	* gcc.target/mips/mips16-attributes-2.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-14.c: Likewise.
	* gcc.target/mips/scc-3.c: Likewise.

	* gcc.target/mips/mips16-attributes-3.c: Add { dg-options "(-mips16)" }.

	* gcc.target/mips/mips16e-extends.c: Use dg-options instead of
	dg-mips-options.  Replace the mips16_attribute directives with
	a (-mips16) dg-option.  Use isa_rev>=1 instead of -march=mips32.
	Add -mlong32.

	* gcc.target/mips/mips32-dsp.c: Use dg-options instead of
	dg-mips-options.  Replace -march=mips32 with -mgp32.

	* gcc.target/mips/mips32-dsp-type.c: Use dg-options instead of
	dg-mips-options.  Remove -march=mips32.

	* gcc.target/mips/mips32-dspr2-type.c: Use dg-options instead of
	dg-mips-options.  Remove -march=mips32r2.

	* gcc.target/mips/mips32r2-mxhc1.c: Use dg-options instead of
	dg-mips-options.  Add NOMIPS16 attributes.

	* gcc.target/mips/movcc-1.c: Use dg-options instead of
	dg-mips-options.  Use isa>=4 instead of -mips4.
	* gcc.target/mips/movcc-2.c: Likewise.
	* gcc.target/mips/movcc-3.c: Likewise.

	* gcc.target/mips/octeon-bbit-1.c: Use dg-options instead of
	dg-mips-options.  Declare foo as a NOMIPS16 function.
	Use foo instead of g.

	* gcc.target/mips/near-far-1.c: Use dg-options instead of
	dg-mips-options.  Replace the nonpic directives with an
	addressing=absolute option.
	* gcc.target/mips/near-far-2.c: Likewise.
	* gcc.target/mips/near-far-3.c: Likewise.
	* gcc.target/mips/near-far-4.c: Likewise.

	* gcc.target/mips/nmadd-1.c: Use dg-options instead of
	dg-mips-options.  Use isa=4 instead of -mips4.
	* gcc.target/mips/nmadd-2.c: Likewise.
	* gcc.target/mips/nmadd-3.c: Likewise.
	* gcc.target/mips/rsqrt-1.c: Likewise.
	* gcc.target/mips/rsqrt-2.c: Likewise.
	* gcc.target/mips/rsqrt-3.c: Likewise.

	* gcc.target/mips/save-restore-1.c: Use dg-options instead of
	dg-mips-options.  Replace the mips16_attribute directives with
	a (-mips16) dg-option.  Use isa_rev>=1 instead of -mips32r2.
	* gcc.target/mips/save-restore-2.c: Likewise.
	* gcc.target/mips/save-restore-3.c: Likewise.
	* gcc.target/mips/save-restore-4.c: Likewise.
	* gcc.target/mips/save-restore-5.c: Likewise.

	* gcc.target/mips/scc-1.c: Use dg-options instead of
	dg-mips-options.  Replace the mips16_attribute directives with
	a (-mips16) dg-option.  Use isa_rev>=1 instead of -mips32.

	* gcc.target/mips/timode-2.c: Remove target restrictions from dg-do.
	Use -mgp64.

From-SVN: r142875
2008-12-21 21:47:38 +00:00
Richard Sandiford
816bc01bae re PR tree-optimization/35899 (ICE on filesystem code)
gcc/testsuite/
	PR target/35899
	* gcc.target/mips/smartmips-lwxs.c: Add -mlong32.

From-SVN: r142874
2008-12-21 21:45:11 +00:00
Richard Sandiford
8398663ecc re PR target/38598 (MIPS extendsidi2 does not have a LO alternative)
gcc/testsuite/
	PR target/38598
	* gcc.target/mips/madd-7.c: Add -mlong32.
	* gcc.target/mips/msub-7.c: Likewise.

From-SVN: r142873
2008-12-21 21:44:39 +00:00
Richard Sandiford
26b69f6482 mips-dsp.md (mips_lbux): Turn into a define_expand, changing operand 1 to a pmode_register_operand.
gcc/
	* config/mips/mips-dsp.md (mips_lbux): Turn into a define_expand,
	changing operand 1 to a pmode_register_operand.
	(mips_lhx, mips_lwx): Likewise.
	(mips_lbux_<mode>, mips_lhx_<mode>, mips_lwx_<mode>): New patterns.
	* config/mips/mips.c (mips_prepare_builtin_arg): Get the mode of
	the value from the argument expression.

From-SVN: r142872
2008-12-21 21:43:51 +00:00
Jerry DeLisle
50220190d2 re PR fortran/38398 (g0.w edit descriptor: Update for F2008 Tokyo meeting changes)
2008-12-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/38398
	* io/io.h (st_parameter_dt): Add new bit to keep track of when to
	suppress blanks for g0 formatting.
	* io/transfer.c (formatted_transfer_scalar): Always call write_real_g0
	for g0 formatting.
	* io.c (write.c): Do not use ES formatting and use new bit to suppress
	blanks.
	* io/write_float.def (output_float): Adjust the location of setting the
	width so that it can be adjusted when suppressing blanks.  Set number of
	blanks to zero when dtp->u.p.g0_no_blanks is set. Do some minor code
	clean-up and add some white space for readability.

From-SVN: r142871
2008-12-21 21:23:52 +00:00
Jerry DeLisle
c8129db104 re PR fortran/38398 (g0.w edit descriptor: Update for F2008 Tokyo meeting changes)
2008-12-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/38398
	* io.c: Add error checks for g0 formatting and provide adjustment of
	error loci for improved error messages.

From-SVN: r142870
2008-12-21 21:20:29 +00:00
Jason Merrill
ddb8401a53 revert accidental checkin
From-SVN: r142869
2008-12-21 16:12:13 -05:00
Jason Merrill
3feb128fad re PR c++/38597 ([c++0x] ICE when auto return type function given as argument to function template)
PR c++/38597
        * name-lookup.c (arg_assoc_type): Handle DECLTYPE_TYPE.

From-SVN: r142868
2008-12-21 16:01:48 -05:00
Arjen Markus
aad9c4f437 re PR fortran/37605 (Remarks on user manual for Gfortran)
2008-12-21  Arjen Markus  <arjen.markus@wldelft.nl>
	    Daniel Kraft  <d@domob.eu>

	PR fortran/37605
	* gfortran.texi: Fixed some typos and some minor style improvements.
	* intrinsic.texi: Some clarifications and typo-fixes.
	* invoke.texi: Better documenation of the behaviour of the
	-fdefault-*-8 options and some other fixes.

Co-Authored-By: Daniel Kraft <d@domob.eu>

From-SVN: r142866
2008-12-21 19:45:17 +01:00
Paolo Carlini
b72bcb5225 2008-12-21 Paolo Carlini <paolo.carlini@oracle.com>
* Fix typo in last ChangeLog entry.

From-SVN: r142863
2008-12-21 16:00:38 +00:00
Paolo Carlini
c947d638c6 re PR libstdc++/38596 (tr1_impl/functional incompatible with -fno-rtti)
2008-12-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/38596
	* include/tr1_impl/function (function<>::target,
	function<>::target_type): Provide only when __GXX_RTTI is defined.
	(_Function_base::_M_manager, _Ref_manager<>::_M_manager,
	_Function_handler<void(_ArgTypes...), _Member _Class::*>::_M_manager):
	Adjust.

From-SVN: r142862
2008-12-21 15:56:22 +00:00
Jan Hubicka
924eabec0b i376.md (UNSPEC_MS_TO_SYSV_CALL): New constant.
* i376.md (UNSPEC_MS_TO_SYSV_CALL): New constant.
	(call_1_rex64_ms_sysv, call_value_0_rex64_ms_sysv,
	call_value_1_rex64_ms_sysv): New patterns.
	* i386.c (function_arg_ms_64): Pass magical value of -2 as callarg.
	(ix86_expand_call): Emit extra clobbers for ms->sysv ABI calls.

Co-Authored-By: Kai Tietz <kai.tietz@onevision.com>

From-SVN: r142859
2008-12-21 13:28:26 +00:00
Uros Bizjak
76a4a1bd8d alpha.c (alpha_pad_noreturn): New static function.
* config/alpha/alpha.c (alpha_pad_noreturn): New static function.
	(alpha_reorg): Call alpha_pad_noreturn.

From-SVN: r142858
2008-12-21 12:50:59 +01:00
Denis Chertykov
10bcc2b8a1 * config/avr/avr.md ("andsi3"): Fix wrong cc attribute.
From-SVN: r142856
2008-12-21 09:16:02 +03:00
GCC Administrator
81a42525dc Daily bump.
From-SVN: r142853
2008-12-21 00:16:52 +00:00
Eric Botcazou
66f911126d re PR target/37610 (FAIL: g++.dg/eh/pr29166.C execution test)
PR target/37610
	* configure.ac (gcc_cv_as_cfi_advance_working): Fall back to 'no'
	if readelf is nowhere to be found.
	* configure: Regenerate.

From-SVN: r142850
2008-12-20 22:32:30 +00:00
Jakub Jelinek
fb3e178a78 re PR c++/36921 (warning "comparison does not have mathematical meaning" is not correct for overloaded operators that do not return boolean)
PR c++/36921
	* c-common.c (warn_about_parentheses): Remove ARG_UNUSED from
	arg_left.  Don't warn about X<=Y<=Z if comparison's type isn't
	integral.

	* g++.dg/warn/pr36921.C: New.

Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>

From-SVN: r142849
2008-12-20 19:46:12 +01:00
Joel Sherrill
3ce1b2de25 target-supports.exp: Add *-*-rtems* to list of targets without profiling support.
2008-12-19  Joel Sherrill <joel.sherrill@oarcorp.com>

	* lib/target-supports.exp: Add *-*-rtems* to list
	of targets without profiling support.

From-SVN: r142848
2008-12-20 15:28:57 +00:00
GCC Administrator
a16353329e Daily bump.
From-SVN: r142846
2008-12-20 00:17:04 +00:00
Jakub Jelinek
6cea69fe29 re PR c++/38577 (ICE: tree check: expected call_expr, have compound_expr in build_new_method_call, at cp/call.c:6000)
PR c++/38577
	* call.c (build_new_method_call): Handle call being COMPOUND_EXPR
	or NOP_EXPR.

	* g++.dg/template/call6.C: New test.

From-SVN: r142842
2008-12-19 20:33:28 +01:00
Janis Johnson
735baa21c2 revert: re PR libfortran/24685 (real(16) formatted input is broken for huge values (gfortran.dg/default_format_2.f90))
Revert:
	2008-12-12  Janis Johnson  <janis187@us.ibm.com>
	PR libgfortran/24685
	* gfortran.dg/default_format_denormal_2.f90: Change XFAIL to check
	for size of long double.

From-SVN: r142840
2008-12-19 18:12:40 +00:00
Andrew Haley
c4e93e284b builtins.c, [...]: Fix comments.
2008-12-19  Andrew Haley  <aph@redhat.com>

	* builtins.c, tree-ssa-loop-ivopts.c, fixed-value.c:
	Fix comments.

From-SVN: r142839
2008-12-19 17:53:51 +00:00
Richard Earnshaw
007403f342 re PR target/38548 (bootstrap broken on arm-linux-gnu (not gnueabi))
PR target/38548
	* arm/t-linux (LIB1ASMFUNCS): Add _arm_addsubdf3 and 
_arm_addsubsf3.
	* arm/lib1funcs.asm (clzsi2): Use RET macro for return 
instruction.

From-SVN: r142838
2008-12-19 17:31:12 +00:00
Richard Earnshaw
f0b4bdd55d re PR bootstrap/38578 (fatal warning during bootstrap on arm.c for output_move_double and arm_expand_prologue)
PR bootstrap/38578
	* arm.c (load_multiple_sequence): Initialize ORDER array.
	(store_multiple_sequence): Likewise.
	(output_move_double): Make reg0 unsigned.
	(arm_output_epilogue): Make amount unsigned.
	(arm_expand_prologue): Move declaration of dwarf before block
	statements.

From-SVN: r142837
2008-12-19 17:22:58 +00:00
Steve Ellcey
7bda4a1df4 * df-scan.c ( df_hard_reg_init): Move declaration of i.
From-SVN: r142836
2008-12-19 16:34:26 +00:00
Rainer Orth
4d3d40782b re PR libffi/26048 (libffi doesn't build on Solaris 10/x86 with native assembler)
PR libffi/26048
	* configure.ac (HAVE_AS_X86_PCREL): New test.
	* configure: Regenerate.
	* fficonfig.h.in: Regenerate.
	* src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
	RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
	RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
	(.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
	* src/x86/unix64.S (.Lstore_table): Move to .text section.
	(.Lload_table): Likewise.
	(.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.

From-SVN: r142835
2008-12-19 14:59:42 +00:00
Jakub Jelinek
fda2cea18b re PR libgcj/38396 (ecj1 linked against both -lgcj and -lgcj_bc)
PR libgcj/38396
	* configure.ac (use_libgcj_bc): Set to no if not enable_shared.
	(LIBGCJ_SPEC): Use -lgcj instead of -lgcj_bc even for -static
	or -static-libgcj.
	* Makefile.am (ecjx_SOURCES): Add ecjx.cc.
	(ecjx_LDADD): Don't add libgcj.la when
	NATIVE && USE_LIBBGCJ_BC.
	* ecjx.cc: New file.
	* Makefile.in: Regenerated.
	* configure: Regenerated.

From-SVN: r142834
2008-12-19 15:57:29 +01:00
Jakub Jelinek
acd08fa87c re PR bootstrap/37739 (bootstrap broken with core gcc > gcc-4.2.x)
PR bootstrap/37739
	* config.host: For powerpc*-*-linux* host with 32-bit GCC,
	use rs6000/x-linux-relax snippet if ld is new enough,
	otherwise use rs6000/x-linux-O1.
	* config/rs6000/x-linux-relax: New file.
	* config/x-cflags-O1: New file.

From-SVN: r142833
2008-12-19 15:55:42 +01:00
Ben Elliston
dd88bc9747 acinclude.m4: Guard a variable test against an empty string.
* acinclude.m4: Guard a variable test against an empty string.
	* configure: Regenerate.

From-SVN: r142829
2008-12-19 20:18:41 +11:00
GCC Administrator
cece8bb5c7 Daily bump.
From-SVN: r142827
2008-12-19 00:16:45 +00:00
Joseph Myers
1cdc0d8f36 rs6000.c (rs6000_generate_compare): Condition choice of e500 comparison instructions on flag_finite_math_only &&...
* config/rs6000/rs6000.c (rs6000_generate_compare): Condition
	choice of e500 comparison instructions on flag_finite_math_only &&
	!flag_trapping_math, not flag_unsafe_math_optimizations.
	* config/rs6000/rs6000.md (abstf2): Condition choice of e500
	instructions on flag_finite_math_only && !flag_trapping_math, not
	flag_unsafe_math_optimizations.
	(bltgt, sltgt): Disable for TARGET_HARD_FLOAT && !TARGET_FPRS.
	* config/rs6000/spe.md (cmpsfeq_gpr, tstsfeq_gpr, cmpsfgt_gpr,
	tstsfgt_gpr, cmpsflt_gpr, tstsflt_gpr, cmpdfeq_gpr, tstdfeq_gpr,
	cmpdfgt_gpr, tstdfgt_gpr, cmpdflt_gpr, tstdflt_gpr, cmptfeq_gpr,
	tsttfeq_gpr, cmptfgt_gpr, tsttfgt_gpr, cmptflt_gpr, tsttflt_gpr):
	Condition choice of comparison instructions on
	flag_finite_math_only && !flag_trapping_math, not
	flag_unsafe_math_optimizations.

From-SVN: r142822
2008-12-18 22:13:05 +00:00
Andrew Pinski
6559c761d4 re PR middle-end/38565 (ICE with vector code)
2008-12-18  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR middle-end/38565
        * testsuite/g++.dg/torture/pr38565.C: New test.

From-SVN: r142821
2008-12-18 14:00:46 -08:00
Jack Howarth
c3329535ac 21674.cc: Add xfail on all targets except darwin.
2008-12-18  Jack Howarth  <howarth@bromo.med.uc.edu>

	* testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc:
	Add xfail on all targets except darwin.
	* libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/
	1674.cc: Same.
	* libstdc++-v3/testsuite/22_locale/ctype/is/char/2.cc: Correct syntax
	for xfailing on all targets except linux.

From-SVN: r142819
2008-12-18 21:08:28 +00:00
Jakub Jelinek
0f737a30c0 re PR c++/38427 (crash for reference init code)
PR c++/38427
	* init.c (perform_member_init): For value-initialized
	references call permerror instead of warning and don't emit any
	INIT_EXPR.

	* g++.dg/init/ctor9.C: New test.

From-SVN: r142818
2008-12-18 21:51:07 +01:00
Ralf Wildenhues
baafc53472 Backport from upstream Libtool:
* libltdl.m4 (_LT_SYS_DYNAMIC_LINKER)
	(_LT_LINKER_SHLIBS): Add cache variables to tests that
	require the linker to work.  For shlibpath_overrides_runpath,
	this also changes the semantics to let the result from the C
	compiler take precedence.

boehm-gc/

	* configure: Regenerate.

fixincludes/

	* configure: Regenerate.

gcc/

	* configure: Regenerate.

libffi/

	* configure: Regenerate.

libgfortran/

	* configure: Regenerate.

libgomp/

	* configure: Regenerate.

libjava/classpath/

	* configure: Regenerate.

libjava/

	* configure: Regenerate.

libmudflap/

	* configure: Regenerate.

libobjc/

	* configure: Regenerate.

libssp/

	* configure: Regenerate.

libstdc++-v3/

	* configure: Regenerate.

zlib/

	* configure: Regenerate.

From-SVN: r142817
2008-12-18 20:04:55 +00:00
Jason Merrill
a11669269b re PR c++/38485 (GCC can't parse a parenthesized comma in a template-id within a default argument)
PR c++/38485
        * parser.c (cp_parser_token_starts_cast_expression): An EOF
        can't start a cast-expression.

From-SVN: r142815
2008-12-18 10:54:59 -05:00