2004-10-09 Roger Sayle <roger@eyesopen.com>
PR rtl-optimization/17853
* simplify-rtx.c (simplify_relational_operation): Correct comment.
Reorganize handling of comparison operations with floating point
results (always return 0.0 even without FLOAT_STORE_FLAG_VALUE).
Likewise, introduce support for comparison operations with vector
result types, introducing a new VECTOR_STORE_FLAG_VALUE target macro.
* doc/rtl.texi: Document new VECTOR_STORE_FLAG_VALUE target macro.
* doc/tm.texi: Likewise.
2004-10-09 Stuart Hastings <stuart@apple.com>
Roger Sayle <roger@eyesopen.com>
PR rtl-optimization/17853
* gcc.dg/i386-mmx-5.c: New testcase.
From-SVN: r88826
PR middle-end/17894
* fold-const.c (fold_div_compare): When optimizing X/C1 op C2, the
relational comparison operator op needs to be swapped/reversed when
C1 is negative. i.e. X/-10 < 1 becomes X >= -9, not X < -9.
* gcc.c-torture/execute/divcmp-4.c: New test case.
From-SVN: r88818
2004-10-09 Paolo Carlini <pcarlini@suse.de>
* include/std/std_memory.h (__get_temporary_buffer): Don't use
INT_MAX, prefer numeric_limits<ptrdiff_t>::max(), ok on 64-bit
platforms too.
* testsuite/20_util/memory/auto_ptr/assign_neg.cc: Adjust dg-error
line numbers.
From-SVN: r88814
* cfgexpand.c (maybe_dump_rtl_for_tree_stmt): New function.
(expand_gimple_cond_expr, expand_gimple_tailcall,
expand_gimple_basic_block): Use it to dump RTL for each stmt.
(tree_expand_cfg): Announce full RTL function dump.
* tree-optimize.c (execute_one_pass): Use normal RTL printing,
not the graph version.
* tree-pretty-print.c (dump_generic_node): Allow empty statements
in the arms of a COND_EXPR for lowered nodes.
From-SVN: r88800
* c-lex.c (interpret_float): Give a pedwarn rather than a warning
for an out-of-range floating point constant.
* builtins.c (fold_builtin_inf): Give a pedwarn rather than a
warning if the target format does not support infinities.
testsuite:
* gcc.dg/float-range-1.c, gcc.dg/float-range-2.c: New tests.
From-SVN: r88793
2004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
PR c/16999
* c-ppoutput.c (cb_ident): Don't quote string as it is already
quoted.
* gcc.dg/cpp/ident-1.c: New test.
From-SVN: r88773
2004-10-08 Andreas Krebbel <krebbel1@de.ibm.com>
* config/s390/s390.c (s390_register_info): Don't save fprs for
-msoft-float.
(s390_conditional_register_usage): Make fprs 'fixed' for -msoft-float.
From-SVN: r88764
* builtins.c (expand_builtin_mempcpy): Move tree handling code to
fold_builtin_mempcpy. Accept a type parameter. Delete duplicate
code.
(expand_builtin_strcat): Accept a type parameter.
(fold_builtin_mempcpy): Accept a type and endp parameter.
From-SVN: r88762
.: * tree-tailcall.c (tree_optimize_tail_calls_1): Use fold_convert,
reverting my 2004-09-07 patch to use build_int_cst.
testsuite:
* gcc.c-torture/compile/acc1.c: New.
From-SVN: r88759
2004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
* archive.c: Fix all the warnings about passing unsigned char*
to char* and the other way too.
From-SVN: r88758
2004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
* gcc.dg/darwin-longdouble.c: Include stdlib.h and string.h.
* gcc.dg/darwin-abi-2.c: Include stdlib.h.
From-SVN: r88757
PR target/17245
* config/sparc/sparc.c (input_operand): Remove redundant code
for handling LO_SUM.
(legitimate_address_p) <REG+REG>: Do not recheck TARGET_V9.
<LO_SUM>: If LO_SUM is offsettable, accept it for TFmode on V9.
Otherwise only accept it for TFmode if quad move insns are available.
From-SVN: r88753
2004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
* pch.c (cpp_write_pch_state): Remove variable z as it is not
used.
(cpp_read_state): Remove unused variables, m, d and mac_count.
From-SVN: r88748
* config/sh/sh.md (tls_global_dynamic): Use MEM pattern for the
first argument of CALL.
(tls_local_dynamic): Likewise.
* config/sh/sh.md (prefetch_media, prefetch_i4): New insns.
(prefetch): Convert to expander.
From-SVN: r88747
* c-typeck.c (enum impl_conv): New.
(convert_for_assignment): Use it. Take tree for function called
instead of its name. Handle ObjC selectors for diagnostics at
start of function. Select diagnostic text within the function
using full sentences for diagnsotics. Use %qE to name functions
in diagnostics.
(convert_arguments, build_modify_expr,
c_convert_parm_for_inlining, digest_init, c_finish_return): Update
callers to convert_for_assignment.
(warn_for_assignment): Remove.
testsuite:
* gcc.dg/assign-warn-1.c, gcc.dg/assign-warn-2.c: New tests.
* gcc.dg/warn-1.c, gcc.dg/noncompile/20020213-1.c,
objc.dg/method-9.m: Update expected diagnostics.
From-SVN: r88741