* config.gcc (sh*-superh-elf, sh*elf (newlib)): Use newlib.h
when building with libgloss.
(sh*elf): Implement --without-fp option.
(sh64-superh-linux*): Don't multilib.
From-SVN: r111933
2006-03-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/26499
* gfortran.dg/write_back.f: New test.
* gfortran.dg/write_rewind_1.f: New test.
* gfortran.dg/write_rewind_2.f: New test.
From-SVN: r111925
2006-03-09 Andrew Pinski <pinskia@physics.uc.edu>
* tree-ssa-phiopt.c (tree_ssa_phiopt): Add cfgchanged variable.
Set it when one of the replacement functions returned true.
Return TODO_cleanup_cfg if cfgchanged is true.
(pass_phiopt) <todo_flags_finish>: Remove TODO_cleanup_cfg.
From-SVN: r111920
fortran/
2006-03-09 Erik Edelmann <eedelman@gcc.gnu.org>
* trans-expr.c (gfc_add_interface_mapping): Copy 'allocatable'
attribute from sym to new_sym. Call build_fold_indirect_ref()
for allocatable arguments.
testsuite/
2006-03-09 Erik Edelmann <eedelman@gcc.gnu.org>
* gfortran.dg/allocatable_dummy_1.f90: Test for functions returning
arrays too.
From-SVN: r111910
* config/mips/mips-protos.h (mips_output_conditional_branch): Change
interface.
(mips_output_order_conditional_branch): Declare.
* config/mips/mips.h (MIPS_BRANCH): New macro.
* config/mips/mips.c (gen_conditional_branch): Use VOIDmode
for the comparison. Use gen_condjump.
(mips_output_conditional_branch): Rework interface to take the
asm templates for a direct branch and the inverse of a direct branch.
(mips_output_order_conditional_branch): New function.
(mips_builtin_branch_and_move): New function.
(mips_expand_builtin_compare): Use it. Use VOIDmode for the
branch condition. Use gen_single_cc as the condition for
__builtin_mips_upper_* or __builtin_mips_lower_*.
(mips_expand_builtin_bposge): Use mips_builtin_branch_and_move.
Use VOIDmode for the branch condition.
* config/mips/predicates.md (order_operator): New predicate.
* config/mips/mips.md (UNSPEC_SINGLE_CC): New constant.
(branch_fp): Rename to...
(*branch_fp): ...this. Remove mode from comparison operator.
Use new mips_output_conditional_branch interface.
(branch_fp_inverted): Rename to...
(*branch_fp_inverted): ...this and update as for *branch_fp.
(*branch_zero<mode>): Rename to...
(*branch_order<mode>): ...this. Remove mode from comparison operator.
Use mips_output_order_conditional_branch. Only accept ordered
comparisons.
(*branch_zero<mode>_inverted): Rename to...
(*branch_order<mode>_inverted): ...this and update as for
*branch_order<mode>.
(*branch_equality<mode>): Accept zero as the second operand to
the equality operator. Use the new mips_output_conditional_branch
interface.
(*branch_equality<mode>_inverted): Likewise.
(condjump): New expander.
* config/mips/mips-dsp.md (mips_bposge): Remove mode from comparison
operator.
* config/mips/mips-ps-3d.md (bc1any4t, bc1any4f): Likewise.
(bc1any2t, bc1any2f): Likewise.
(single_cc): New expander.
(*branch_upper_lower, *branch_upper_lower_inverted): New patterns.
From-SVN: r111909
* fold-const.c (build_range_check): Make sure to use a valid type to
apply the "(c>=low) && (c<=high) into (c-low>=0) && (c-low<=high-low)"
transformation.
(range_predecessor): New static function.
(range_successor): Likewise.
(merge_ranges): Use them to compute predecessors and successors of
range bounds.
From-SVN: r111866
2006-03-09 Roger Sayle <roger@eyesopen.com>
Eric Botcazou <ebotcazou@libertysurf.fr>
PR middle-end/26561
* fold-const.c (fold_div_compare): When optimizing X/C1 op C2 as
X op C3, consider whether C3 overflows towards +Inf or -Inf.
* gcc.c-torture/execute/divcmp-5.c: New test case.
Co-Authored-By: Eric Botcazou <ebotcazou@libertysurf.fr>
From-SVN: r111862
2006-03-09 Paul Thomas <pault@gcc.gnu.org>
PR fortran/26257
* trans-array.c (gfc_conv_expr_descriptor): Exclude calculation of
the offset and data when se->data_not_needed is set.
* trans.h: Include the data_not_need bit in gfc_se.
* trans-intrinsic.c (gfc_conv_intrinsic_size): Set it for SIZE.
2006-03-09 Paul Thomas <pault@gcc.gnu.org>
* PR fortran/26257
gfortran.dg/auto_char_len_3.f90: New test
From-SVN: r111860
2006-03-08 Andreas Tobler <a.tobler@schweiz.ch>
* dwarf2out.c (expand_builtin_dwarf_sp_column): Make dwarf_regnum
unsigned to fix signed/unsigned comparison issue in
DWARF2_FRAME_REG_OUT.
(expand_builtin_init_dwarf_reg_sizes): Make i unsigned to fix signed/
unsigned comparison issue in DWARF2_FRAME_REG_OUT.
From-SVN: r111850
2006-03-08 Andreas Tobler <a.tobler@schweiz.ch>
* tree-ssa-operands.c (finalize_ssa_def_ops): Move the declaration
of ptr into the ENABLE_CHECKING section.
From-SVN: r111849
* tree-vrp.c (infer_value_range): Only count pointer uses
and dereferences if -fdelete-null-pointer-checks is enabled.
* tree-vrp.c (find_assert_locations): Infer value ranges for
single use pointers, but do not create ASSERT_EXPRs for them.
When a non-null range is inferred for a pointer, backwards
propagate that range to other equivalent pointers through the
use-def chain.
* gcc.dg/tree-ssa/20030730-1.c: No longer expected to fail.
* gcc.dg/tree-ssa/20030730-2.c: No longer expected to fail.
* g++.dg/tree-ssa/pr26406.C: New test.
From-SVN: r111848
2006-03-08 Paolo Carlini <pcarlini@suse.de>
Implement the resolution of DR 455, [DR].
* src/ios_init.cc (ios_base::Init::Init()): Do it.
* testsuite/27_io/objects/char/dr455.cc: New.
* testsuite/27_io/objects/wchar_t/dr455.cc: Likewise.
* docs/html/ext/howto.html: Add an entry for DR 455.
From-SVN: r111842
PR libgcj/26103:
* java/lang/ClassLoader.java (loadClass): Don't throw
StringIndexOutOfBoundsException if name is empty.
* java/lang/natClassLoader.cc (loadClassFromSig): Throw exception
if class not found.
From-SVN: r111820