2007-07-20 Richard Guenther <rguenther@suse.de>
* tree-cfg.c (verify_expr): COND_EXPRs can have any
integral typed condition.
* tree-ssa.c (useless_type_conversion_p): Do not preserve
booleanness. Only preserve conversions from a non-base
type to a base type, not in general between types with
different TYPE_MIN_VALUE or TYPE_MAX_VALUE.
* tree.def (COND_EXPR): Document that the condition
can be of any integral type.
From-SVN: r126804
gcc/
2007-07-20 Nigel Stephens <nigel@mips.com>
Richard Sandiford <richard@codesourcery.com>
* config/mips/mips.h (mips_dwarf_regno): Declare.
(DBX_REGISTER_NUMBER): Remove redundant brackets.
(HI_REGNUM, LO_REGNUM): Define in an endian-dependent way.
(AC1HI_REGNUM, AC1LO_REGNUM, AC2HI_REGNUM, AC2LO_REGNUM)
(AC3HI_REGNUM, AC3LO_REGNUM, ACC_HI_REG_P): Delete.
(reg_class): Rename HI_REG to MD0_REG and LO_REG to MD1_REG.
(REG_CLASS_NAMES): Update accordingly.
* config/mips/mips.c (mips_dwarf_regno): New array.
(mips_regno_to_class): Rename HI_REG to MD0_REG and LO_REG to MD1_REG.
(mips_subword): Remove special handling for accumulator registers.
(override_options): Initiailize mips_dwarf_regno. Remove use
of ACC_HI_REG_P.
(mips_swap_registers): New function.
(mips_conditional_register_usage): Swap accumulator registers
around if TARGET_LITTLE_ENDIAN.
(mips_cannot_change_mode_class): Remove special treatment of ACC_REGS.
* config/mips/constraints.md (h, l): Use the endianness to choose
between MD0_REG and MD1_REG.
* config/mips/mips.md (*mfhilo_<mode>_macc): Use a fixed-string,
alternative-dependent template.
Co-Authored-By: Richard Sandiford <richard@codesourcery.com>
From-SVN: r126801
* tree-ssa-loop-niter.c (assert_loop_rolls_lt): Convert the operands
of compare to the same type.
* cfgloopmanip.c (add_loop): Update information about loop exits.
(loop_version): Remove the innermost loop requirement.
* tree-ssa-loop-manip.c (determine_exit_conditions): Convert bounds
to sizetype for pointers.
From-SVN: r126796
2007-07-18 Christopher D. Rickett <crickett@lanl.gov>
PR fortran/32801
* symbol.c (generate_isocbinding_symbol): Fix bug where
ISOCBINDING_FUNPTR was generated for C_LOC instead of the needed
ISOCBINDING_PTR.
2007-07-18 Christopher D. Rickett <crickett@lanl.gov>
PR fortran/32801
* gfortran.dg/pr32801.f03: New test case.
From-SVN: r126732
2007-07-18 Caroline Tice <ctice@apple.com>
* var-tracking.c (find_src_status): Check for COND_EXEC insns
and handle them correctly; check that src is not NULL before
trying to use it.
(find_src_set_src): Likewise.
From-SVN: r126731
2007-07-19 Christoph von Wittich <Christoph_vW@reactos.org>
Danny Smith <dannysmith@users.sourceforge.net>
PR/other 30335
* config/i386/host-mingw32.c (mingw32_gt_pch_use_address): Put
file mapping object in local namespace if Windows version later
than NT4
Co-Authored-By: Danny Smith <dannysmith@users.sourceforge.net>
From-SVN: r126719
* parse.y: Change copyright header to refer to version 3 of the GNU
General Public License and to point readers at the COPYING3 file.
* lex.l: Likewise.
* lang.opt: Likewise.
* lang-specs.h: Likewise.
* treelang.h: Likewise.
* config-lang.in: Likewise.
* tree-convert.c: Likewise.
* treetree.c: Likewise.
* tree1.c: Likewise.
* Make-lang.in: Likewise.
* treetree.h: Likewise.
* spec.c: Likewise.
From-SVN: r126713
2007-07-17 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31320
PR fortran/32665
* trans-expr.c (gfc_trans_subcomponent_assign): Ensure that
renormalization unity base is done independently of existing
lbound value.
(gfc_trans_scalar_assign): If rhs is not a variable, put
lse->pre after rse->pre to ensure that de-allocation of lhs
occurs after evaluation of rhs.
2007-07-17 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31320
PR fortran/32665
* gfortran.dg/alloc_comp_constructor_3.f90: New test.
From-SVN: r126703
* COPYING_v3: New file. Contains version 3 of the GNU General Public License.
* COPYING.LIB_v3: New file. Contains version 3 of the GNU Lesser General Public License.
* gpl_v3.texi: New file. Contains a texinfo formated copy of the GNU General Public License, version 3.
From-SVN: r126701
PR rtl-optimization/32773
* cfglayout.c (force_one_exit_fallthru): New function.
(cfg_layout_finalize): Use it.
* gcc.dg/pr32773.c: New test.
From-SVN: r126700
2007-07-16 Andrew Pinski <andrew_pinski@playstation.sony.com>
* gcc.target/spu/intrinsics-1.c: Use dg-message to
match flax-vector-conversions note.
* gcc.target/spu/fixed-range-bad.c: Use dg-warning
instead of dg-error for the warning.
From-SVN: r126699
2007-07-16 Rask Ingemann Lambertsen <rask@sygehus.dk>
* gcc.c-torture/execute/20061101-2.c: Variant of 20061101-1.c
adapted to work on targets with 16-bit or wider int.
* gcc.c-torture/execute/pr29797-2.c: Likewise for pr29797-1.c.
* gcc.c-torture/execute/pr31448-2.c: Likewise for pr31448.c.
* gcc.dg/20061109-2.c: Likewise for 20061109-1.c.
* gcc.dg/pr27959-2.c: Likewise for pr27959.c.
From-SVN: r126693
2007-07-16 Rask Ingemann Lambertsen <rask@sygehus.dk>
* gcc.dg/tree-ssa/ltrans-5.c: Only run test on targets which
support large arrays.
* gcc.dg/pr27959.c: Only run test if an int is at least 32 bits wide.
* gcc.dg/20061109-1.c: Likewise.
* gcc.c-torture/execute/20061101-1.x: Likewise.
* gcc.c-torture/execute/pr29797-1.x: Likewise.
* gcc.c-torture/execute/pr31448.x: Likewise.
From-SVN: r126691
PR fortran/32222
PR fortran/32238
PR fortran/32242
* trans-intrinsic.c (gfc_conv_intrinsic_function_args): Adjust
to operate on a stack allocated array for the intrinsic arguments
instead of creating a TREE_LIST. Add two new parameters for the
array and the number of elements. Update all callers to allocate
an array of the correct length to pass in. Update comment.
(gfc_intrinsic_argument_list_length): New function.
(gfc_conv_intrinsic_conversion): Call it.
(gfc_conv_intrinsic_mnimax): Likewise.
(gfc_conv_intrinsic_merge): Likewise.
(gfc_conv_intrinsic_lib_function): Call it. Use new CALL_EXPR
constructors.
(gfc_conv_intrinsic_cmplx): Likewise.
(gfc_conv_intrinsic_ctime): Likewise.
(gfc_covn_intrinsic_fdate): Likewise.
(gfc_conv_intrinsic_ttynam): Likewise.
(gfc_conv_intrinsic_ishftc): Likewise.
(gfc_conv_intrinsic_index): Likewise.
(gfc_conv_intrinsic_scan): Likewise.
(gfc_conv_intrinsic_verify): Likewise.
(gfc_conv_intrinsic_trim): Likewise.
(gfc_conv_intrinsic_aint): Use new CALL_EXPR constructors.
(gfc_conv_intrinsic_exponent): Likewise.
(gfc_conv_intrinsic_bound): Likewise.
(gfc_conv_intrinsic_abs): Likewise.
(gfc_conv_intrinsic_mod): Likewise.
(gfc_conv_intrinsic_sign): Likewise.
(gfc_conv_intrinsic_len): Likewise.
(gfc_conv_intrinsic_adjust): Likewise.
(gfc_conv_intrinsic_si_kind): Likewise.
* gfortran.dg/cmplx_intrinsic_1.f90: New test.
PR fortran/32238
* gfortran.dg/pr32238.f90: New test.
PR fortran/32222
* gfortran.dg/pr32222.f90: New test.
PR fortran/32242
* gfortran.dg/pr32242.f90: New test.
From-SVN: r126689
2007-07-16 Sandra Loosemore <sandra@codesourcery.com>
David Ung <davidu@mips.com>
gcc/
* config/mips/mips.h (TUNE_24K): Define.
(TUNE_MACC_CHAINS): Add TUNE_24K.
* config/mips/mips.md: (*mul_acc_si, *mul_sub_si): Change type to
imadd.
* config/mips/74k.md (r74k_int_mult): Split madd/msub to ..
(r74k_int_madd): .. this new reservation.
(define_bypass): Fixed bypasses for r74k_int_madd to use
mips_linked_madd_p.
* config/mips/24k.md (define_bypass): Define new
r24k_int_mul3->r24k_int_madd bypass using mips_linked_madd_p.
gcc/testsuite/
* gcc.target/mips/mips-sched-madd.c: New test case.
Co-Authored-By: David Ung <davidu@mips.com>
From-SVN: r126688