re PR fortran/45159 (Unnecessary temporaries)
authorThomas Koenig <tkoenig@gcc.gnu.org>
Thu, 28 Mar 2013 21:30:26 +0000 (21:30 +0000)
committerThomas Koenig <tkoenig@gcc.gnu.org>
Thu, 28 Mar 2013 21:30:26 +0000 (21:30 +0000)
commiteab19a1a95cfba787426931c9cb264a50f4983e4
treede0dd9008c209a681b4e6c663313253716f5df2d
parent4099436d98dcdd96a0cbfd4332da1ddc961ba7f7
re PR fortran/45159 (Unnecessary temporaries)

2013-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/45159
* gfortran.h (gfc_dep_difference):  Add prototype.
* dependency.c (discard_nops):  New function.
(gfc_dep_difference):  New function.
(check_section_vs_section):  Use gfc_dep_difference
to calculate the difference of starting indices.
* trans-expr.c (gfc_conv_substring):  Use
gfc_dep_difference to calculate the length of
substrings where possible.

2013-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/45159
* gfortran.dg/string_length_2.f90:  New test.
* gfortran.dg/dependency_41.f90:  New test.

From-SVN: r197217
gcc/fortran/ChangeLog
gcc/fortran/dependency.c
gcc/fortran/gfortran.h
gcc/fortran/trans-expr.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/dependency_41.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/string_length_2.f90 [new file with mode: 0644]