Commit Graph

91163 Commits

Author SHA1 Message Date
Dorit Nuzman 7f5c5702ca re PR tree-optimization/38529 (ICE with nested loops)
PR tree-optimization/38529
	* tree-vect-transform (vect_transform_stmt): Handle inner-loop stmts
	whose DEF is used in the loop-nest that is being vectorized, but
	outside the immediately enclosing loop.


Co-Authored-By: Ira Rosen <irar@il.ibm.com>

From-SVN: r142959
2008-12-30 06:58:57 +00:00
GCC Administrator b72bc5243f Daily bump.
From-SVN: r142957
2008-12-30 00:17:00 +00:00
Seongbae Park 31375f4d8d tree-profile.c (tree_init_ic_make_global_vars): Make static variables TLS.
2008-12-29  Seongbae Park  <seongbae.park@gmail.com>

	* tree-profile.c (tree_init_ic_make_global_vars): Make static
	variables TLS.

From-SVN: r142953
2008-12-29 20:10:21 +00:00
John David Anglin c0c3c409a7 re PR fortran/31832 (FAIL: gfortran.dg/integer_exponentiation_2.f90 at -O1 and above)
PR fortran/31832
	* acinclude.m4 (LIBGFOR_CHECK_FOR_BROKEN_POWF): New autoconf check for
	broken powf.
	* configure.ac (LIBGFOR_CHECK_FOR_BROKEN_POWF): Use it.
	* intrinsics/c99_functions.c: Use internal powf implementation if
	HAVE_BROKEN_POWF is defined.
	* configure: Rebuilt.
	* config.h.in: Rebuilt.

From-SVN: r142952
2008-12-29 20:10:00 +00:00
Jakub Jelinek 049dba029b re PR c++/38635 (ICE parsing broken code)
PR c++/38635
	* parser.c (cp_parser_condition): Use cp_parser_require
	instead of cp_lexer_consume_token to consume =.

	* g++.dg/parse/cond4.C: New test.

