aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/module.c
diff options
context:
space:
mode:
authorTobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>2005-02-08 14:41:08 +0100
committerTobias Schlüter <tobi@gcc.gnu.org>2005-02-08 14:41:08 +0100
commiteac33acc64dff662c59c194ebb19d67ca6790272 (patch)
tree88335b706b5071f059bdce822601ba05626dffcf /gcc/fortran/module.c
parent81122c446d94ea3f12fae0f28d6b436c577633d2 (diff)
downloadgcc-eac33acc64dff662c59c194ebb19d67ca6790272.zip
gcc-eac33acc64dff662c59c194ebb19d67ca6790272.tar.gz
gcc-eac33acc64dff662c59c194ebb19d67ca6790272.tar.bz2
expr.c (gfc_copy_expr): Don't copy 'op1' and 'op2' for EXPR_SUBSTRING.
fortran/ * expr.c (gfc_copy_expr): Don't copy 'op1' and 'op2' for EXPR_SUBSTRING. (gfc_is_constant_expr): Check 'ref' to determine if substring reference is constant. (gfc_simplify_expr): Simplify 'ref' instead of 'op1' and 'op2'. (check_init_expr, check_restricted): Check 'ref' instead of 'op1' and 'op2'. * module.c (mio_expr): Read / write 'ref' instead of 'op1' and 'op2'. testsuite/ * gfortran.dg/substr_1.f90: New test. From-SVN: r94735
Diffstat (limited to 'gcc/fortran/module.c')
-rw-r--r--gcc/fortran/module.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/fortran/module.c b/gcc/fortran/module.c
index 3670a3a..12d52c4 100644
--- a/gcc/fortran/module.c
+++ b/gcc/fortran/module.c
@@ -2483,8 +2483,7 @@ mio_expr (gfc_expr ** ep)
case EXPR_SUBSTRING:
e->value.character.string = (char *)
mio_allocated_string (e->value.character.string);
- mio_expr (&e->op1);
- mio_expr (&e->op2);
+ mio_ref_list (&e->ref);
break;
case EXPR_STRUCTURE: