]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/testsuite/ChangeLog
Fix fortran scalar elemental dependency mishandling
authormikael <mikael@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 5 Feb 2016 21:41:15 +0000 (21:41 +0000)
committermikael <mikael@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 5 Feb 2016 21:41:15 +0000 (21:41 +0000)
commit3a2545a18b36242908d5498ef7bd9e7a8aa96a10
tree6b50b567f3e7b484d1a22fbe37c2dcf74d0ad824
parent66feb54cdf22a430c0b228314b1a13899c225ce7
Fix fortran scalar elemental dependency mishandling

PR fortran/66089
gcc/fortran/
* trans-expr.c (expr_is_variable, gfc_expr_is_variable): Rename
the former to the latter and make it non-static.  Update callers.
* gfortran.h (gfc_expr_is_variable): New declaration.
(struct gfc_ss_info): Add field needs_temporary.
* trans-array.c (gfc_scalar_elemental_arg_saved_as_argument):
Tighten the condition on aggregate expressions with a check
that the expression is a variable and doesn't need a temporary.
(gfc_conv_resolve_dependency): Add intermediary reference variable.
Set the needs_temporary field.
gcc/testsuite/
* gfortran.dg/elemental_dependency_6.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233188 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/fortran/ChangeLog
gcc/fortran/trans-array.c
gcc/fortran/trans-expr.c
gcc/fortran/trans.h
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/elemental_dependency_6.f90 [new file with mode: 0644]