PR fortran/23373
* trans-expr.c (gfc_trans_pointer_assignment): Assign to a temporary
descriptor if the rhs is not a null pointer or variable.
From-SVN: r104029
2005-09-07 Jerry DeLisle <jvdelisle@verizon.net>
PR libfortran/23760
* gfortran.dg/g77/1832.f: Remove long string in write statement
to allow the test to pass on correct list directed output with
prepended space.
From-SVN: r104027
PR libfortran/23262
* acinclude.m4 (LIBGFOR_CHECK_CRLF): New check.
* configure.ac: Use new check.
* configure.in: Regenerate.
* config.h.in: Regenerate.
* configure: Regenerate.
* io/transfer.c (next_record_w): Add case for CRLF as line
terminator.
* io/unix.c (tempfile, regular_file): Open files with
O_BINARY on systems with CRLF.
From-SVN: r104009
2005-09-07 Thomas Koenig <Thomas.Koenig@online.de>
PR fortran/20848
* symbol.c(check_conflict): Add conflict for parameter/save,
2005-09-07 Thomas Koenig <Thomas.Koenig@online.de>
PR fortran/20848
* gfortran.dg/parameter+save.f90: New test case.
From-SVN: r104005
2005-09-08 Andrew Pinski <pinskia@physics.uc.edu>
* tree-vrp.c (extract_range_from_expr): Move the check for non
nullness after the check for gimple invariant.
From-SVN: r104002
2005-09-07 Andreas Krebbel <krebbel1@de.ibm.com>
* reload1.c (fixup_eh_region_note): Remove assertion.
(fixup_abnormal_edges): Reverted removal of call to
find_many_sub_basic_blocks made on 2005-08-31.
From-SVN: r103984
PR fortran/19269
* simplify.c (gfc_simplify_transpose): Set the result's typespec from
the source, not the first element of the return value.
From-SVN: r103982
PR c/23075
* c-typeck.c (c_finish_return): Set TREE_NO_WARNING on RETURN_EXPR
if "return with no value, in function returning non-void" warning
has been issued.
* tree-cfg.c (execute_warn_function_return): Don't look at
RETURN_EXPRs with TREE_NO_WARNING set.
* typeck.c (check_return_expr): Add no_warning argument. Set
*no_warning to true if "return-statement with no value, in function
returning" warning has been issued.
* cp-tree.h (check_return_expr): Adjust prototype.
* semantics.c (finish_return_stmt): Set TREE_NO_WARNING if
check_return_expr set *no_warning to true.
* gcc.dg/pr23075.c: New test.
* g++.dg/warn/pr23075.C: New test.
From-SVN: r103967
PR target/22362
* config/i386/i386.c (ix86_function_regparm): Make sure automatic regparm
for internal functions doesn't use registers used by global registers
variables. Use fewer register parameters if there are global register
variables.
* gcc.target/i386/pr22362.c: New test.
From-SVN: r103964
PR middle-end/14997
* expr.c (expand_expr_real) <normal_inner_ref>: Force op0 to mem
when we would be extracting outside its bit span (bitpos+bitsize
larger than its mode), possible with some VIEW_CONVERT_EXPRs from
Ada unchecked conversions.
Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
From-SVN: r103963
* tree-ssa-pre.c (try_look_through_load): New function.
(compute_avail): Use it to try to look through loads for some
more useful expressions.
From-SVN: r103956
2005-09-06 Andrew Pinski <pinskia@physics.uc.edu>
* java-gimplify.c (java_gimplify_block): NULL out the old BLOCK's
BLOCK_EXPR_BODY before returning the new BIND_EXPR.
From-SVN: r103950
* cp-tree.h (rvalue): New function.
* call.c (build_conditional_expr): Use it.
* init.c (build_new_1): Likewise.
* rtti.c (build_dynamic_cast_1): Likewise.
* tree.c (rvalue): New function.
* typeck.c (build_unary_op): Use it.
(build_static_cast_1): Likewise.
* g++.dg/expr/cast6.C: New test.
PR c++/9782
* init.c (build_new_1): Make sure the entire array type is
complete, not just its element types.
PR c++/9782
* g++.dg/init/new15.C: New test.
From-SVN: r103947
* common.opt: Add option ftree-vect-loop-version.
* params.def: Add --param vect-max-version-checks.
* doc/invoke.texi: Document ftree-vect-loop-version and
--param vect-max-version-checks.
* tree-vectorizer.h (_loop_vec_info): Add ptr_mask and
may_misalign_stmts and defines for accessors.
* tree-vectorizer.c : (new_loop_vec_info): VEC_alloc for
LOOP_VINFO_MAY_MISALIGN_STMTS.
(destroy_loop_vec_info): VEC_free for
LOOP_VINFO_MAY_MISALIGN_STMTS.
* tree-vect-analyze.c (vect_compute_data_ref_alignment):
Update documentation.
(vect_update_misalignment_for_peel): New.
(vect_enhance_data_refs_alignment): Update to choose loop
peeling or loop versioning if appropriate for the (potentially)
unaligned data references in the loop.
(vect_analyze_data_refs_alignment): Remove call to
vect_enhance_data_refs_alignment so the checks can be done
earlier.
(vect_analyze_loop): Add call to vect_enhance_data_refs_alignment
and move up call to vect_analyze_data_refs_alignment.
* tree-vect-transform.c (vect_create_cond_for_align_checks): New.
(vect_transform_loop): Add call to loop_version.
From-SVN: r103941
PR c++/21440
* semantics.c (finish_stmt_expr_expr): Add an explicit
initialization to the last statement in the statement-expression.
* (finish_stmt_expr): Adjust accordingly.
PR c++/21440
* g++.dg/ext/stmtexpr5.C: New test.
* g++.dg/ext/stmtexpr6.C: Likewise.
From-SVN: r103911