re PR fortran/25746 (Elemental assignment gives wrong result)
authorPaul Thomas <pault@gcc.gnu.org>
Sun, 21 May 2006 07:35:05 +0000 (07:35 +0000)
committerPaul Thomas <pault@gcc.gnu.org>
Sun, 21 May 2006 07:35:05 +0000 (07:35 +0000)
commit476220e7ee32d83c829ec76b7dcf2ccd9000b3bf
tree878bb615e69fdec9b7bc4f6adf7213bd3d53693f
parent80980ba989e054549ac5172f1d95cd0d8c247ab6
re PR fortran/25746 (Elemental assignment gives wrong result)

2006-05-21  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/25746
* interface.c (gfc_extend_assign): Use new code EXEC_ASSIGN_CALL.
* gfortran.h : Put EXEC_ASSIGN_CALL in enum.
* trans-stmt.c (gfc_conv_elemental_dependencies): New function.
(gfc_trans_call): Call it.  Add new boolian argument to flag
need for dependency checking. Assert intent OUT and IN for arg1
and arg2.
(gfc_trans_forall_1): Use new code EXEC_ASSIGN_CALL.
trans-stmt.h : Modify prototype of gfc_trans_call.
trans.c (gfc_trans_code): Add call for EXEC_ASSIGN_CALL.
st.c (gfc_free_statement): Free actual for EXEC_ASSIGN_CALL.
* dependency.c (gfc_check_fncall_dependency): Don't check other
against itself.

PR fortran/25090
* resolve.c : Remove resolving_index_expr.
(entry_parameter): Remove.
(gfc_resolve_expr, resolve_charlen, resolve_fl_variable): Remove
calls to entry_parameter and references to resolving_index_expr.

PR fortran/27584
* check.c (gfc_check_associated): Replace NULL assert with an
error message, since it is possible to generate bad code that
has us fall through to here..

PR fortran/19015
* iresolve.c (maxloc, minloc): If DIM is not present, pass the
rank of ARRAY as the shape of the result.  Otherwise, pass the
shape of ARRAY, less the dimension DIM.
(maxval, minval): The same, when DIM is present, otherwise no
change.

2006-05-21  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/25746
* gfortran.dg/elemental_subroutine_3.f90: New test.

PR fortran/25090
* gfortran.dg/entry_dummy_ref_1.f90: Remove.

PR fortran/27584
* gfortran.dg/associated_target_1.f90: New test.

PR fortran/19015
* gfortran.dg/maxloc_shape_1.f90: New test.

From-SVN: r113949
16 files changed:
gcc/fortran/ChangeLog
gcc/fortran/check.c
gcc/fortran/dependency.c
gcc/fortran/gfortran.h
gcc/fortran/interface.c
gcc/fortran/iresolve.c
gcc/fortran/resolve.c
gcc/fortran/st.c
gcc/fortran/trans-stmt.c
gcc/fortran/trans-stmt.h
gcc/fortran/trans.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/associated_target_1.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/elemental_subroutine_3.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/entry_dummy_ref_1.f90 [deleted file]
gcc/testsuite/gfortran.dg/maxloc_shape_1.f90 [new file with mode: 0644]