Jakub Jelinek [Sun, 28 Dec 2008 20:06:00 +0000 (21:06 +0100)]
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
GCC Administrator [Sun, 28 Dec 2008 00:17:08 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r142938
Jakub Jelinek [Sat, 27 Dec 2008 19:38:20 +0000 (20:38 +0100)]
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
Jakub Jelinek [Sat, 27 Dec 2008 15:38:22 +0000 (16:38 +0100)]
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
Jakub Jelinek [Sat, 27 Dec 2008 15:24:52 +0000 (16:24 +0100)]
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
Jakub Jelinek [Sat, 27 Dec 2008 15:20:28 +0000 (16:20 +0100)]
* testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
From-SVN: r142932
GCC Administrator [Sat, 27 Dec 2008 00:16:57 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r142930
Uros Bizjak [Fri, 26 Dec 2008 16:35:22 +0000 (17:35 +0100)]
atomic-6.c: Add -mieee for alpha*-*-* targets.
* testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
From-SVN: r142927
GCC Administrator [Fri, 26 Dec 2008 00:16:45 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r142925
GCC Administrator [Thu, 25 Dec 2008 00:16:52 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r142919
Kazu Hirata [Wed, 24 Dec 2008 17:00:52 +0000 (17:00 +0000)]
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
GCC Administrator [Wed, 24 Dec 2008 00:17:03 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r142911
Andrew Pinski [Tue, 23 Dec 2008 16:21:32 +0000 (08:21 -0800)]
[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
Jonathan Larmour [Tue, 23 Dec 2008 03:10:35 +0000 (03:10 +0000)]
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
Jerry DeLisle [Tue, 23 Dec 2008 01:39:00 +0000 (01:39 +0000)]
Fix PR number referenced in ChangeLog.
From-SVN: r142900
Benjamin Kosnik [Tue, 23 Dec 2008 01:27:39 +0000 (01:27 +0000)]
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
GCC Administrator [Tue, 23 Dec 2008 00:16:49 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r142895
Jakub Jelinek [Mon, 22 Dec 2008 23:41:17 +0000 (00:41 +0100)]
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
Jakub Jelinek [Mon, 22 Dec 2008 23:34:07 +0000 (00:34 +0100)]
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
Paul Thomas [Mon, 22 Dec 2008 23:16:44 +0000 (23:16 +0000)]
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
Paul Thomas [Mon, 22 Dec 2008 23:11:29 +0000 (23:11 +0000)]
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
Uros Bizjak [Mon, 22 Dec 2008 17:49:52 +0000 (18:49 +0100)]
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
Jerry DeLisle [Mon, 22 Dec 2008 14:53:37 +0000 (14:53 +0000)]
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
GCC Administrator [Mon, 22 Dec 2008 00:16:47 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r142882
Ben Elliston [Sun, 21 Dec 2008 22:51:59 +0000 (22:51 +0000)]
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
Andrew Pinski [Sun, 21 Dec 2008 22:27:18 +0000 (14:27 -0800)]
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
Jerry DeLisle [Sun, 21 Dec 2008 22:06:34 +0000 (22:06 +0000)]
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
Richard Sandiford [Sun, 21 Dec 2008 21:47:38 +0000 (21:47 +0000)]
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
Richard Sandiford [Sun, 21 Dec 2008 21:45:11 +0000 (21:45 +0000)]
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
Richard Sandiford [Sun, 21 Dec 2008 21:44:39 +0000 (21:44 +0000)]
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
Richard Sandiford [Sun, 21 Dec 2008 21:43:51 +0000 (21:43 +0000)]
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
Jerry DeLisle [Sun, 21 Dec 2008 21:23:52 +0000 (21:23 +0000)]
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
Jerry DeLisle [Sun, 21 Dec 2008 21:20:29 +0000 (21:20 +0000)]
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
Jason Merrill [Sun, 21 Dec 2008 21:12:13 +0000 (16:12 -0500)]
revert accidental checkin
From-SVN: r142869
Jason Merrill [Sun, 21 Dec 2008 21:01:48 +0000 (16:01 -0500)]
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
Arjen Markus [Sun, 21 Dec 2008 18:45:17 +0000 (19:45 +0100)]
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
Paolo Carlini [Sun, 21 Dec 2008 16:00:38 +0000 (16:00 +0000)]
2008-12-21 Paolo Carlini <paolo.carlini@oracle.com>
* Fix typo in last ChangeLog entry.
From-SVN: r142863
Paolo Carlini [Sun, 21 Dec 2008 15:56:22 +0000 (15:56 +0000)]
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
Jan Hubicka [Sun, 21 Dec 2008 13:28:26 +0000 (14:28 +0100)]
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
Uros Bizjak [Sun, 21 Dec 2008 11:50:59 +0000 (12:50 +0100)]
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
Denis Chertykov [Sun, 21 Dec 2008 06:16:02 +0000 (06:16 +0000)]
* config/avr/avr.md ("andsi3"): Fix wrong cc attribute.
From-SVN: r142856
GCC Administrator [Sun, 21 Dec 2008 00:16:52 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r142853
Eric Botcazou [Sat, 20 Dec 2008 22:32:30 +0000 (22:32 +0000)]
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
Jakub Jelinek [Sat, 20 Dec 2008 18:46:12 +0000 (19:46 +0100)]
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
Joel Sherrill [Sat, 20 Dec 2008 15:28:57 +0000 (15:28 +0000)]
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
GCC Administrator [Sat, 20 Dec 2008 00:17:04 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r142846
Jakub Jelinek [Fri, 19 Dec 2008 19:33:28 +0000 (20:33 +0100)]
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
Janis Johnson [Fri, 19 Dec 2008 18:12:40 +0000 (18:12 +0000)]
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
Andrew Haley [Fri, 19 Dec 2008 17:53:51 +0000 (17:53 +0000)]
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
Richard Earnshaw [Fri, 19 Dec 2008 17:31:12 +0000 (17:31 +0000)]
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
Richard Earnshaw [Fri, 19 Dec 2008 17:22:58 +0000 (17:22 +0000)]
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
Steve Ellcey [Fri, 19 Dec 2008 16:34:26 +0000 (16:34 +0000)]
* df-scan.c ( df_hard_reg_init): Move declaration of i.
From-SVN: r142836
Rainer Orth [Fri, 19 Dec 2008 14:59:42 +0000 (14:59 +0000)]
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
Jakub Jelinek [Fri, 19 Dec 2008 14:57:29 +0000 (15:57 +0100)]
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
Jakub Jelinek [Fri, 19 Dec 2008 14:55:42 +0000 (15:55 +0100)]
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
Ben Elliston [Fri, 19 Dec 2008 09:18:41 +0000 (09:18 +0000)]
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
GCC Administrator [Fri, 19 Dec 2008 00:16:45 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r142827
Joseph Myers [Thu, 18 Dec 2008 22:13:05 +0000 (22:13 +0000)]
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
Andrew Pinski [Thu, 18 Dec 2008 22:00:46 +0000 (22:00 +0000)]
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
Jack Howarth [Thu, 18 Dec 2008 21:08:28 +0000 (21:08 +0000)]
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
Jakub Jelinek [Thu, 18 Dec 2008 20:51:07 +0000 (21:51 +0100)]
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
Ralf Wildenhues [Thu, 18 Dec 2008 20:04:55 +0000 (20:04 +0000)]
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
Jason Merrill [Thu, 18 Dec 2008 15:54:59 +0000 (10:54 -0500)]
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
Jason Merrill [Thu, 18 Dec 2008 14:51:56 +0000 (09:51 -0500)]
re PR c++/38561 (Revision 142799 may cause C++ demangle failures)
PR c++/38561
* cp-demangle.c (d_expression, d_print_comp): Revert
cast changes.
From-SVN: r142814
Jason Merrill [Thu, 18 Dec 2008 14:31:01 +0000 (09:31 -0500)]
avoid target dependency
From-SVN: r142813
Jan Hubicka [Thu, 18 Dec 2008 13:52:45 +0000 (14:52 +0100)]
df-scan.c (persistent_obstack, [...]): Remove.
* df-scan.c (persistent_obstack, df_invalidated_by_call): Remove.
(df_scan_start_dump, df_get_call_refs, df_hard_reg_init): Rename
df_invalidated_by_call to invalidated_by_call_regset.
* df.h (df_invalidated_by_call): Remove.
* regclass.c (regs_invalidated_by_call_regset, persistent_obstack): New
variables.
(init_reg_sets_1): Initialize regs_invalidated_by_call_regset.
(globalize_reg): Likewise.
* df-problems.c (df_rd_local_compute, df_lr_confluence_n,
df_byte_lr_alloc): Rename df_invalidated_by_call to
invalidated_by_call_regset.
* basic-block.h (regs_invalidated_by_call_regset): Declare.
Co-Authored-By: Kai Tietz <kai.tietz@onevision.com>
From-SVN: r142812
Jan Hubicka [Thu, 18 Dec 2008 13:49:47 +0000 (14:49 +0100)]
ira-cost.c (copy_cost): Lazilly initialize move_cost if needed.
* ira-cost.c (copy_cost): Lazilly initialize move_cost if needed.
Co-Authored-By: Kai Tietz <kai.tietz@onevision.com>
From-SVN: r142811
Jan Hubicka [Thu, 18 Dec 2008 13:48:36 +0000 (14:48 +0100)]
i386.h (CONDITIONAL_REGISTER_USAGE): Initialize for current function ABI.
* i386.h (CONDITIONAL_REGISTER_USAGE): Initialize for current function
ABI.
* i386.c (ix86_call_abi_override): Do not trigger target re-init and
do not try to modify call used regs.
(ix86_maybe_switch_abi): New function.
(TARGET_EXPAND_TO_RTL_HOOK): New macro.
Co-Authored-By: Kai Tietz <kai.tietz@onevision.com>
From-SVN: r142810
Kenneth Zadeck [Thu, 18 Dec 2008 13:38:39 +0000 (13:38 +0000)]
re PR rtl-optimization/37922 (code generation error)
2008-12-18 Kenneth Zadeck <zadeck@naturalbridge.com>
PR rtl-optimization/37922
* dse.c (bb_info): Added regs_live field.
(look_for_hardregs): New function.
(replace_read): Added regs_live parameter and code to check that
shift sequence does not clobber live hardregs.
(check_mem_read_rtx): Added parameter to replace_read.
(dse_step1): Added regs_live bitmap and initialize it.
(rest_of_handle_dse): Added DF_NOTES problem and earlier call to
df_analyze.
* df-problems.c Renamed to
df_simulate_initialize_backwards.
(df_simulate_one_insn): Renamed to
df_simulate_one_insn_backwards.
(df_simulate_artificial_refs_at_top): Renamed to
df_simulate_finalize_backwards.
(df_simulate_initialized_forwards,
df_simulate_one_insn_forwards,
df_simulate_finalize_backwards): New functions.
* df.h (df_simulate_artificial_refs_at_end): Renamed to
df_simulate_initialize_backwards.
(df_simulate_one_insn): Renamed to
df_simulate_one_insn_backwards.
(df_simulate_artificial_refs_at_top): Renamed to
df_simulate_finalize_backwards.
(df_simulate_initialized_forwards,
df_simulate_one_insn_forwards,
df_simulate_finalize_backwards): New functions.
* ra-conflict.c (global_conflicts): Renamed
df_simulate_artificial_refs_at_end to
df_simulate_initialize_backwards.
* sel-sched.c (propagate_lv_set): Renamed df_simulate_one_insn to
df_simulate_one_insn_backwards.
* ifcvt.c (dead_or_predicable): Renamed
df_simulate_artificial_refs_at_end to
df_simulate_initialize_backwards. Renamed df_simulate_one_insn to
df_simulate_one_insn_backwards.
* recog.c (peephole2_optimize): Ditto.
* rtl-factoring (collect_pattern_seqs, clear_regs_live_in_seq): Ditto.
2008-12-18 Kenneth Zadeck <zadeck@naturalbridge.com>
PR rtl-optimization/37922
* g++.dg/torture/pr37922.C: New test.
From-SVN: r142809
Daniel Kraft [Thu, 18 Dec 2008 10:05:54 +0000 (11:05 +0100)]
re PR fortran/31822 (Missing run-time bound checks for character pointer => target)
2008-12-18 Daniel Kraft <d@domob.eu>
PR fortran/31822
* gfortran.h (gfc_check_same_strlen): Made public.
* trans.h (gfc_trans_same_strlen_check): Made public.
* check.c (gfc_check_same_strlen): Made public and adapted error
message output to be useful not only for intrinsics.
(gfc_check_merge): Adapt to gfc_check_same_strlen change.
* expr.c (gfc_check_pointer_assign): Use gfc_check_same_strlen for
string length compile-time check.
* trans-expr.c (gfc_trans_pointer_assignment): Add runtime-check for
equal string lengths using gfc_trans_same_strlen_check.
* trans-intrinsic.c (gfc_trans_same_strlen_check): Renamed and made
public from conv_same_strlen_check.
(gfc_conv_intrinsic_merge): Adapted accordingly.
2008-12-18 Daniel Kraft <d@domob.eu>
PR fortran/31822
* gfortran.dg/char_pointer_assign_2.f90: Updated expected error message
to be more detailed.
* gfortran.dg/char_pointer_assign_4.f90: New test.
* gfortran.dg/char_pointer_assign_5.f90: New test.
From-SVN: r142808
Jakub Jelinek [Thu, 18 Dec 2008 07:54:43 +0000 (08:54 +0100)]
re PR middle-end/38533 (tree-ssa-reassoc.c increases register pressure several times)
PR middle-end/38533
* tree-ssa-reassoc.c (remove_visited_stmt_chain): New function.
(rewrite_expr_tree): Add moved argument, move stmts together if
needed. Call remove_visited_stmt_chain.
(linearize_expr_tree): Don't move stmts here.
(reassociate_bb): Call remove_visited_stmt_chain if num ops is 1.
Adjust rewrite_expr_tree caller.
* gcc.dg/tree-ssa/pr38533.c: New test.
* gcc.c-torture/execute/pr38533.c: New test.
From-SVN: r142807
Jakub Jelinek [Thu, 18 Dec 2008 07:52:07 +0000 (08:52 +0100)]
re PR middle-end/38505 (Revision 142061 caused ICE on __builtin_memcpy)
PR middle-end/38505
* tree-ssa.c (useless_type_conversion_p_1): Return
false if inner_type is incomplete and outer_type is complete.
* gcc.c-torture/compile/pr38505.c: New test.
From-SVN: r142806
Ben Elliston [Thu, 18 Dec 2008 03:27:27 +0000 (03:27 +0000)]
* config.sub, config.guess: Update from upstream sources.
From-SVN: r142805
GCC Administrator [Thu, 18 Dec 2008 00:16:47 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r142803
Jason Merrill [Wed, 17 Dec 2008 19:08:14 +0000 (14:08 -0500)]
semantics.c (describable_type): New function.
gcc/cp:
* semantics.c (describable_type): New function.
(finish_decltype_type): Use it for dependent exprs.
* cp-tree.h: Declare it.
* mangle.c (write_type) [DECLTYPE_TYPE]: Set skip_evaluation.
(write_expression): If skip_evaluation, use type stubs.
* tree.c (cp_tree_equal): Handle PARM_DECLs from different
declarations of a function.
* init.c (build_new): Do auto deduction if type is describable.
* decl.c (cp_finish_decl): Likewise.
* parser.c (cp_parser_omp_for_loop): Likewise.
gcc/testsuite:
* g++.dg/cpp0x/auto6.C: Test more stuff.
* g++.dg/cpp0x/auto12.C: New test.
libiberty:
* cp-demangle.c (d_expression): Handle rvalue stubs too.
[DEMANGLE_COMPONENT_CAST]: Update mangling.
(d_print_comp): Avoid extra ", " with empty template argument packs.
Remove handling for obsolete T() mangling.
From-SVN: r142799
Sebastian Pop [Wed, 17 Dec 2008 18:56:33 +0000 (18:56 +0000)]
install.texi (Prerequisites): Document PPL and CLooG-PPL dependences and the configure options.
2008-12-17 Sebastian Pop <sebastian.pop@amd.com>
* doc/install.texi (Prerequisites): Document PPL and CLooG-PPL
dependences and the configure options.
(Configuration): Document --with-cloog, --with-ppl, --with-cloog-lib,
--with-ppl-lib, --with-cloog-incude, --with-ppl-include.
From-SVN: r142798
Jack Howarth [Wed, 17 Dec 2008 17:51:49 +0000 (17:51 +0000)]
c99_classification_macros_c.cc: Don't xfail test on darwin8 or later.
2008-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
* testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
Don't xfail test on darwin8 or later.
From-SVN: r142797
H.J. Lu [Wed, 17 Dec 2008 17:05:05 +0000 (09:05 -0800)]
re PR middle-end/38556 (Revision 142792 breaks bootstrap)
2008-12-17 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/38556
* calls.c (expand_call): Check outgoing_reg_parm_stack_space
only if REG_PARM_STACK_SPACE is defined.
From-SVN: r142794
Jan Hubicka [Wed, 17 Dec 2008 12:03:04 +0000 (13:03 +0100)]
calls.c (expand_call): Do not sibcall if outgoing_reg_parm_stack_space does not match.
* calls.c (expand_call): Do not sibcall if
outgoing_reg_parm_stack_space does not match.
Co-Authored-By: Kai Tietz <kai.tietz@onevision.com>
From-SVN: r142792
Daniel Kraft [Wed, 17 Dec 2008 10:16:28 +0000 (11:16 +0100)]
re PR fortran/38137 (MERGE: -fbounds-check runtime check for same string length)
2008-12-17 Daniel Kraft <d@domob.eu>
PR fortran/38137
* trans-intrinsic.c (conv_same_strlen_check): New method.
(gfc_conv_intrinsic_merge): Call it here to actually do the check.
2008-12-17 Daniel Kraft <d@domob.eu>
PR fortran/38137
* gfortran.dg/merge_char_3.f90: New test.
From-SVN: r142791
GCC Administrator [Wed, 17 Dec 2008 00:17:41 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r142789
Anatoly Sokolov [Tue, 16 Dec 2008 21:05:59 +0000 (00:05 +0300)]
avr.c (avr_mcu_t): Add attiny87...
* config/avr/avr.c (avr_mcu_t): Add attiny87, attiny327, at90pwm81,
atmega16m1, at90scr100, atmega128rfa1, m3000f, m3000s and m3001b
devices.
* config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
From-SVN: r142783
Jack Howarth [Tue, 16 Dec 2008 18:54:30 +0000 (18:54 +0000)]
c99_classification_macros_c.cc: Don't xfail excessive errors on darwin8 or later.
2008-12-16 Jack Howarth <howarth@bromo.med.uc.edu>
* testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
Don't xfail excessive errors on darwin8 or later.
From-SVN: r142782
Hariharan Sandanagobalane [Tue, 16 Dec 2008 16:30:26 +0000 (16:30 +0000)]
re PR preprocessor/38842 (Problem with SystemC compilation using GCC 4.3.2)
PR target/38842
* config/picochip/picochip.opt (mae): Squeezed the comments onto one
line.
From-SVN: r142781
Rainer Orth [Tue, 16 Dec 2008 13:09:57 +0000 (13:09 +0000)]
configure.ac (gcc_cv_ld_hidden): Sun ld on Solaris 9 and up supports hidden.
* configure.ac (gcc_cv_ld_hidden): Sun ld on Solaris 9 and up
supports hidden.
* configure: Regenerate.
From-SVN: r142779
Richard Earnshaw [Tue, 16 Dec 2008 12:03:41 +0000 (12:03 +0000)]
re PR target/37436 (arm-cross-g++. internal compiler error: in extract_insn, at recog.c:1990)
PR target/37436
* arm.c (arm_legitimate_index): Only accept addresses that are in
canonical form.
* predicates.md (arm_reg_or_extendqisi_mem_op): New predicate.
* arm.md (extendqihi2): Use arm_reg_or_extendqisi_mem_op predicate
for operand1.
(extendqisi2): Likewise.
(arm_extendqisi, arm_extendqisi_v6): Use arm_extendqisi_mem_op
predicate for operand1.
From-SVN: r142778
Benjamin Kosnik [Tue, 16 Dec 2008 01:28:46 +0000 (01:28 +0000)]
cstdatomic: Remove assert include.
2008-12-15 Benjamin Kosnik <bkoz@redhat.com>
* include/c_global/cstdatomic: Remove assert include.
* include/debug/debug.h: Consolidate __replacement_assert...
* include/parallel/base.h: Consolidate __replacement_assert...
* include/bits/c++config: ...here.
* include/bits/atomic_0.h: Use it.
* include/bits/atomic_2.h: Same.
* testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust line numbers.
* testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
From-SVN: r142777
GCC Administrator [Tue, 16 Dec 2008 00:17:29 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r142775
Adam Nemet [Mon, 15 Dec 2008 21:59:51 +0000 (21:59 +0000)]
mips.c (mips_output_conditional_branch): Assert that openrands[1] is a CODE_LABEL.
* config/mips/mips.c (mips_output_conditional_branch): Assert that
openrands[1] is a CODE_LABEL.
From-SVN: r142772
Richard Sandiford [Mon, 15 Dec 2008 21:23:37 +0000 (21:23 +0000)]
mips.c (mips_expand_builtin_direct): Set TARGET to the result of mips_prepare_builtin_target.
gcc/
* config/mips/mips.c (mips_expand_builtin_direct): Set TARGET to
the result of mips_prepare_builtin_target.
From-SVN: r142771
Richard Sandiford [Mon, 15 Dec 2008 21:11:09 +0000 (21:11 +0000)]
mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_abicalls if TARGET_ABICALLS is true.
gcc/
* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_abicalls
if TARGET_ABICALLS is true.
From-SVN: r142770
Richard Sandiford [Mon, 15 Dec 2008 21:10:00 +0000 (21:10 +0000)]
mips.md (move_doubleword_fpr<mode>): Use TARGET_FLOAT64 && !TARGET_64BIT to detect the mxhc1 case.
gcc/
* config/mips/mips.md (move_doubleword_fpr<mode>): Use
TARGET_FLOAT64 && !TARGET_64BIT to detect the mxhc1 case.
From-SVN: r142769
Steve Ellcey [Mon, 15 Dec 2008 18:11:19 +0000 (18:11 +0000)]
inclhack.def (hpux_spu_info): Match PA as well as IA64.
* inclhack.def (hpux_spu_info): Match PA as well as IA64.
* fixincl.x: Regenerate.
From-SVN: r142767
Mikael Morin [Mon, 15 Dec 2008 18:08:42 +0000 (19:08 +0100)]
re PR fortran/38487 (Bogus Warning: INTENT(INOUT) actual argument might interfere with actual argument)
2008-12-15 Mikael Morin <mikael.morin@tele2.fr>
PR fortran/38487
* gfortran.dg/elemental_dependency_2.f90: New test.
2008-12-15 Mikael Morin <mikael.morin@tele2.fr>
PR fortran/38487
* dependency.c (gfc_is_data_pointer): New function.
(gfc_check_argument_var_dependency): Disable the warning
in the pointer case.
(gfc_check_dependency): Use gfc_is_data_pointer.
From-SVN: r142766
Hariharan Sandanagobalane [Mon, 15 Dec 2008 16:20:44 +0000 (16:20 +0000)]
picochip.c (picochip_override_options): Disable CFI asm and change the signature of brev and byteSwap functions to use...
* config/picochip/picochip.c (picochip_override_options): Disable CFI
asm and change the signature of brev and byteSwap functions to use
unsigned values.
* config/picochip/picochip.md (commsTestPort): This is a complex
instruction and should not be vliwed. Dont set insn type.
From-SVN: r142765
Mikael Morin [Mon, 15 Dec 2008 14:46:22 +0000 (15:46 +0100)]
re PR fortran/38113 (on warning/error: skip whitespaces, move position marker to actual variable name)
2008-12-15 Mikael Morin <mikael.morin@tele2.fr>
PR fortran/38113
* error.c (show_locus): Start counting columns at 0.
* primary.c (match_actual_arg): Eat spaces
before copying the current locus.
(match_variable): Copy the locus before matching.
From-SVN: r142763
Wolfgang Gellerich [Mon, 15 Dec 2008 14:24:03 +0000 (14:24 +0000)]
s390.c (s390_swap_cmp): New function.
2008-12-15 Wolfgang Gellerich <gellerich@de.ibm.com>
* config/s390/s390.c (s390_swap_cmp): New function.
(s390_non_addr_reg_read_p): New function.
(s390_z10_optimize_cmp): New function.
(s390_reorg): Added call to s390_optimize_cmp.
* config/s390/s390.md (nop1): New insn.
From-SVN: r142762
GCC Administrator [Mon, 15 Dec 2008 00:16:51 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r142760
Uros Bizjak [Sun, 14 Dec 2008 19:51:03 +0000 (20:51 +0100)]
i386-5.C: Include x86intrin.h.
* g++.dg/other/i386-5.C: Include x86intrin.h.
* g++.dg/other/i386-6.C: Ditto.
From-SVN: r142752
Paul Thomas [Sun, 14 Dec 2008 16:00:25 +0000 (16:00 +0000)]
re PR fortran/35937 (Wrong type for charlength of function)
2008-12-14 Paul Thomas <pault@gcc.gnu.org>
PR fortran/35937
* trans-expr.c (gfc_finish_interface_mapping): Fold convert the
character length to gfc_charlen_type_node.
2008-12-14 Paul Thomas <pault@gcc.gnu.org>
PR fortran/35937
* gfortran.dg/char_length_14.f90: New test.
From-SVN: r142750