Kaveh R. Ghazi [Wed, 28 Feb 2007 21:53:07 +0000 (21:53 +0000)]
builtin-frexp-1.c: On mips*-*-irix6* and powerpc*, use -funsafe-math-optimizations.
* gcc.dg/torture/builtin-frexp-1.c: On mips*-*-irix6* and
powerpc*, use -funsafe-math-optimizations.
* gcc.dg/torture/builtin-logb-1.c: Likewise.
* gcc.dg/torture/builtin-modf-1.c: Likewise.
* gcc/builtins.c (fold_builtin_call_list, fold_builtin_call_valist):
Delete, and replace with...
(fold_builtin_call_array): This. Update callers to use it.
* gcc/fold-const.c (fold_build_call_list): Delete, and replace with...
(fold_build_call_array): This.
(fold_build_call_list_initializer): Delete, and replace with...
(fold_build_call_array_initializer): This.
* gcc/tree.h: Update declarations to reflect above changes.
* gcc/c-typeck.c (build_function_call): Store converted arguments
in a stack-allocated array instead of building a list.
(convert_arguments): Store arguments in the array passed in as an
argument, and return the actual number of arguments.
* gcc/c-format.c: (check_function_format): Pass arguments in an
array instead of a list.
* gcc/c-common.c (check_function_nonnull): Likewise.
(check_function_sentinel): Likewise.
(check_function_arguments): Likewise.
* gcc/c-common.h: Update declarations to reflect above changes.
* gcc/cp/typeck.c (build_function_call): Store converted arguments
in a stack-allocated array instead of building a list.
(convert_arguments): Store arguments in the array passed in as an
argument, and return the actual number of arguments.
* gcc/cp/call.c (build_call): Delete, and replace with...
(build_call_n, build_call_a): New.
(build_op_delete_call): Rewrite to avoid constructing argument lists.
(build_over_call): Store converted arguments in a stack-allocated
array instead of building a list.
(build_cxx_call): Pass arguments in an array instead of as a list.
(build_java_interface_fn_ref): Rewrite to avoid constructing
argument lists.
* gcc/cp/tree.h: Update declarations to reflect above changes.
* gcc/cp/method.c (use_thunk): Use a stack-allocated array to hold
the arguments instead of a list.
* gcc/cp/rtti.c (throw_bad_cast): Update call to cxx_call.
(throw_bad_typeid): Likewise.
(build_dynamic_cast_1): Likewise.
* gcc/cp/init.c (build_builtin_delete_call): Use build_call_n.
* gcc/cp/decl.c (expand_static_init): Likewise.
* gcc/cp/except.c (cp_protect_cleanup_actions): Likewise.
* gcc/cp/cp-gimplify.c (genericize_eh_spec_block): Likewise.
(gimplify_must_not_throw_expr): Likewise.
(cxx_omp_apply_fn): Use build_call_a.
Tobias Burnus [Wed, 28 Feb 2007 08:03:47 +0000 (09:03 +0100)]
re PR fortran/30968 ([4.1 only] Bogus warning with continued lines of concatenated strings)
2007-02-28 Tobias Burnus <burnus@net-b.de>
PR fortran/30968
* primary.c (next_string_char): Correct reading a character
after the delimiter.
(match_string_constant): Print warning message only once.
2007-02-28 Tobias Burnus <burnus@net-b.de>
PR fortran/30968
* gfortran.dg/continuation_7.f90: New test.
Uros Bizjak [Tue, 27 Feb 2007 21:27:27 +0000 (22:27 +0100)]
re PR target/30970 (Register zeroing by xor N,N should be moved out of loop)
PR target/30970
* config/i386/sse.md (*mov<mode>_internal, *movv4sf_internal,
*movv2df_internal): Enable pattern only for valid operand
combinations.
* config/i386/i386.c (ix86_modes_tieable_p): For SSE registers,
tie only 128bit modes. For MMX registers, tie only 64bit modes.
testsuite/ChangeLog:
PR target/30970
* gcc.target/i386/gfortran.dg/pr30970.c: New test.
Joseph Myers [Tue, 27 Feb 2007 20:32:13 +0000 (20:32 +0000)]
mkheaders.in (incdir): Use include-fixed not include.
fixincludes:
* mkheaders.in (incdir): Use include-fixed not include.
gcc:
* Makefile.in (PREPROCESSOR_DEFINES, test-protoize-simple): Define
FIXED_INCLUDE_DIR.
(stmp-int-hdrs, stmp-fixinc, install-headers): Use include-fixed
for fixed headers and limits.h.
(install-include-dir, install-headers-tar, install-headers-cpio,
install-headers-cp, real-install-headers-tar,
real-install-headers-cpio, real-install-headers-cp): Handle
include-fixed as well as include.
(install-mkheaders): Don't install files that go only in include
not include-fixed.
* cppdefault.c (cpp_include_defaults): Separate FIXED_INCLUDE_DIR
from GCC_INCLUDE_DIR.
* gcc.c (process_command): Remove special -BstageN/ handling.
(do_spec_1): Add include-fixed directories.
Paolo Carlini [Tue, 27 Feb 2007 17:48:09 +0000 (17:48 +0000)]
PR libstdc++/28080 (partial)
2007-02-27 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/28080 (partial)
* include/std/bitset: Do not include <ios>, <iosfwd> is enough.
(operator>>(std::basic_istream<>&, bitset<>&)): Tweak, refer to
ios_base as a base of basic_istream.
* include/std/iomanip: Do not include <ios>, <iosfwd> +
<bits/ios_base.h> is enough.
* include/std/iosfwd: Do not include <cctype> here...
* include/bits/locale_facets.h: ... do it here, when needed.
* include/bits/ostream.tcc: Clean up, do not include <locale> here...
* include/std/ostream: ... here instead.
* include/bits/istream.tcc: Likewise for <locale> and <ostream>...
* include/std/istream: ... here.
* include/bits/sstream.tcc: Do not include <sstream>.
Bernd Schmidt [Tue, 27 Feb 2007 13:25:41 +0000 (13:25 +0000)]
bfin.c: Include "cfglayout.h".
* config/bfin/bfin.c: Include "cfglayout.h".
(MAX_LSETUP_DISTANCE): New macro.
(struct loop_info): New members incoming, incoming_src and
incoming_dest. Delete member predecessor.
(length_for_loop): New function.
(bfin_optimize_loop): Handle more different loop structures.
(bfin_discover_loop): Rework detection of predecessor blocks by
examining incoming edges.
(bfin_discover_loops, bfin_free_loops): New functions, broken out of
bfin_reorg_loops.
(bfin_reorder_loops): New function.
(bfin_reorg_loops): Use these three new functions.
gcc/ChangeLog ---------------------------------------------------------
* doc/include/gcc-common.texi (versionsubtitle): New macro.
* doc/cpp.texi: Standardize title page.
* doc/cppinternals.texi: Likewise.
* doc/gcc.texi: Standardize title page, remove version number
from copyright page.
* doc/gccint.texi: Likewise.
* doc/install.texi: Standardize title page, add table of
contents.
fortran/ChangeLog -----------------------------------------------------
* gfortran.texi: Standardize title page, remove version number
from copyright page.
treelang/ChangeLog ----------------------------------------------------
* treelang.texi: Standardize title page, remove version number
from copyright page.
Jan Hubicka [Tue, 27 Feb 2007 00:07:03 +0000 (01:07 +0100)]
predict.def: Set outcomes according to more recent results.
* predict.def: Set outcomes according to more recent results.
(PRED_LOOP_CONDITION, PRED_LOOP_PRECONDITIONING, PRED_LOOP_HEADER):
Remove dead predictors.
* predict.c (return_prediction): Fix pasto.
Thomas Koenig [Mon, 26 Feb 2007 21:16:00 +0000 (21:16 +0000)]
re PR fortran/30865 ([4.1, 4.2 only] optional argument passed on to size(...,dim=))
2007-02-26 Thomas Koenig <Thomas.Koenig@online.de>
Paul Thomas <pault@gcc.gnu.org>
PR fortran/30865
* trans-intrinsic.c (gfc_conv_intrinsic_size):
If dim is an optional argument, check for its
presence and call size0 or size1, respectively.
2007-02-26 Thomas Koenig <Thomas.Koenig@online.de>
PR fortran/30865
* size_optional_dim_1.f90: New test.
Co-Authored-By: Paul Thomas <pault@gcc.gnu.org>
From-SVN: r122342
Paolo Carlini [Mon, 26 Feb 2007 09:36:39 +0000 (09:36 +0000)]
PR libstdc++/28080 (partial)
2007-02-26 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/28080 (partial)
* include/std/bitset: Do not include <istream> and <ostream>,
<ios> is enough.
* include/std/iomanip: Do not include the whole <istream>,
<ios> is enough; do not include <functional>; reformat.
* include/std/functional: Do not include <cstddef>.
* include/std/list: Do not include <bits/stl_uninitialized.h>.
* include/std/numeric: Do not include the whole <iterator> and
<bits/stl_function.h>.
* include/std/valarray: Do not include <numeric>.
* include/bits/stl_numeric.h: Include <bits/concept_check.h>.
* src/iostream-inst.cc: Include <istream>.
* include/ext/functional: Include <cstddef>.
* testsuite/util/testsuite_hooks.h: Do not include <locale>,
<ctime> is enough; qualify tm.
* testsuite/util/testsuite_hooks.cc: Qualify tm.
Uros Bizjak [Sun, 25 Feb 2007 23:18:45 +0000 (00:18 +0100)]
re PR tree-optimization/30938 (Bootstrap fails on x86_64 for -ftree-vectorize)
PR tree-optimization/30938
* tree-vect-transform.c (vectorizable_call): Fix off-by-one error:
use &dt[nargs-1] instead of &dt[nargs] in the call to
vect_is_simple_use().
Ulrich Weigand [Sun, 25 Feb 2007 20:56:46 +0000 (20:56 +0000)]
reload.c (find_reloads_address_1): Handle PLUS expressions resulting from register elimination as PRE_MODIFY /...
* reload.c (find_reloads_address_1): Handle PLUS expressions resulting
from register elimination as PRE_MODIFY / POST_MODIFY increments.
Do not attempt to handle MEM inside auto-inc expressions.
* reload1.c (eliminate_regs_1): Do not attempt to handle elimination
of a register modified by an auto-inc expression. However, do handle
elimination of a register used as PRE_MODIFY / POST_MODIFY increment.
(elimination_effects): Prohibit elimination of a register modified
by an auto-inc expression. Disable register elimination rules whose
target register is modified by an auto-inc expression with variable
increment.
* tree-ssa-loop-niter.c (compute_estimated_nb_iterations): Fix
off-by-one error.
(array_at_struct_end_p): New function.
(idx_infer_loop_bounds): Use it.
(estimate_numbers_of_iterations_loop): Export.
* predict.c (predict_loops): Use estimated_loop_iterations_int.
Do not use PRED_LOOP_EXIT on exits predicted by # of iterations.
(tree_estimate_probability): Call record_loop_exits.
* tree-data-ref.c (get_number_of_iters_for_loop): Replaced by ...
(estimated_loop_iterations, estimated_loop_iterations_int,
estimated_loop_iterations_tree): New functions.
(analyze_siv_subscript_cst_affine,
compute_overlap_steps_for_affine_1_2,
analyze_subscript_affine_affine): Use estimated_loop_iterations_int.
(analyze_miv_subscript): Use estimated_loop_iterations_tree.
* predict.def (PRED_LOOP_ITERATIONS): Update comment.
(PRED_LOOP_ITERATIONS_GUESSED): New.
* cfgloop.c (record_loop_exits): Do nothing if there are no loops.
* cfgloop.h (estimate_numbers_of_iterations_loop,
estimated_loop_iterations_int): Declare.
Jan Hubicka [Sun, 25 Feb 2007 17:37:37 +0000 (17:37 +0000)]
re PR target/30778 (invalid code generation for memset() with -mtune=k8)
PR target/30778
* i386.c (counter_mode): New function.
(expand_set_or_movmem_via_loop): Use it.
(expand_movmem_epilogue): Likewise; fix pasto.
(ix86_expand_movmem): Do emit guard even for constant counts.
(ix86_expand_setmem): Likewise.
Bernd Schmidt [Sat, 24 Feb 2007 13:40:54 +0000 (13:40 +0000)]
loop-iv.c (implies_p): Detect additional cases where A implies B.
* loop-iv.c (implies_p): Detect additional cases where A implies B.
(determine_max_iter): Take additional LOOP arg; all callers changed.
Lose broken logic dealing with PLUS. Try to limit the upper bound by
one using simplifications.
Paul Thomas [Fri, 23 Feb 2007 16:35:25 +0000 (16:35 +0000)]
re PR fortran/30660 (Allocatable components of a derived type "require" the SAVE attribute.)
2007-02-23 Paul Thomas <pault@gcc.gnu.org>
PR fortran/30660
* resolve.c (has_default_initializer): New function.
(resolve_fl_variable): Call has_default_initializer to determine if
the derived type has a default initializer to its ultimate
components.
2007-02-23 Paul Thomas <pault@gcc.gnu.org>
PR fortran/30660
* gfortran.dg/alloc_comp_basics_4.f90: Add component with an
allocatable component.
Jakub Jelinek [Fri, 23 Feb 2007 15:13:18 +0000 (15:13 +0000)]
re PR libgcj/17002 (java.util.TimeZone.getDefault() is broken)
2007-02-22 Jakub Jelinek <jakub@redhat.com>
PR libgcj/17002
PR classpath/28550
* java/util/VMTimeZone.java (getDefaultTimeZoneId): To read
/etc/localtime, use ZoneInfo.readTZFile instead of
VMTimeZone.readtzFile. Get better timezone name for /etc/localtime,
either if it is a symlink or through /etc/sysconfig/clock.
(readSysconfigClockFile): New static method.
(readtzFile): Removed.
* java/lang/System.java: Add gnu.java.util.zoneinfo.dir to comments.
* posix.cc (_Jv_platform_initProperties): Set
gnu.java.util.zoneinfo.dir.
* sources.am (gnu_java_util_source_files): Add
classpath/gnu/java/util/ZoneInfo.java.
* Makefile.in: Regenerated.
* java/util/VMTimeZone.h: Regenerated.
* java/util/TimeZone.h: Regenerated.
* gnu/java/util/ZoneInfo.h: Generated.
testsuite:
* gcc.dg/torture/builtin-logb-1.c: New test.
* gcc.dg/torture/builtin-math-2.c: Test logb/ilogb.
* gcc.dg/torture/builtin-nonneg-1.c: Test significand.
* gcc.dg/torture/builtin-frexp-1.c: Use -fno-finite-math-only on
sh* targets.
H.J. Lu [Fri, 23 Feb 2007 09:34:34 +0000 (01:34 -0800)]
i386.c (bdesc_1arg): Initialize IX86_BUILTIN_MOVSHDUP and IX86_BUILTIN_MOVSLDUP with...
2007-02-23 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (bdesc_1arg): Initialize
IX86_BUILTIN_MOVSHDUP and IX86_BUILTIN_MOVSLDUP with
"__builtin_ia32_movshdup" and "__builtin_ia32_movsldup".
(ix86_init_mmx_sse_builtins): Remove IX86_BUILTIN_MOVSHDUP
and IX86_BUILTIN_MOVSLDUP.
Jerry DeLisle [Fri, 23 Feb 2007 07:14:04 +0000 (07:14 +0000)]
options.c (set_default_std_flags): New function to consolidate setting the flags.
2007-02-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* options.c (set_default_std_flags): New function to consolidate
setting the flags.
(gfc_init_options): Use new function.
(gfc_handle_option): Use new function.