diff options
-rw-r--r-- | gcc/fortran/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/fortran/simplify.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/simplify_cshift_2.f90 | 10 |
4 files changed, 21 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index b61e7c0..0c81201 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2015-11-22 Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/68486 + * simplify.c (gfc_simplify_cshift): Add EXPR_OP to mix. + 2015-11-22 James Norris <jnorris@codesourcery.com> Steven G. Kargl <kargl@gcc.gnu.org> diff --git a/gcc/fortran/simplify.c b/gcc/fortran/simplify.c index 665ea82..b9c4039 100644 --- a/gcc/fortran/simplify.c +++ b/gcc/fortran/simplify.c @@ -1811,6 +1811,7 @@ gfc_simplify_cshift (gfc_expr *array, gfc_expr *shift, gfc_expr *dim) { case EXPR_VARIABLE: case EXPR_ARRAY: + case EXPR_OP: a = gfc_copy_expr (array); gfc_simplify_expr (a, 0); if (!is_constant_array_expr (a)) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f3e9618..0e0b74f 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2015-11-22 Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/68486 + * gfortran.dg/simplify_cshift_2.f90: New test. + 2015-11-22 James Norris <jnorris@codesourcery.com> Cesar Philippidis <cesar@codesourcery.com> diff --git a/gcc/testsuite/gfortran.dg/simplify_cshift_2.f90 b/gcc/testsuite/gfortran.dg/simplify_cshift_2.f90 new file mode 100644 index 0000000..04a6155 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/simplify_cshift_2.f90 @@ -0,0 +1,10 @@ +! { dg-do compile } +subroutine foo(u, n, fl) + implicit none + integer n + real u(5, n), fl(5,n), wl(5,n) + real c + c = 1 + wl = u + fl = cshift(c * wl, 1, 2) +end subroutine foo |