Uros Bizjak [Mon, 25 Feb 2008 09:07:13 +0000 (10:07 +0100)]
vect-99.c: Include stdlib.h and tree-vect.h.
* gcc.dg/vect/vect-99.c: Include stdlib.h and tree-vect.h.
(main): Call check_vect and foo. Check array values after
the call to foo.
* gcc.dg/vect/vect-117.c: Call check_vect.
* gcc.dg/vect/no-vfa-pr29145.c: Ditto.
typeck.c (check_for_casting_away_constness): Use 1 single argument, the type of cast, to decide what diagnostics generate.
2008-02-23 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
* typeck.c (check_for_casting_away_constness): Use 1 single
argument, the type of cast, to decide what diagnostics generate.
(build_static_cast_1): Remove unused code. Update call to
check_for_casting_away_constness.
(build_reinterpret_cast_1): Update call to
check_for_casting_away_constness.
(build_const_cast_1): Likewise.
Ralf Wildenhues [Sun, 24 Feb 2008 22:40:31 +0000 (22:40 +0000)]
re PR ada/15479 (Ada manual problems)
PR documentation/15479
* gnat_rm.texi, gnat_ugn.texi: Where appropriate, add @command,
use @command instead of @code, @option instead of @samp or @code,
@code instead of @var, @samp instead of @file.
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.
Edmar Wienskoski [Sun, 24 Feb 2008 14:38:03 +0000 (14:38 +0000)]
config.gcc (powerpc*-*-*): Add new cores e300c2 and e300c3.
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.
* gfortran.dg/large_real_kind_2.F90: Split testing of ERF and
ERFC into gfortran.dg/large_real_kind_3.F90.
* gfortran.dg/large_real_kind_3.F90: New test.
Uros Bizjak [Sat, 23 Feb 2008 15:24:02 +0000 (16:24 +0100)]
re PR target/22076 (Strange code for MMX register moves)
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.
Nathan Froyd [Sat, 23 Feb 2008 01:00:42 +0000 (01:00 +0000)]
rs6000.c (rs6000_legitimize_address): Check to ensure that we can address an entire entity > 8 bytes.
* 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.
Andrew Pinski [Fri, 22 Feb 2008 21:21:11 +0000 (21:21 +0000)]
re PR c++/34715 (always_inline with templates and not declared as always_inline but definition has it)
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.
Janis Johnson [Fri, 22 Feb 2008 01:55:40 +0000 (01:55 +0000)]
re PR target/34526 (no-altivec ABI should be fixed or no longer be the default)
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.
Uros Bizjak [Thu, 21 Feb 2008 10:51:19 +0000 (11:51 +0100)]
i386.md (mov<mode>cc): Macroize expander from movsfcc...
* 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.
Richard Guenther [Thu, 21 Feb 2008 09:38:07 +0000 (09:38 +0000)]
tree.def (PAREN_EXPR): New tree code.
2008-02-21 Richard Guenther <rguenther@suse.de>
* tree.def (PAREN_EXPR): New tree code.
* fold-const.c (fold_unary): Remove PAREN_EXPR around constants
and PAREN_EXPR.
* tree-pretty-print.c (dump_generic_node): Handle PAREN_EXPR.
* expr.c (expand_expr_real_1): Likewise.
* tree-inline.c (estimate_num_insns_1): Likewise.
* tree-complex.c (expand_complex_move): Likewise.
* tree-vectorizer.c (vect_is_simple_use): Treat PAREN_EXPR (x)
as plain x.
* trans-expr.c (gfc_conv_expr_op): Expand INTRINSIC_PARENTHESES
as unary PAREN_EXPR for real and complex typed expressions.
(gfc_conv_unary_op): Fold the built tree.
* gfortran.dg/reassoc_1.f90: New testcase.
* gfortran.dg/reassoc_2.f90: Likewise.
* gfortran.dg/reassoc_3.f90: Likewise.
Jerry DeLisle [Thu, 21 Feb 2008 02:27:07 +0000 (02:27 +0000)]
re PR libfortran/35132 (Formatted stream I/O write should truncate)
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.
DJ Delorie [Wed, 20 Feb 2008 21:31:56 +0000 (16:31 -0500)]
h8300.md (insv): Force source operand to be a register.
* 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.
Seongbae Park [Wed, 20 Feb 2008 21:19:14 +0000 (21:19 +0000)]
invoke.texi (Warning Options): Add new option -Wframe-larger-than=.
gcc/ChangeLog:
2008-02-20 Seongbae Park <seongbae.park@gmail.com>
* doc/invoke.texi (Warning Options): Add new option
-Wframe-larger-than=.
(-Wframe-larger-than): Document.
* flags.h (warn_frame_larger_than, frame_larger_than_size):
Add declarations for new option variables.
* final.c (final_start_function): Check the frame size
before emission and issue a Wframe-larger-than warning.
* opts.c (warn_frame_larger_than, frame_larger_than_size):
Add definitions for new option variables.
(common_handle_option): Handle new option OPT_Wframe_larger_than_.
* common.opt (Wframe-larger-than=): New option.
gcc/testsuite/ChangeLog:
2008-02-20 Seongbae Park <seongbae.park@gmail.com>
Richard Guenther [Wed, 20 Feb 2008 14:13:47 +0000 (14:13 +0000)]
tree.h (fold_real_zero_addition_p): Declare.
2008-02-20 Richard Guenther <rguenther@suse.de>
* tree.h (fold_real_zero_addition_p): Declare.
* fold-const.c (fold_real_zero_addition_p): Export.
* tree-ssa-reassoc.c (eliminate_using_constants): Also handle
floating-point operations with zero and one.
* Makefile.def: Define stage_libcflags for all bootstrap stages.
* Makefile.tpl (STAGE1_LIBCFLAGS, STAGE2_LIBCFLAGS, STAGE3_LIBCFLAGS,
STAGE4_LIBCFLAGS): New.
(CFLAGS_FOR_TARGET, CXXFLAGS_FOR_TARGET): Subst from autoconf, without
$(SYSROOT_CFLAGS_FOR_TARGET) and $(DEBUG_PREFIX_CFLAGS_FOR_TARGET).
(BASE_TARGET_EXPORTS): Append them here to C{,XX}FLAGS.
(EXTRA_TARGET_FLAGS): Append them here to {LIB,}C{,XX}FLAGS.
(configure-stage[+id+]-[+prefix+][+module+]): Pass stage_libcflags
for target modules. Don't export LIBCFLAGS.
(all-stage[+id+]-[+prefix+][+module+]): Pass stage_libcflags; pass
$(BASE_FLAGS_TO_PASS) where [+args+] was passed, and [+args+] after
the overridden CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
(invocations of `all'): Replace $(TARGET_FLAGS_TO_PASS) with
$(EXTRA_TARGET_FLAGS), $(FLAGS_TO_PASS) with $(EXTRA_HOST_FLAGS).
* Makefile.in: Regenerate.
2008-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/32009
* mh-ppc-darwin (BOOT_CFLAGS): Reenable.
2008-02-20 Paolo Bonzini <bonzini@gnu.org>
* doc/install.texi: Correct references to CFLAGS, replacing them
with BOOT_CFLAGS. Document flags used during bootstrap for
target libraries.
Uros Bizjak [Wed, 20 Feb 2008 13:21:23 +0000 (14:21 +0100)]
i386.h (SSE_VEC_FLOAT_MODE_P): New define.
* config/i386/i386.h (SSE_VEC_FLOAT_MODE_P): New define.
* config/i386/i386.md (*sse_setcc<mode>): Macroize from *sse_setccsf
and *sse_setccdf using MODEF mode iterator and SSE_FLOAT_MODE_P as
insn constraint.
(smin<mode>3): Ditto from similar patterns.
(smax<mode>3): Ditto.
(*ieee_smin<mode>3): Ditto.
(*ieee_smax<mode>3): Ditto.
* config/i386/sse.md (sse): New mode attribute.
(mov<mode>): Macroize expander from movv4sf and movv2df using
SSEMODEF2P mode iterator.
(<sse>_movnt<mode>): Ditto from similar patterns. Use
SSE_VEC_FLOAT_MODE_P as insn constraint.
(storent<mode>): Ditto.
(storent<mode>): Macroize expander from storentsf and storentdf using
MODEF mode iterator.
(neg<mode>2): Macroize from negv4sf2 and negv2df2 using SSEMODEF2P
mode iterator and SSE_VEC_FLOAT_MODE_P as insn constraint.
(abs<mode>2): Ditto from similar patterns.
(add<mode>3, *add<mode>3, <sse>_vmadd<mode>3): Ditto.
(sub<mode>3, *sub<mode>3, <sse>_vmsub<mode>3): Ditto.
(<sse>_div<mode>3, <sse>_vmdiv<mode>3): Ditto.
(<sse>_vmsqrt<mode>2): Ditto.
(smin<mode>3, *smin<mode>3_finite, *smin<mode>3)
(<sse>_vmsmin<mode>3, *ieee_smin<mode>3): Ditto.
(smax<mode>3, *smax<mode>3_finite, *smax<mode>3)
(<sse>_vmsmax<mode>3, *ieee_smax<mode>3): Ditto.
(<sse>_maskcmp<mode>3): Macroize from sse_maskcmpv4sf3,
sse_maskcmpsf3, sse2_maskcmpv2df3 and sse2_maskcmpdf3 using SSEMODEF4
mode iterator. Use SSE_FLOAT_MODE_P with SSE_VEC_FLOAT_MODE_P as
insn constraint.
(<sse>_comi): Macroize from sse_comi and sse2_comi using MODEF mode
iterator and SSE_FLOAT_MODE_P as insn constraint.
(<sse>_ucomi): Ditto from similar patterns.
(<sse>_vmmaskcmp<mode>3): Macroize from sse_vmmaskcmpv4sf3 and
sse2_vmmaskcmpv2df3 using SSEMODEF2P mode iterator and
SSE_VEC_FLOAT_MODE_P as insn constraint.
(vcond<mode>): Ditto from similar patterns.
(and<mode>3, *and<mode>3): Ditto.
(<sse>_nand<mode>3): Ditto.
(ior<mode>3, *ior<mode>3): Ditto.
(xor<mode>3, *xor<mode>3): Ditto.
(*and<mode>3): Macroize from *andsf3 and *anddf3 using MODEF mode
iterator and SSE_FLOAT_MODE_P as insn constraint.
(*nand<mode>3): Ditto from similar patterns.
(*ior<mode>3): Ditto.
(*xor<mode>3): Ditto.
Matthias Klose [Wed, 20 Feb 2008 12:20:18 +0000 (12:20 +0000)]
Makefile.am ($(TOOLS_ZIP)): Revert part of previous change, Do copy resource files in JAVA_MAINTAINER_MODE only.
2008-02-20 Matthias Klose <doko@ubuntu.com>
* tools/Makefile.am ($(TOOLS_ZIP)): Revert part of previous change,
Do copy resource files in JAVA_MAINTAINER_MODE only.
* tools/Makefile.in: Regenerate.
Uros Bizjak [Wed, 20 Feb 2008 07:01:34 +0000 (08:01 +0100)]
struct-layout-1_generate.c (DG_OPTIONS): New define.
* g++.dg/compat/struct-layout-1_generate.c (DG_OPTIONS): New define.
(switchfiles): Use DG_OPTIONS. Explicitly name arguments in fprintf
templates to reduce number of passed arguments.
Andreas Tobler [Tue, 19 Feb 2008 21:29:26 +0000 (21:29 +0000)]
dyn_load.c (GC_dyld_image_add): Remove ifdef clause and use the macro GC_GETSECTBYNAME instead.
2007-02-19 Andreas Tobler <a.tobler@schweiz.org>
* dyn_load.c (GC_dyld_image_add): Remove ifdef clause and use the macro
GC_GETSECTBYNAME instead.
* include/private/gc_priv.h: Define GC_GETSECTBYNAME according to the
architecture (Darwin).
Ralf Wildenhues [Tue, 19 Feb 2008 19:38:52 +0000 (19:38 +0000)]
re PR bootstrap/35218 (build fails on mingw host)
PR bootstrap/35218
* Makefile.in (build_file_translate): New.
(gcc-vers.texi): Use it for translating $(abs_srcdir).
* config.build (build_file_translate): Set to `CMD //c' on MinGW.
* configure.ac (build_file_translate): Substitute it.
* configure: Regenerate.
Daniel Franke [Tue, 19 Feb 2008 18:26:12 +0000 (13:26 -0500)]
re PR fortran/35030 (add type/kind information to pointer assignments)
2008-02-19 Daniel Franke <franke.daniel@gmail.com>
PR fortran/35030
* expr.c (gfc_check_pointer_assign): Add type and kind information
to type-mismatch message.
(gfc_check_assign): Unify error messages.
Richard Guenther [Tue, 19 Feb 2008 11:55:29 +0000 (11:55 +0000)]
re PR tree-optimization/34989 (ICE in get_addr_dereference_operands, at tree-ssa-operands.c:1698 with IMA)
2008-02-19 Richard Guenther <rguenther@suse.de>
PR tree-optimization/34989
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Re-structure.
Allow propagation to INDIRECT_REF if we can simplify only.
* gcc.dg/pr34989-1.c: New testcase.
* gcc.dg/pr34989-2.c: Likewise.
Nick Clifton [Tue, 19 Feb 2008 10:33:41 +0000 (10:33 +0000)]
re PR other/31349 (gcc -v --help returns no options for C, C++)
PR other/31349
* opts.c (undocumented_msg): Leave blank unless checking is
enabled.
(handle_options): Fix indentation.
(print_filtered_help): If no language-specific options were
displayed tell the user how to list all the options supported by
the language's front-end.
(print_specific_help): Fix indentation and remove duplicate line.
(common_handle_option): Handle the -v option.
For --help enable the display of undocumented options if the -v
switch has been included on the command line.
For --help= check for overlaps in the arguments between the option
classes and the language names and issue a warning when they
cannot be disambiguated.
* c.opt (v): Pass on to the common option handler.