PR 33738
* tree-vrp.c (vrp_evaluate_conditional): With
-Wtype-limits, emit a warning when comparing against a
constant outside the natural range of OP0's type.
* c.opt (Wtype-limits): Move ...
* common.opt (Wtype-limits): ... here.
testsuite/ChangeLog
PR 33738
* g++.dg/warn/pr33738.C: New.
From-SVN: r132591
2008-02-21 Edmar Wienskoski <edmar@freescale.com>
* config.gcc (powerpc*-*-*): Add new cores e300c2 and e300c3.
* config/rs6000/e300c2c3.md: New file.
* config/rs6000/rs6000.c (processor_costs): Add new costs for
e300c2 and e300c3.
(rs6000_override_options): Add e300c2 and e300c3 cases to
processor_target_table. Do not allow usage of Altivec or Spe
with e300 cores. Initialize rs6000_cost for e300c2 and e300c3.
(rs6000_issue_rate): Set issue rate for e300c2 and e300c3.
* config/rs6000/rs6000.h (processor_type): Add
PROCESSOR_PPCE300C2 and PROCESSOR_PPCE300C3.
(ASM_CPU_SPEC): Add e300c2 and e300c3.
* config/rs6000/rs6000.md (define_attr "cpu"): Add ppce300c2
and ppce300c3. Include e300c2c3.md.
From-SVN: r132589
2008-02-23 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR pch/35027
* c-pch.c (c_common_valid_pch): Make the "too short to be a PCH
file" warning condtional on -Winvalid-PCH.
From-SVN: r132574
PR target/22076
PR target/34256
* config/i386/mmx.md (*mov<mode>_internal_rex64): Use "!y" to
prevent reload from using MMX registers.
(*mov<mode>_internal): Ditto.
(*movv2sf_internal_rex64): Ditto.
(*movv2sf_internal): Ditto.
testsuite/ChangeLog:
PR target/22076
PR target/34256
* gcc.target/i386/pr22076.c: New test.
* gcc.target/i386/pr34256.c: New test.
* gcc.target/i386/vecinit-5.c: New test.
* gcc.target/i386/vecinit-6.c: New test.
* gcc.target/i386/vecinit-[1-4].c: Check that no MMX register is used.
* g++.dg/compat/struct-layout-1.h: Do not include <mmintrin.h> and
<xmmintrin.h>, define __m64 and __m128 directly.
* g++.dg/compat/struct-layout-1_generate.c: Add -mno-mmx for x86.
From-SVN: r132572
* config/rs6000/rs6000.c (rs6000_legitimize_address): Check to
ensure that we can address an entire entity > 8 bytes. Don't
generate reg+reg addressing for such data.
From-SVN: r132567
* config/rs6000/rs6000.h (CONSTANT_ALIGNMENT): Don't overalign
strings when optimizing for size, unless the target cares about
alignment.
From-SVN: r132566
2008-02-22 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR C++/34715
* decl.c (duplicate_decls): Merge DECL_DISREGARD_INLINE_LIMITS for
template decls' function decl.
2008-02-22 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR C++/34715
* g++.dg/ext/always_inline-1.C: New test.
* g++.dg/ext/always_inline-2.C: New test.
* g++.dg/ext/always_inline-3.C: New test.
* g++.dg/ext/always_inline-4.C: New test.
From-SVN: r132558
/testsuite
2008-02-22 Paolo Carlini <pcarlini@suse.de>
PR c++/35282
* g++.dg/template/nontype17.C: Add.
/cp
2008-02-22 Paolo Carlini <pcarlini@suse.de>
PR c++/35282
Revert:
2008-02-14 Paolo Carlini <pcarlini@suse.de>
PR c++/28743
* pt.c (determine_specialization): In case of function templates,
when the type of DECL does not match FN there is no match.
/testsuite
2008-02-22 Paolo Carlini <pcarlini@suse.de>
PR c++/35282
Revert:
2008-02-14 Paolo Carlini <pcarlini@suse.de>
PR c++/28743
* g++.dg/template/nontype17.C: New.
* g++.dg/template/nontype16.C: Add error.
From-SVN: r132543
gcc/:
PR c/19999
* c-typeck.c (build_binary_op): Warn about floating point
comparisons if FLOAT_TYPE_P, not only for REAL_TYPE.
gcc/cp/:
* typeck.c (build_binary_op): Warn about floating point
comparisons if FLOAT_TYPE_P, not only for REAL_TYPE.
gcc/testsuite/:
* gcc.dg/Wfloat-equal-1.c: New.
* g++.dg/warn/Wfloat-equal-1.C: New.
From-SVN: r132540
PR target/34526
* config/rs6000/rs6000.c (rs6000_altivec_abi): Clarify comment.
(rs6000_explicit_options): Split abi into spe_abi and altivec_abi,
add vrsave.
(rs6000_override_options): Set altivec_abi as default, not override,
for 64-bit GNU/Linux; for 32-bit GNU/Linux default to altivec_abi for
TARGET_ALTIVEC; default to TARGET_ALTIVEC_VRSAVE when AltiVec ABI
is used; use new member spe_abi.
(rs6000_handle_option): Set rs6000_explicit_options.vrsave; use
spe_abi and altivec_abi.
From-SVN: r132537
PR bootstrap/35273
* config.build (build_file_translate): Set to `CMD //c' only if
it works.
* Makefile.in (build_file_translate): Improve comment.
From-SVN: r132528
* config/i386/i386.md (mov<mode>cc): Macroize expander from movsfcc,
movdfcc and movxfcc using X87MODEF mode iterator and SSE_FLOAT_MODE_P
as insn constraint.
* config/i386/sse.md (<sse>_movup<ssemodesuffixf2c>): Macroize insn
from sse_movups adn sse2_movupd using SSEMODEF2P mode iterator and
SSE_VEC_FLOAT_MODE_P as insn constraint.
(<sse>_movmskp<ssemodesuffixf2c>): Ditto from similar patterns.
(sse4a_movnt<mode>): Macroize insn from sse4a_movntsf and
sse4a_movntdf using MODEF mode iterator.
(sse4a_vmmovnt<mode>): Macroize insn form sse4a_vmmovntv2df and
sse4a_vmmovntv4sf using SSEMODEF2P mode iterator.
(sse4_1_blendp<ssemodesuffixf2c>): Ditto from similar patterns.
(sse4_1_blendvp<ssemodesuffixf2c>): Ditto.
(sse4_1_dpp<ssemodesuffixf2c>): Ditto.
(sse4_1_roundp<ssemodesuffixf2c>): Ditto.
(sse4_1_rounds<ssemodesuffixf2c>): Ditto.
From-SVN: r132518
2008-02-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/35132
* io/transfer.c (next_record_w): Truncate after the last record for
STREAM I/O.
PR libfortran/34954
* io/transfer.c (data_transfer_init): Initialize dtp->rec if writing.
PR libfortran/34974
* io/transfer.c (formatted_transfer_scalar): Flush the buffer if skips
is less than zero. (next_record_w): Use sseek to position the file to
the max position reached.
From-SVN: r132512
2008-02-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/35036
* write_float.def (output_float): Add error checks for zero digits
after decimal point in E and D format specifiers.
From-SVN: r132510
* config/h8300/h8300.md (insv): Force source operand to be a register.
* config/h8300/h8300.c (h8300_expand_epilogue): Emit return insn
as a jump, not as a plain insn.
From-SVN: r132498