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.
Jakub Jelinek [Tue, 19 Feb 2008 10:14:57 +0000 (11:14 +0100)]
re PR c++/35078 (ICE with reference in parallel for loop)
PR c++/35078
* parser.c (cp_parser_omp_for_loop): If DECL has REFERENCE_TYPE, don't
call cp_finish_decl.
* semantics.c (finish_omp_for): Fail if DECL doesn't have integral type
early.
Uros Bizjak [Tue, 19 Feb 2008 07:14:10 +0000 (08:14 +0100)]
sfp-machine.h (__gcc_CMPtype): New typedef.
* config/i386/sfp-machine.h (__gcc_CMPtype): New typedef.
(CMPtype): Define as __gcc_CMPtype.
* config/rs6000/sfp-machine.h (__gcc_CMPtype): New typedef.
(CMPtype): Define as __gcc_CMPtype.
Ralf Wildenhues [Sun, 17 Feb 2008 21:20:01 +0000 (21:20 +0000)]
re PR ada/15479 (Ada manual problems)
gcc/ada/:
PR documentation/15479
* gnat_ugn.texi: In non-code, avoid space before colon.
(Regular Expressions in gnatfind and gnatxref): Fix indentation.
(Examples of gnatxref Usage): Use @command{vi} instead of
@file{vi}.
(Character Set Control): Do not use @code for UTF-8.
(Validity Checking): Fix typo "NaNs" instead of "NaN's". Do not
use @code for IEEE.
* gnat_rm.texi (Aggregates with static bounds): Fix typo in code
sample.
* gnat_rm.texi, gnat_ugn.texi: Fix typos. Bump copyright years.
re PR fortran/34952 (Document lack of support for ENCODE/DECODE)
PR fortran/34952
* gfortran.texi: Create new section for unimplemented extensions.
Add "STRUCTURE and RECORD" and "ENCODE and DECODE statements".
Remove "smaller projects" list. Fix a few typos.
Uros Bizjak [Sat, 16 Feb 2008 11:04:43 +0000 (12:04 +0100)]
fastcall-sseregparm.c: Include sse-check.h.
* gcc.target/i386/fastcall-sseregparm.c: Include sse-check.h.
(main): Change to void and rename to sse_test.
* gcc.target/i386/pr24306.c: Ditto.
* gcc.target/i386/pr32065-2.c: Ditto.
* gcc.target/i386/20060512-1.c: Include sse2-check.h.
(main): Change to void and rename to sse2_test.
* gcc.target/i386/20060512-3.c: Ditto.
Jakub Jelinek [Fri, 15 Feb 2008 17:42:25 +0000 (18:42 +0100)]
re PR middle-end/35196 (lastprivate broken for static non-ordered loops)
PR middle-end/35196
* omp-low.c (expand_omp_for_generic): Don't initialize fd->v
in entry_bb.
(expand_omp_for_static_nochunk): Initialize fd->v in seq_start_bb
rather than in entry_bb.
Douglas Gregor [Fri, 15 Feb 2008 17:33:02 +0000 (17:33 +0000)]
re PR c++/35023 (ICE with parameter pack in variable declaration)
2008-02-15 Douglas Gregor <doug.gregor@gmail.com>
PR c++/35023
PR c++/35024
PR c++/35026
* pt.c (finish_member_template_decl): If the type in a TYPE_DECL
is error_mark_node, return an error early.
(find_parameter_packs_r): Pass the pointer set along to recursive
calls of cp_walk_subtrees; don't try to manage the pointer set
ourselves.
(uses_parameter_packs): Pass the pointer set to cp_walk_tree.
(make_pack_expansion): Ditto.
(check_for_bare_parameter_packs): Ditto. Also, don't bother taking
a second pass through the tree with find_parameter_packs_r; that
second pass no longer does anything.
(push_template_decl_real): If we have an erroneous declaration,
set its type to error_mark_node before returning an error.
Richard Guenther [Fri, 15 Feb 2008 15:24:19 +0000 (15:24 +0000)]
re PR tree-optimization/35164 (Unable to coalesce ab SSA_NAMEs)
2008-02-15 Richard Guenther <rguenther@suse.de>
Zdenek Dvorak <ook@ucw.cz>
PR tree-optimization/35164
* tree-flow.h (stmt_references_abnormal_ssa_name): Declare.
* tree-dfa.c (stmt_references_abnormal_ssa_name): New function.
* tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
Only propagate addresses which do not have abnormal SSA_NAMEs
in their operands.
* g++.dg/torture/pr35164-1.C: New testcase.
* g++.dg/torture/pr35164-2.C: Likewise.
Andreas Tobler [Fri, 15 Feb 2008 14:08:59 +0000 (14:08 +0000)]
re PR testsuite/35208 (Please apply the patch in comment #19 of PR35035)
2008-02-15 Andreas Tobler <a.tobler@schweiz.org>
PR testsuite/35208
* testsuite/libjava.jvmti/interp/natgetstacktrace.cc
(Java_getstacktrace_natRunner): Increase the usleep time to a value
which prevents OS-X to get into a deadlock.