* tree-loop-linear.c (gather_interchange_stats): For multidimensional
arrays, multiply the access strides by the size of the sub-array.
* testsuite/gcc.dg/tree-ssa/ltrans-5.c: New.
From-SVN: r122935
gcc/
200x-xx-xx Richard Sandiford <richard@codesourcery.com>
Phil Edwards <phil@codesourcery.com>
* gthr-vxworks.h: Add an extern "C" wrapper for C++.
(__gthread_once_t): Remove busy field for RTPs.
(__GTHREAD_ONCE_INIT): Update accordingly.
Co-Authored-By: Phil Edwards <phil@codesourcery.com>
From-SVN: r122923
* trans-array.c (gfc_trans_auto_array_allocation): Replace
fold(convert()) by fold_convert().
(gfc_duplicate_allocatable): Likewise.
* trans-intrinsic.c (gfc_conv_intrinsic_dot_product): Use
build_int_cst instead of converting an integer_zero_node
to the final type.
From-SVN: r122921
* testsuite/lib/libstdc++.exp (check_v3_target_fileio,
check_v3_target_time): New.
* testsuite/lib/dg-options.exp (dg-require-fileio,
dg-require-time): New.
* testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: Use it.
* testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: Use it.
* testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: Use it.
* testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: Use it.
* testsuite/ext/stdio_sync_filebuf/char/1.cc: Use it.
* testsuite/ext/stdio_filebuf/char/2.cc: Use it.
* testsuite/ext/stdio_filebuf/char/10063-1.cc: Use it.
* testsuite/ext/stdio_filebuf/char/10063-2.cc: Use it.
* testsuite/ext/stdio_filebuf/char/10063-3.cc: Use it.
* testsuite/22_locale/time_put/put/char/12439_1.cc: Use it.
* testsuite/22_locale/time_put/put/char/12439_3.cc: Use it.
* testsuite/27_io/basic_ofstream/open/char/1.cc: Use it.
* testsuite/27_io/basic_ofstream/cons/char/2.cc: Use it.
* testsuite/27_io/objects/char/12048-2.cc: Use it.
* testsuite/27_io/objects/char/12048-4.cc: Use it.
* testsuite/27_io/objects/char/12048-1.cc: Use it.
* testsuite/27_io/objects/char/12048-3.cc: Use it.
* testsuite/27_io/objects/char/10.cc: Use it.
* testsuite/27_io/objects/char/12048-5.cc: Use it.
* testsuite/27_io/basic_istream/get/char/2.cc: Use it.
* testsuite/27_io/basic_istream/ignore/char/2.cc: Use it.
* testsuite/27_io/basic_istream/ignore/char/3.cc: Use it.
* testsuite/27_io/basic_istream/getline/char/5.cc: Use it.
* testsuite/27_io/basic_istream/seekg/char/sstream.cc: Use it.
* testsuite/27_io/basic_istream/seekg/char/fstream.cc: Use it.
* testsuite/27_io/basic_istream/readsome/char/6746-2.cc: Use it.
* testsuite/27_io/basic_istream/extractors_other/char/2.cc: Use it.
* testsuite/27_io/basic_istream/tellg/char/sstream.cc: Use it.
* testsuite/27_io/basic_istream/tellg/char/1.cc: Use it.
* testsuite/27_io/basic_istream/tellg/char/fstream.cc: Use it.
* testsuite/27_io/basic_istream/extractors_character/char/4.cc: Use it.
* testsuite/27_io/basic_ostream/inserters_other/char/1.cc: Use it.
* testsuite/27_io/basic_ostream/tellp/char/1.cc: Use it.
* testsuite/27_io/basic_ostream/seekp/char/2346-fstream.cc: Use it.
* testsuite/27_io/basic_ifstream/open/char/1.cc: Use it.
* testsuite/27_io/basic_ifstream/cons/char/1.cc: Use it.
* testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc: Use it.
* testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Use it.
* testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc: Use it.
* testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: Use it.
* testsuite/27_io/basic_filebuf/sgetn/char/3.cc: Use it.
* testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Use it.
* testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Use it.
* testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Use it.
* testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/12790-1.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/12790-2.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/12790-3.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/12790-4.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/char/11543.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc: Use it.
* testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Use it.
* testsuite/27_io/basic_filebuf/in_avail/char/9701-3.cc: Use it.
* testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Use it.
* testsuite/27_io/basic_filebuf/setbuf/char/2.cc: Use it.
* testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Use it.
* testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc: Use it.
* testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc: Use it.
* testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc: Use it.
* testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Use it.
* testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc: Use it.
* testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc: Use it.
* testsuite/27_io/basic_filebuf/sbumpc/char/9825.cc: Use it.
* testsuite/27_io/basic_filebuf/is_open/char/1.cc: Use it.
* testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: Use it.
* testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: Use it.
* testsuite/27_io/basic_filebuf/sputc/char/2-io.cc: Use it.
* testsuite/27_io/basic_filebuf/sputc/char/2-out.cc: Use it.
* testsuite/27_io/basic_filebuf/open/12790-1.cc: Use it.
* testsuite/27_io/basic_filebuf/open/char/1.cc: Use it.
* testsuite/27_io/basic_filebuf/open/char/2.cc: Use it.
* testsuite/27_io/basic_filebuf/open/char/3.cc: Use it.
* testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc: Use it.
* testsuite/27_io/basic_filebuf/overflow/char/2.cc: Use it.
* testsuite/27_io/basic_filebuf/overflow/char/9988.cc: Use it.
* testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Use it.
* testsuite/27_io/basic_filebuf/overflow/char/9169.cc: Use it.
* testsuite/27_io/basic_filebuf/snextc/char/1-in.cc: Use it.
* testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Use it.
* testsuite/27_io/basic_filebuf/snextc/char/2-in.cc: Use it.
* testsuite/27_io/basic_filebuf/snextc/char/2-io.cc: Use it.
* testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc: Use it.
* testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Use it.
* testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: Use it.
* testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc: Use it.
* testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc: Use it.
* testsuite/27_io/basic_filebuf/close/12790-1.cc: Use it.
* testsuite/27_io/basic_filebuf/close/char/1.cc: Use it.
* testsuite/27_io/basic_filebuf/close/char/12790-1.cc: Use it.
* testsuite/27_io/basic_filebuf/close/char/12790-2.cc: Use it.
* testsuite/27_io/basic_filebuf/close/char/2.cc: Use it.
* testsuite/27_io/basic_filebuf/close/char/12790-3.cc: Use it.
* testsuite/27_io/basic_filebuf/close/char/12790-4.cc: Use it.
* testsuite/27_io/basic_filebuf/close/char/4.cc: Use it.
* testsuite/27_io/basic_filebuf/underflow/10096.cc: Use it.
* testsuite/27_io/basic_filebuf/underflow/char/2.cc: Use it.
* testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc: Use it.
* testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Use it.
* testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc: Use it.
* testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: Use it.
* testsuite/27_io/basic_filebuf/seekpos/12790-1.cc: Use it.
* testsuite/27_io/basic_filebuf/seekpos/12790-2.cc: Use it.
* testsuite/27_io/basic_filebuf/seekpos/12790-3.cc: Use it.
* testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc: Use it.
* testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc: Use it.
* testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc: Use it.
* testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Use it.
* testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Use it.
* testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Use it.
* testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Use it.
* testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Use it.
* testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Use it.
* testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Use it.
* testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: Use it.
* testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc: Use it.
* testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Use it.
* testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: Use it.
* testsuite/27_io/basic_filebuf/sputn/char/2-io.cc: Use it.
* testsuite/27_io/basic_filebuf/sputn/char/2-out.cc: Use it.
* testsuite/27_io/basic_filebuf/sputn/char/9339.cc: Use it.
* testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc: Use it.
* testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Use it.
* testsuite/21_strings/basic_string/inserters_extractors/char/10.cc: Use it.
* testsuite/21_strings/basic_string/inserters_extractors/char/11.cc: Use it.
* testsuite/21_strings/basic_string/inserters_extractors/char/5.cc: Use it.
From-SVN: r122913
2007-03-13 Seongbae Park <seongbae.park@gmail.com>
PR tree-optimization/30590
* tree-nrv.c (tree_nrv): Check for the partial update of the
return value.
From-SVN: r122909
PR fortran/30922
PR fortran/30948
PR fortran/30953
* intrinsics.texi (CHDIR): Fix argument names, note
that STATUS must be a default integer.
(CTIME): Fix argument names, note that RESULT must
be a default integer.
(EXIT): Note that STATUS must be a default integer.
From-SVN: r122905
PR fortran/28068
* intrinsic.texi: General whitespace cleanup, remove
comment about missing intrinsics.
(menu): Add lines for new entries listed below.
(ACOSH): Mention specific function DACOSH, correct
description phrasing.
(ASINH): Mention specific function DASINH, correct
description phrasing.
(ATANH): Mention specific function DATANH, correct
description phrasing.
(COS): Add index entry for CCOS.
(CPU_TIME): Correct "REAL" to "REAL(*)".
(EXP): Add index entry for CEXP.
(INT): Correct argument name to "A".
(INT2): New entry.
(INT8): New entry.
(LONG): New entry.
(MAX): Add index entries for specific variants.
(MCLOCK): New entry.
(MCLOCK8): New entry.
(SECNDS): Adjust to a more standard form.
(SECOND): New entry.
(TIME): Add cross-reference to MCLOCK.
(TIME8): Add cross-reference to MCLOCK8.
From-SVN: r122902
gcc/ChangeLog:
PR middle-end/31127
* cse.c (cse_find_path): Do not bail out if a basic block that
we already visited now becomes part of a path that starts at a
different basic block. Just disallow this, to make sure we
visit each basic block at most once.
gcc/testsuite/ChangeLog:
PR middle-end/31127
* gcc.dg/pr31127.c: New.
From-SVN: r122900
* ipa-inline.c (cgraph_maybe_hot_edge_p): Look for hot/cold attributes,
when profile esitmate is present, calls with very low frequency are
cold.
From-SVN: r122898
PR tree-optimization/30730
PR tree-optimization/26900
* tree-ssa-loop-niter.c: Include gmp.h.
(bounds): New type.
(mpz_set_double_int, get_type_bounds, mpz_to_double_int,
split_to_var_and_offset, determine_value_range,
bound_difference_of_offsetted_base, refine_bounds_using_guard,
bound_difference, bounds_add, bounds_negate,
number_of_iterations_ne_max, dump_affine_iv): New functions.
(number_of_iterations_ne, number_of_iterations_lt_to_ne,
assert_loop_rolls_lt, assert_loop_rolls_le): Use bounds on the
difference of initial and final value of control iv to validate
results.
(number_of_iterations_cond): Add loop parameter. Determine bounds
on the difference of the extremes of the control iv. Add dumps.
(expand_simple_operations): Handle phi nodes.
(simplify_using_initial_conditions): Do not record used conditions.
(number_of_iterations_exit): Pass loop to number_of_iterations_cond.
Do not set additional_info.
(implies_nonnegative_p, implies_ge_p): Removed.
(derive_constant_upper_bound): Do not use parameter `additional'.
(record_estimate): Parameter `additional' removed. Parameter
`i_bound' added. Do not call derive_constant_upper_bound.
(record_nonwrapping_iv): Use derive_constant_upper_bound to
bound the number of iterations estimate.
(estimate_numbers_of_iterations_loop): Pass the estimate from
the number of iterations analysis to record_estimate.
* tree.h (multiple_of_p): Declare.
* tree-scalar-evolution.c (expression_expensive_p): Removed.
(scev_const_prop): Do not check expression_expensive_p.
* fold-const.c (multiple_of_p): Exported.
* double-int.c (double_int_mask): Exported.
* double-int.h (double_int_mask): Declare.
* tree-flow.h (struct tree_niter_desc): Removed additional_info
field. Added max field.
* gcc.dg/tree-ssa/loop-26.c: New test.
From-SVN: r122896
2007-03-13 David Taylor <taylor@candd.org>
PR driver/12448:
* gcc.c (cpp_unique_options): If -MT or -MQ is seen, don't pass
default -MQ.
From-SVN: r122889
* configure.ac: Test for assembler tolerance to # 0 "".
* configure, config.in: Rebuilt.
* final.c (final_scan_insn): Emit it if HAVE_AS_LINE_ZERO.
From-SVN: r122879
* config/rs6000/darwin-fallback.c: Compile file only on powerpc.
(handle_syscall): Handle direct system calls.
* config/rs6000/darwin.h (HAS_MD_FALLBACK_FRAME_STATE_FOR): Delete.
From-SVN: r122877