PR fortran/15620
commitdbe603430d8925eb27f586333e14f95dc86db7af
authorpbrook <pbrook@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 30 May 2004 14:37:25 +0000 (30 14:37 +0000)
committerpbrook <pbrook@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 30 May 2004 14:37:25 +0000 (30 14:37 +0000)
tree00a8818dcf5ba37c109c3fc7ee836662eddd859e
parent6c4d3b20f9730a4cd48d43dff1e30ba781cab365
PR fortran/15620
* trans-decl.c (gfc_shadow_sym, gfc_restore_sym): New functions.
* trans-expr.c (gfc_trans_string_copy): New function.
(gfc_conv_statement_function): Use them.  Create temp vars.  Enforce
character lengths.
(gfc_conv_string_parameter): Use gfc_trans_string_copy.
* trans-stmt.c (gfc_trans_forall_1): Use gfc_{shadow,restore}_sym.
* trans.h (struct gfc_saved_var): Define.
(gfc_shadow_sym, gfc_restore_sym): Add prototypes.
testsuite/
* gfortran.fortran-torture/execute/st_function_1.f90: New test.
* gfortran.fortran-torture/execute/st_function_2.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@82452 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/fortran/ChangeLog
gcc/fortran/trans-decl.c
gcc/fortran/trans-expr.c
gcc/fortran/trans-stmt.c
gcc/fortran/trans.h
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.fortran-torture/execute/st_function_1.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.fortran-torture/execute/st_function_2.f90 [new file with mode: 0644]