From-SVN: r142951
2008-12-29 19:27:03 +01:00
Jakub Jelinek 04be6ff5a8 re PR middle-end/36191 (can't use complex in a eh region if non-call-exceptions is enabled)
PR c++/36191
	* tree-complex.c (expand_complex_libcall): Call
	maybe_clean_or_replace_eh_stmt and gimple_purge_dead_eh_edges
	instead of passing true as 3rd argument to gsi_replace.

	* g++.dg/torture/pr36191.C: New test.

From-SVN: r142950
2008-12-29 19:25:19 +01:00
Uros Bizjak 67d0afe901 re PR middle-end/38652 (dse.c: In function get_call_args: dse.c:2309: error: target undeclared)
PR middle-end/38652
	* dse.c: Include target.h.
	* Makefile.in (dse.o): Depend on $(TARGET_H).

From-SVN: r142949
2008-12-29 13:36:24 +01:00
Hariharan Sandanagobalane 7c280c72a3 fprintf.x: Disable test for freestanding targets.
* gcc.c-torture/execute/builtins/fprintf.x: Disable test for
        freestanding targets.
        * gcc.c-torture/execute/pr37573.x: Disable test for 16-bit targets.
        * gcc.c-torture/execute/20081117-1.x: Disable test for 16-bit targets.
        * gcc.c-torture/compile/limits-stringlit.c: Disable test for picochip.
        * gcc.dg/array-quals-1.c: Disable test for picochip.
        * lib/target-supports.exp: Add support for freestanding ports and 
        disable picochip for profiling tests.

From-SVN: r142948
2008-12-29 10:31:14 +00:00
Jakub Jelinek d41d8140d2 re PR driver/38381 (-b option seems to be broken)
PR driver/38381
	* gcc.c (process_command): Accept also -b with configuration name
	in the next argument.
	* doc/invoke.texi (-b): Document that no hyphen is required if
	configuration name is in the next argument after -b.

From-SVN: r142947
2008-12-29 09:32:21 +01:00
Jakub Jelinek 19bb3aa5c5 re PR c++/38637 (ICE with template declaration of enum)
PR c++/38637
	* decl.c (start_enum): If enumtype is error_mark_node, exit early.

	* g++.dg/cpp0x/enum2.C: New test.

From-SVN: r142946
2008-12-29 09:28:06 +01:00
Andrew Pinski bbddfe5b6c re PR libobjc/36610 (objc_msg_sendv is broken for targets which pass argument via registers)
2008-12-28  Andrew Pinski  <pinskia@gmail.com>

        PR libobjc/36610
        * objc/execute/forward-1.m: New test.

From-SVN: r142945
2008-12-28 18:16:45 -08:00
GCC Administrator 07d2064206 Daily bump.
From-SVN: r142943
2008-12-29 00:16:43 +00:00
Jakub Jelinek e4ebaef35b re PR c++/38650 (Trouble with volatile and #pragma omp for)
PR c++/38650
	* semantics.c (finish_omp_for): Don't add CLEANUP_POINT_EXPR
	around volatile iteration var in condition and/or increment
	expression.

	* testsuite/libgomp.c/pr38650.c: New test.
	* testsuite/libgomp.c++/pr38650.C: New test.

From-SVN: r142940
2008-12-28 21:06:00 +01:00
GCC Administrator 2008239a95 Daily bump.
From-SVN: r142938
2008-12-28 00:17:08 +00:00
Jakub Jelinek 2603276ee3 re PR middle-end/38641 (VEC_EXTRACT_EVEN_EXPR/VEC_EXTRACT_ODD_EXPR no longer print out correctly in the tree dumps)
PR middle-end/38641
	* gimple-pretty-print.c (dump_binary_rhs): Print
	VEC_WIDEN_MULT_HI_EXPR, VEC_WIDEN_MULT_LO_EXPR,
	VEC_PACK_TRUNC_EXPR, VEC_PACK_SAT_EXPR, VEC_PACK_FIX_TRUNC_EXPR,
	VEC_EXTRACT_EVEN_EXPR, VEC_EXTRACT_ODD_EXPR
	VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR similarly
	to COMPLEX_EXPR, MIN_EXPR and MAX_EXPR.

From-SVN: r142935
2008-12-27 20:38:20 +01:00
Jakub Jelinek e1e2bac4bd re PR middle-end/38633 (ICE with #pragma omp parallel and struct declaration)
PR middle-end/38633
	* tree-cfg.c (replace_block_vars_by_duplicates): Only call
	replace_by_duplicate_decl for VAR_DECLs or CONST_DECLs.

	* gcc.dg/gomp/pr38633.c: New test.
	* g++.dg/gomp/pr38633.C: New test.

From-SVN: r142934
2008-12-27 16:38:22 +01:00
Jakub Jelinek 749db154bd re PR c++/38639 (ICE with invalid use of auto in parallel for-loop)
PR c++/38639
	* pt.c (tsubst_omp_for_iterator): RECUR on whole init_expr instead of
	just its type.

	* g++.dg/gomp/pr38639.C: New test.

From-SVN: r142933
2008-12-27 16:24:52 +01:00
Jakub Jelinek 382017a6e8 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
From-SVN: r142932
2008-12-27 16:20:28 +01:00
GCC Administrator 94fa50c801 Daily bump.
From-SVN: r142930
2008-12-27 00:16:57 +00:00
Uros Bizjak 79644b2756 atomic-6.c: Add -mieee for alpha*-*-* targets.
* testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.

From-SVN: r142927
2008-12-26 17:35:22 +01:00
GCC Administrator 53b558a3f7 Daily bump.
From-SVN: r142925
2008-12-26 00:16:45 +00:00
GCC Administrator 46b0561837 Daily bump.
From-SVN: r142919
2008-12-25 00:16:52 +00:00
Kazu Hirata aa331cc56b Makefile.in (GTFILES): Add $(srcdir)/expr.h.
* Makefile.in (GTFILES): Add $(srcdir)/expr.h.
	* expr.h: Fix the declaration of block_clear_fn.

From-SVN: r142914
2008-12-24 17:00:52 +00:00
GCC Administrator c4b71aa980 Daily bump.
From-SVN: r142911
2008-12-24 00:17:03 +00:00
Andrew Pinski 12fda46d3b [multiple changes]
2008-12-23  Andrew Pinski  <pinski@gmail.com>

        PR middle-end/38590
        * fold-const.c (fold_binary): Call fold_convert on arguments to
        fold_build2 for negative divide optimization.

2008-12-23  Andrew Pinski  <pinskia@gmail.com>

        PR middle-end/38590
        * gcc.c-torture/compile/pr38590-1.c: New testcase.
        * gcc.c-torture/compile/pr38590-2.c: New testcase.

From-SVN: r142906
2008-12-23 08:21:32 -08:00
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